GitVoyant v0.3.0. Temporal code intelligence now runs across Python, JavaScript, Java, and Go. Four language-specific analyzers behind a single protocol. Tree-sitter for unified AST parsing. Automatic language detection. Static analysis tells you a file is complex. GitVoyant tells you whether that complexity is growing, shrinking, or stable, and at what rate. https://lnkd.in/g4fNbdRg
GitVoyant v0.3.0: Temporal Code Intelligence Across Python, JavaScript, Java, and Go
More Relevant Posts
-
Embabel treats LLMs as participants in strongly typed workflows — not black boxes — and the Spring creator Rod Johnson spring says that gives Java developers an edge Python can't match. By Darryl Taft
To view or add a comment, sign in
-
Every insight Potpie delivers about your codebase starts with parsing. Our context engine builds a complete map of your codebase: its structure, its components, its relationships into a knowledge graph that agents can use to navigate and query code faster. Currently, it supports more than 15+ languages including python, typescript, java etc. We understand that parsing large repositories is inherently time-consuming, but it shouldn't slow you down. That's exactly why we rebuilt this critical functionality in Rust: to make understanding your codebase faster, without any performance compromise. Our benchmarks show approximately 30% faster parsing for repositories with 1M+ lines of code, with the performance gap expected to grow significantly for larger codebases. Looking ahead, we plan to introduce parallelization of the parsing pipeline to use multi-core threading for processing files simultaneously without Python's GIL constraints. This allows us to handle enterprise-scale repositories with sub-minute indexing times.
To view or add a comment, sign in
-
🔄 I shipped production Python after six years in Swift, a detour through Elixir, and months arguing Java was the right foundation. Two weeks in. The question everyone gets wrong isn't how fast you can learn a new syntax—it's whether you understand the concepts well enough that syntax becomes almost irrelevant. Turns out, when you know what you're building, the language is just the vehicle. Full story: https://lnkd.in/dUsXDgfa #Engineering #Programming #Career #Learning #Judgment
To view or add a comment, sign in
-
Running Python inside the JVM is cool. 𝙄’𝙢 𝙣𝙤𝙩 𝙘𝙤𝙣𝙫𝙞𝙣𝙘𝙚𝙙 𝙞𝙩’𝙨 𝙪𝙨𝙚𝙛𝙪𝙡. 𝙔𝙚𝙩. I tried Project Detroit, and technically — it delivers. You can call Python from Java. Python can call back into Java. Same process. No network hop. That part works. But the thing that actually matters right now? 𝗡𝗼 𝗽𝗶𝗽. 𝗡𝗼 𝗡𝘂𝗺𝗣𝘆. 𝗡𝗼 𝗣𝘆𝗧𝗼𝗿𝗰𝗵. 𝗡𝗼 𝗿𝗲𝗮𝗹 𝗠𝗟 𝘀𝘁𝗮𝗰𝗸. 𝘿𝙚𝙩𝙧𝙤𝙞𝙩 𝙞𝙨𝙣’𝙩 𝙨𝙤𝙡𝙫𝙞𝙣𝙜 𝘼𝙄 𝙞𝙣𝙩𝙚𝙜𝙧𝙖𝙩𝙞𝙤𝙣 𝙩𝙤𝙙𝙖𝙮. It’s redefining what the boundary between runtimes could look like. And that raises some uncomfortable questions: 𝘋𝘰 𝘸𝘦 𝘢𝘤𝘵𝘶𝘢𝘭𝘭𝘺 𝘸𝘢𝘯𝘵 𝘵𝘰 𝘳𝘦𝘮𝘰𝘷𝘦 𝘵𝘩𝘦 𝘱𝘳𝘰𝘤𝘦𝘴𝘴 𝘣𝘰𝘶𝘯𝘥𝘢𝘳𝘺? 𝘖𝘳 𝘥𝘰𝘦𝘴 𝘵𝘩𝘢𝘵 𝘣𝘰𝘶𝘯𝘥𝘢𝘳𝘺 𝘦𝘹𝘪𝘴𝘵 𝘧𝘰𝘳 𝘨𝘰𝘰𝘥 𝘳𝘦𝘢𝘴𝘰𝘯𝘴 — 𝘪𝘴𝘰𝘭𝘢𝘵𝘪𝘰𝘯, 𝘴𝘤𝘢𝘭𝘪𝘯𝘨, 𝘧𝘢𝘪𝘭𝘶𝘳𝘦 𝘤𝘰𝘯𝘵𝘳𝘰𝘭? Because once everything runs in one process, you don’t just gain performance… You also inherit each other’s problems. Right now: 𝘯𝘰𝘵 𝘱𝘳𝘰𝘥𝘶𝘤𝘵𝘪𝘰𝘯-𝘳𝘦𝘢𝘥𝘺. 𝘕𝘰𝘵 𝘦𝘷𝘦𝘯 𝘤𝘭𝘰𝘴𝘦. But if they crack the Python ecosystem problem, this stops being a demo and starts becoming architecture.
To view or add a comment, sign in
-
Every time I opened a new Java project in VS Code, I had to set it up from scratch. I work across multiple Java repositories. IntelliJ is my main IDE, but I use VS Code and Cursor for quick navigation and AI-first coding. Lighter. Always ready. But it doesn't pick up IntelliJ configs automatically. So every new project meant: - Mapping source folders manually - Fixing JAR paths - Setting the JDK again Same steps every time. So I tried something different. Instead of writing a script, I wrote a Markdown file. Step-by-step instructions telling the AI exactly what to do. A small snippet from the file: - Check .idea at root only (ignore subdirs) - Extract source roots from .iml files - Map them to java.project.sourcePaths Now I just type /java-vscode-setup in VS Code or Cursor Agent. The AI scans the project. Generates the correct settings.json. Confirms changes before applying them. No scripts. No extra tools. Just clear instructions. This changed how I think about automation. Instead of writing scripts to do the work, you write instructions that guide the AI to do it. Same result. Less hassle. Works across every repo. Could I have done this with a Python script? Yes. But I'm already in Claude or Cursor anyway. So I built it where I work. Still experimenting with this approach. Curious - what task have you turned into a slash command? #AI #Cursor #Claude #VSCode #DevTools
To view or add a comment, sign in
-
Python vs Java — It’s not just syntax, it’s how they THINK Most beginners compare these two based on ease or popularity… But the real difference lies in how your code actually runs behind the scenes. 🔹 Python → Interpreted, flexible, fast to build 🔹 Java → Compiled + JVM, structured, performance-focused 👉 Python converts code to bytecode and executes it via an interpreter 👉 Java compiles first, then runs on JVM with JIT optimization Same goal. Different journey. 💡 So the real question isn’t “Which is better?” It’s “Which one fits your use case?” – Want quick development & AI/ML? → Python – Building scalable systems & apps? → Java 🎯 Smart developers don’t pick sides. They pick the right tool. 🚀 Follow Skillected for more real-world tech breakdowns 💬 Comment below: Python or Java — what’s your pick and why?
To view or add a comment, sign in
-
-
Are you a C# developer tired of figuring out what your AI agent just scripted? Reviewing code you're about to run, switching context to Python or JavaScript, mentally translating from one to C# and hoping it does what you assume? What if your agent just wrote C#, the language you've been writing all day? In this article I look at .NET 10's file-based scripting with dotnet run file.cs, how it compares to Python and PowerShell, and how you can teach your AI agent to use it with a simple skill file. One config change and every script your agent writes is code you can read at a glance, without switching languages. https://lnkd.in/eem84zg9
To view or add a comment, sign in
-
Most developers are not slowed down by bad code. They are slowed down by bad thinking. Not syntax. Not framework choice. Not whether the project uses Java, Go, or Python. The real damage usually comes earlier: - no clear boundaries - too many dependencies in one request path - retries added without thinking - APIs designed around convenience instead of failure - teams optimizing for feature speed over system clarity That’s why some codebases feel heavy even before they get big. The problem is not always technical debt. Sometimes it’s decision debt. And that is much harder to fix. Debate: What does more long-term damage to software teams? A) bad code B) bad architecture C) bad product decisions D) bad debugging habits My vote: B first, C second. What’s yours? #Java #SoftwareArchitecture #Microservices #DistributedSystems #BackendEngineering
To view or add a comment, sign in
-
Your unittest.mock is lying to you. Tests pass in CI, production breaks, and nobody knows why. The problem? Hand-written mocks drift from the real API silently. I've been contributing to the Microcks open-source ecosystem, and I want to share my latest work on Microcks Testcontainers https://lnkd.in/edzprW5k family for Python. Microcks Testcontainers takes a different approach: your OpenAPI spec becomes the mock. Load it into a Microcks container inside your test suite, and it: - Mocks your dependencies using spec-defined examples - Contract tests your implementation against the spec - Catches API drift automatically I also built a demo app with Flask showing the pattern end-to-end. Library: https://lnkd.in/eXyXwpnB Demo app (Flask): https://lnkd.in/eRhXfKeZ Full step-by-step guide: https://lnkd.in/eBvxUJy8 #Python #Testing #Microservices #API #OpenAPI
To view or add a comment, sign in
-
As a long-time Java engineer, I continue to be impressed by how much Python has evolved. What once felt like a simple scripting language has grown into a remarkably capable ecosystem: C-backed libraries like NumPy, performance-oriented tooling in Rust, native coroutine support with async and await, and multiple concurrency models for very different workloads. One thing I find especially interesting is Python’s concurrency toolbox. Choosing the right model usually comes down to one question: What is your code actually waiting on? If your program is mostly waiting on the network, a database, or disk, you are likely dealing with an I/O-bound problem. In that case, asyncio can be a strong fit when the surrounding stack is async-native. If your program spends most of its time computing, parsing, or transforming data, you are likely dealing with a CPU-bound problem. In standard CPython, threads usually do not speed up pure Python CPU work because of the GIL. For that, multiprocessing is often the better fit. A few practical rules I keep in mind: • asyncio for high-concurrency I/O with async-native libraries • threads for blocking libraries or simpler concurrency • multiprocessing for CPU-heavy pure Python workloads • threads with native libraries when heavy work runs in C or Rust A good example is PyArrow and PyIceberg. PyArrow’s Parquet reader supports multi-threaded reads. That means you can get parallelism without rewriting everything around asyncio, because the heavy work happens in native code rather than Python bytecode. PyIceberg builds on this ecosystem. From the Python caller’s point of view, the workflow is still synchronous, while file access and data processing can benefit from native parallelism underneath. The key lesson for me: Not every high-performance I/O workflow in Python needs asyncio. If the underlying engine is native and already parallelizes efficiently, threads can be the right tool. If the stack is async-native, asyncio becomes much more compelling. A simple mental model: Async-native I/O → asyncio Native libraries parallelizing outside Python → threads CPU-heavy pure Python → multiprocessing Not sure → profile first That mindset is often more useful than memorizing any specific framework. #Python #Java #Concurrency #AsyncIO #Threading #Multiprocessing #Performance #SoftwareEngineering #DataEngineering
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
the distinction between static complexity vs. complexity trajectory is underrated — knowing something IS complex is table stakes, knowing it's getting worse is actually actionable 🎯 really interesting use of Tree-sitter for cross-language AST parsing, that's a clean abstraction layer.