Skip to main content

N3MO: The Impact Tracker

Project description

N3MO In Action

N3MO Banner PyPI version License: PolyForm Noncommercial 1.0.0 Python Docker Status MCP Registry CI

A structural code intelligence layer that transforms source code into a queryable knowledge graph for search, impact analysis, and AI-powered development.

Parse once. Query forever. Know exactly what breaks before it does.

๐Ÿ“œ Licensed under PolyForm Noncommercial 1.0.0 โ€” Source available for noncommercial use. โ€ข Need commercial use? Get a commercial license โ†’

What is N3MO โ€ข Architecture โ€ข Installation โ€ข GitHub Integration โ€ข Usage โ€ข Benchmarks โ€ข Roadmap


๐ŸŽฏ What is N3MO?

N3MO is a symbol-centric code intelligence layer. Instead of scanning raw text, it parses your source code's ASTs, maps call graphs, and models dependencies in a queryable relational database.

For engineering leaders and teams, N3MO acts as a structural insurance policy for your codebases.

๐Ÿ’ก Why N3MO?

  • ๐Ÿ›ก๏ธ Eliminate Regression Risks: Utility functions are rarely refactored because developers fear unknown side effects. N3MO maps the transitive blast radius of any symbol to arbitrary depth, showing you exactly what will break before you make the edit.
  • ๐ŸŽ๏ธ Rapid Developer Onboarding: Instead of senior engineers spending hours explaining codebase flow to new hires, developers can run one command to visualize complex call chains and parent-child dependencies interactively.
  • ๐Ÿค– AI-Agent Ready Infrastructure: Modern LLM agents (Cursor, Claude Desktop) are limited by context windows and text search. N3MO's native MCP server lets AI agents query the actual code graph, enabling fast, hallucination-free refactoring.

๐Ÿ“Š How N3MO Compares

Capability Grep / Text Search IDE "Find References" N3MO Code Graph
Analysis Basis Substring matching AST-based, direct refs only Relational knowledge graph
Transitive Traversal โŒ None โŒ Manual, one level at a time โšก Instant to arbitrary depth
Blast Radius Mapping โŒ None โŒ Flat search-result list ๐ŸŽจ Interactive visual orbit map
CI/CD Integration โŒ None โŒ Bound to IDE runtime โš™๏ธ Dockerized CLI + CTE queries
AI Agent Integration โŒ Injected file chunks โš ๏ธ Manual context copy ๐Ÿค– Native MCP server
Language Coverage โœ… Any text file โš ๏ธ Language-specific plugins โœ… 27 languages via Tree-sitter

๐Ÿ› ๏ธ The Core Problem N3MO Solves

โŒ Without N3MO

Developer: "Where does 'login' appear?"
Tool:      grep -r "login" .
Result:    647 matches across 89 files
           ...now what?

โœ… With N3MO

Developer: "What breaks if I change login?"
Tool:      n3mo impact "login"
Result:    3 direct callers โ†’ 5 ripple effects
           Full blast radius in < 50ms

N3MO doesn't find text โ€” it understands structure. It traces the actual call graph, not string matches.

Questions N3MO answers instantly:

Question How
๐Ÿ”Ž What functions and classes exist in this repo? Full symbol index across 27 languages
๐ŸŽฏ Where is this symbol used โ€” directly and transitively? Recursive CTE traversal to arbitrary depth
๐Ÿ’ฅ What is the blast radius of changing this function? Interactive orbit map with depth slider
๐Ÿ•ธ๏ธ How do these components actually connect? Call graph + parent-child hierarchy
๐Ÿค– Can my AI agent understand this codebase structurally? Native MCP server for Cursor / Claude

๐Ÿ—๏ธ Architecture

Knowledge graph model

N3MO builds a symbol-centric knowledge graph stored in PostgreSQL:

graph TD
    A["๐Ÿ“„ Source Code"] -->|Tree-sitter| B["๐ŸŒณ AST Parser"]
    B --> C["๐Ÿ” Symbol Extractor"]
    D["๐Ÿ”„ Git Hooks"] -->|post-commit| A

    C --> E[("๐Ÿ—„๏ธ PostgreSQL<br/>Projects ยท Symbols ยท Calls<br/>Imports ยท Files")]

    E --> F["๐Ÿ’ฅ Impact Analysis"]
    E --> G["๐Ÿ“ž Call Graph"]
    E --> H["๐Ÿ“Š Dependency Graph"]

    F --> I["๐ŸŽจ Visualizer"]
    G --> I
    H --> I

    F --> J["๐Ÿค– MCP Server"]

    style A fill:#6c63ff,stroke:#4a3fbf,color:#fff
    style B fill:#7c74ff,stroke:#4a3fbf,color:#fff
    style C fill:#7c74ff,stroke:#4a3fbf,color:#fff
    style D fill:#ffd93d,stroke:#d4b800,color:#1a202c
    style E fill:#ff6b6b,stroke:#c53030,color:#fff,stroke-width:3px
    style F fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
    style G fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
    style H fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
    style I fill:#9ae6b4,stroke:#2f855a,color:#1a202c
    style J fill:#ffd93d,stroke:#d4b800,color:#1a202c

System flow

sequenceDiagram
    participant User as User / CI
    participant CLI as N3MO CLI
    participant DB as PostgreSQL (Docker)
    participant Viz as Graph Visualizer

    rect rgb(26, 27, 46)
    Note over User, DB: Indexing Flow (Local CLI)
    User->>CLI: n3mo index
    CLI->>DB: Start PostgreSQL container (if not running)
    CLI->>CLI: Walk file tree (SHA-256 hash checks)
    CLI->>CLI: Parse AST (Tree-sitter, multiprocessing)
    CLI->>DB: Batch insert symbols, calls, imports
    CLI->>DB: Resolve imports & call links
    DB-->>CLI: Success
    CLI-->>User: Complete summary
    end

    rect rgb(26, 27, 46)
    Note over User, Viz: Query & Visualization Flow
    User->>CLI: n3mo impact "symbol" --graph
    CLI->>DB: Recursive CTE traversal (depth & file filters)
    DB-->>CLI: Blast radius subgraph
    CLI->>Viz: Generate orbital vis.js HTML
    CLI->>User: Launch local web server & open browser
    end

Data model

erDiagram
    PROJECT ||--o{ SYMBOL : contains
    PROJECT ||--o{ CALL : tracks
    PROJECT ||--o{ IMPORT : tracks
    PROJECT ||--o{ FILE : indexes
    SYMBOL ||--o{ CALL : "source of"
    SYMBOL ||--o{ CALL : "resolved to"
    SYMBOL ||--o{ SYMBOL : "parent of"

    PROJECT {
        uuid id PK
        text name
        text repo_url
        timestamp created_at
    }
    SYMBOL {
        uuid id PK
        uuid project_id FK
        text name
        text file_path
        text kind "function|class|method"
        text signature
        int start_line
        int end_line
        uuid parent_id FK
    }
    CALL {
        uuid id PK
        uuid project_id FK
        uuid source_symbol_id FK
        text call_name
        int line_number
        uuid resolved_symbol_id FK
    }
    IMPORT {
        uuid id PK
        uuid project_id FK
        text file_path
        text module
        text name
        text alias
        uuid resolved_symbol_id FK
    }
    FILE {
        uuid project_id FK
        text file_path PK
        text sha256
    }

โœจ Core Capabilities

Ingestion & Parsing

  • Multi-language support โ€” 27 languages via dynamic Tree-sitter grammar loading (Python, JS/TS, Go, Rust, Java, C/C++, C#, Kotlin, Swift, Scala, Ruby, PHP, Haskell, Perl, and more)
  • Parallel AST ingestion โ€” ProcessPoolExecutor distributes CPU-bound parsing across all available cores
  • Incremental re-indexing โ€” SHA-256 file hashing skips unchanged files automatically
  • Idempotent operations โ€” re-indexing updates existing data without duplication
  • Smart exclusions โ€” case-insensitive directory filters and camelCase-aware filename checks prevent false positives (e.g. allows contest.py while skipping test_*.py)

Analysis & Querying

  • Symbol extraction โ€” functions, classes, methods with full file path + line context
  • Hierarchical modeling โ€” parent-child relationships (Module โ†’ Class โ†’ Method)
  • Call graph construction โ€” who calls whom, resolved at ingestion time
  • Scope-aware resolution โ€” class scope > local file > imports > qualified dot paths > global
  • Blast radius analysis โ€” recursive CTE traversal to arbitrary depth with cycle guards

Performance

  • Connection pooling โ€” ThreadedConnectionPool eliminates per-symbol DB round trips
  • Batch inserts โ€” symbols, imports, and calls batched per file in single transactions
  • Optimized queries โ€” SPLIT_PART fix delivered a 2ร— speedup on call resolution

Visualization & Integration

  • Interactive graph โ€” vis.js orbit map with click-to-inspect nodes, sidebar, and depth slider
  • Dark mode โ€” toggleable canvas dark mode with real-time node/edge updates, persisted in localStorage
  • Premium styling โ€” sleek interactive dashboard landing page UI and graph visualizer styled with Bricolage Grotesque, Inter, and JetBrains Mono typography
  • SKILL.md profile โ€” system instructions to configure Claude as an impact-aware coding agent
  • Native MCP server โ€” first-class integration with Cursor, Claude Desktop, and Windsurf
  • Git hooks โ€” automatic re-indexing on every commit
  • CI pipeline โ€” GitHub Actions with linting (ruff), type checking (mypy), and pytest

๐ŸŒ Supported Languages

Python JavaScript TypeScript Go
Rust Java C C++
C# Kotlin Swift Scala
Ruby PHP Haskell Perl
Lua R Elixir Dart
Groovy PowerShell MATLAB Delphi
Bash Zig OCaml โ€ฆand more

๐Ÿš€ Installation

Prerequisites

Docker Python Git

Quick start

Install N3MO directly from PyPI:

# Install the package
pip install n3mo

# Start Docker containers & initialize the database
n3mo setup

Alternatively, for contributors running in editable mode:

git clone https://github.com/RajX-dev/N3MO.git
cd N3MO
pip install -e .
n3mo setup

๐Ÿค– Model Context Protocol (MCP)

N3MO includes a native MCP server that exposes repository analysis and graph traversal tools to LLM agents (like Claude, Cursor, or Windsurf).

Automatic Claude Desktop Setup

To automatically configure N3MO in your local Claude Desktop:

# Navigate to the workspace you want Claude to analyze, then run:
n3mo mcp install

This registers N3MO and sets up the paths automatically. Restart Claude Desktop and you're ready!

๐Ÿง  Claude Skill (System Instructions)

To configure Claude to run N3MO impact queries proactively before changing code in the editor, import or copy-paste the custom instructions from the SKILL.md profile.

Cursor Setup

To use N3MO in Cursor:

  1. Go to Settings -> Models -> MCP.
  2. Click + Add New MCP Server.
  3. Set the configuration details:
    • Name: n3mo
    • Type: command
    • Command: n3mo mcp start (or uvx n3mo mcp start to run directly)
    • Environment Variables: TARGET_CODE_DIR=/absolute/path/to/your/active/workspace
  4. Click Save, and Cursor will instantly be able to index and query your workspace blast radius.

โš“ GitHub Webhook Integration

If you wish to use N3MO for team collaboration and automated pull-request analysis in your CI/CD pipeline, please visit n3mo.shop to get started with our GitHub Webhook integration.

๐Ÿ’ฐ Pricing & Licensing

N3MO is free under the PolyForm Noncommercial 1.0.0 License for local usage and single-developer MCP integrations.

  • 100% Free & Local: Run CLI queries, local MCP integrations, and the visualizer with zero limits.
  • Enterprise Licensing: For large-scale organization deployments or commercial licensing terms, please reach out to the author.

๐Ÿ’ป Usage

Index a repository

# Navigate to any repository
cd /path/to/your/project

# Run the indexer
n3mo index

What gets indexed:

  • โœ… Source files in all 27 supported languages
  • โŒ Virtual environments (venv/, .venv/)
  • โŒ Dependencies (node_modules/, site-packages/)
  • โŒ Build artifacts (.git/, __pycache__/, dist/)
  • โŒ Test / fixture directories (tests/, mocks/, specs/)

Visualizer

Dark Mode โ€” Radial Layout

Dark Mode Radial Layout

Horizontal Tree View

Horizontal Tree View

Example terminal output:

  โ—ˆ IMPACT ANALYSIS
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Target:  authenticate_user
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

  โ—‰ Direct Callers  (3 symbols)

  โ–ธ login_endpoint             api/auth.py:12
  โ–ธ refresh_token              api/token.py:23
  โ–ธ validate_session           middleware/auth.py:89

  โ—Ž Ripple Effects  (5 symbols)

    โ•ฐโ”€โ–ธ POST /login              routes.py:67
    โ•ฐโ”€โ–ธ admin_login              admin/views.py:34
    โ•ฐโ”€โ–ธ require_auth             decorators.py:12
    โ•ฐโ”€โ–ธ dashboard_view           views/dashboard.py:8
    โ•ฐโ”€โ–ธ settings_view            views/settings.py:22

  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Total impacted: 8 references  โ”‚  depth โ‰ค 3

Dependency graph visualization

graph LR
    A[main.py] --> B[auth.py::login]
    A --> C[db.py::connect]
    B --> D[utils.py::hash_password]
    B --> E[models.py::User]
    C --> F[config.py::DB_URI]

    style A fill:#ff6b6b,stroke:#c92a2a,stroke-width:2px,color:#fff
    style B fill:#4ecdc4,stroke:#0ca89e,stroke-width:2px,color:#000
    style C fill:#45b7d1,stroke:#1098ad,stroke-width:2px,color:#000
    style D fill:#96ceb4,stroke:#63b598,stroke-width:2px,color:#000
    style E fill:#ffd93d,stroke:#f5c200,stroke-width:2px,color:#000
    style F fill:#e0e0e0,stroke:#a0a0a0,stroke-width:2px,color:#000

๐Ÿ› ๏ธ Technology Stack

Component Technology Purpose
Parser Tree-sitter Error-tolerant syntax analysis across 27 languages
Database PostgreSQL Relational graph storage + recursive CTE queries
Runtime Python Core logic + multiprocessing
Infrastructure Docker Containerization
Visualization JavaScript Interactive impact graph
AI Integration MCP Native tool for LLM agents

๐Ÿ“Š Benchmarks

All benchmarks measured on Intel i5-13450HX, 24 GB RAM, NVMe SSD.

Django โ€” Optimization History

Django is the primary benchmark target: 3,021 files, ~43k symbols, ~181k calls.

Django Index Time (minutes)
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

v0.3 Baseline       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ  23 min   1ร—
SPLIT_PART Fix      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                          11 min   2ร—
Batch Inserts       โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ                                        5 min   4.6ร—
+ Multiprocessing   โ–ˆโ–ˆโ–ˆโ–ˆ                                           2.5 min   9ร— ๐Ÿš€

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
Optimization Index Time Speedup What Changed
v0.3 baseline 23 min 1ร— Per-symbol DB inserts, naive call resolution
+ SPLIT_PART query fix 11 min 2ร— Eliminated redundant string splitting in call resolution
+ Batch inserts 5 min 4.6ร— Symbols, imports, and calls batched per file (1 transaction)
+ Multiprocessing ~2.5 min ~9ร— ProcessPoolExecutor distributes AST parsing across cores

โœ… All results are real measurements on the Django repository. Multiprocessing gains scale with core count.

ScanCode Toolkit โ€” Large Codebase

Tested on ScanCode Toolkit โ€” ~600k lines of Python.

Metric Result
Lines of code ~600,000
Full index time ~3 minutes
Processing mode Single-threaded (v0.3)

Incremental Re-Indexing

N3MO uses SHA-256 file hashing to skip unchanged files on subsequent runs.

Scenario Time Notes
Full index (first run) Baseline All files parsed and inserted
No changes (re-run) < 1 second Hash comparison only, zero DB writes
1 file modified < 2 seconds Only the changed file is re-parsed and upserted

These results are from the built-in benchmark script on a 20-file synthetic repository. Real-world incremental performance is proportional to the number of changed files, not the total repository size.

Query Performance

Impact analysis uses PostgreSQL recursive CTEs with cycle guards. Query times are independent of repository size โ€” they depend only on the size of the result subgraph.

Query Type Typical Latency
Direct callers of a symbol < 10 ms
Full blast radius (depth โ‰ค 5) < 50 ms
Complete graph traversal < 200 ms

Running the Benchmark

python benchmarks/benchmark_indexing.py

๐Ÿ—บ๏ธ Roadmap

All four development phases have been completed. N3MO is stable and actively maintained.

Development Timeline

Phase Component Status
Phase 1 โ€” Foundations
Docker setup โœ… Complete
Database schema โœ… Complete
Tree-sitter integration โœ… Complete
Symbol + call extraction โœ… Complete
Blast radius (recursive CTE) โœ… Complete
Interactive visualizer โœ… Complete
Phase 2 โ€” Performance
Connection pooling โœ… Complete
Batch DB operations (symbols/imports/calls) โœ… Complete
SPLIT_PART query optimization โœ… Complete
--file / --depth CLI flags โœ… Complete
Interactive depth slider โœ… Complete
Phase 3 โ€” Correctness & Scaling
Incremental re-index (file hashing) โœ… Complete
Multiprocessing (AST parsing) โœ… Complete
Scope-aware call resolution โœ… Complete
CTE cycle guard โœ… Complete
Full type annotations + mypy โœ… Complete
pytest suite + CI โœ… Complete
Multi-language support (27 languages) โœ… Complete
Phase 4 โ€” Distribution
MCP server (Cursor / Claude / Windsurf) โœ… Complete
Real-time git-hook indexing โœ… Complete
Phase 1: Foundations โœ… Complete
  • Docker environment (PostgreSQL)
  • Database schema โ€” Projects, Symbols, Calls, Imports tables
  • Tree-sitter parser integration
  • Symbol extractor with full AST traversal
  • Idempotent upsert logic
  • Blast radius via recursive CTE
  • Interactive vis.js visualizer
Phase 2: Performance โœ… Complete
  • psycopg2.pool.ThreadedConnectionPool โ€” replace per-call connections
  • execute_values() batch inserts for symbols, imports, and calls โ€” 1 transaction per file
  • SPLIT_PART query optimization for call resolution
  • --file and --depth CLI flags for targeted impact analysis
  • Interactive depth slider in visualizer

Results: Django (3,021 files, ~43k symbols, ~181k calls) โ€” 23min โ†’ 5min (4.6ร— faster)

Phase 3: Correctness + Scaling โœ… Complete
  • SHA-256 file hashing for incremental re-index
  • ProcessPoolExecutor for parallel AST parsing
  • Scope-aware call resolution using imports table
  • CTE cycle guard (visited node tracking)
  • Full type annotations, mypy clean checking in CI
  • pytest unit + integration test suite
  • GitHub Actions CI pipeline
  • Multi-language support (27 languages)
Phase 4: Distribution โœ… Complete
  • MCP server โ€” N3MO as a tool for Cursor, Claude Code, Windsurf
  • Real-time incremental indexing via git hooks

๐Ÿ“ Design Principles

1. Structure before semantics Map the code skeleton (AST) before adding AI analysis. A correct graph is worth more than a smart but wrong one.

2. Database as source of truth All state lives in PostgreSQL, eliminating in-memory complexity and enabling graph queries that application-level traversal cannot match.

3. Correctness over speed The parser must handle syntax errors gracefully without corrupting the graph. A fast indexer that silently drops symbols is worse than a slow one that gets everything right.

4. Idempotent operations Re-running ingestion produces identical results, enabling safe incremental updates and CI/CD integration.


๐Ÿค Contributing

Contributions are welcome! Please read the CONTRIBUTING.md guide to get started with setting up the project, coding standards, and running checks locally.

Development Setup

# Install with dev dependencies
pip install -e ".[dev]"

# Lint
ruff check n3mo/

# Type check
mypy n3mo/

# Tests
pytest tests/

๐Ÿ“œ License

Licensed under the PolyForm Noncommercial 1.0.0 License.

  • โœ… Free for personal projects, academic research, and hobby tools
  • โœ… Source available โ€” view, modify, and distribute for noncommercial purposes
  • โš ๏ธ Noncommercial โ€” you may not use it for commercial purposes
  • โš ๏ธ Restrictions apply on offering it as a service

For commercial deployments or proprietary modifications, contact for licensing options.

See LICENSE for full legal details.


๐Ÿ‘จโ€๐Ÿ’ป Author

Raj Shekhar โ€” Delhi Technological University

GitHub LinkedIn


๐Ÿ™ Acknowledgments

  • Tree-sitter โ€” for robust, incremental, error-tolerant parsing
  • PostgreSQL โ€” for making recursive graph queries possible without a graph database
  • Docker โ€” for reproducible, single-command environments
  • vis.js โ€” for the interactive graph visualization
  • FastAPI โ€” for the high-performance REST layer

โญ Star this repo if you find it useful! thanks for visiting

Building tools for understanding code at scale.

Visitors



โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•—    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•—    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— 
โ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•‘   โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•‘    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•   โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘
โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘    โ•šโ•โ•โ•โ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘
โ–ˆโ–ˆโ•‘ โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•   โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘   โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•
โ•šโ•โ•  โ•šโ•โ•โ•โ•    โ•šโ•โ•โ•โ•โ•โ•   โ•šโ•โ•     โ•šโ•โ•    โ•šโ•โ•โ•โ•โ•โ• 
C O D E   I N T E L L I G E N C E   L A Y E R

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

n3mo-2.0.0.tar.gz (69.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

n3mo-2.0.0-py3-none-any.whl (63.7 kB view details)

Uploaded Python 3

File details

Details for the file n3mo-2.0.0.tar.gz.

File metadata

  • Download URL: n3mo-2.0.0.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for n3mo-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d1f4bfe65081ff8ea833606dfe860ce6ea5fd4f6c028a92f617bca4e7d8d7ac3
MD5 7886984e450c20af2766d6461dc5bcb1
BLAKE2b-256 4071a4371b467bd187c7640411e81d60dd0ada7a2dfadeccdcab286fede3ed17

See more details on using hashes here.

Provenance

The following attestation bundles were made for n3mo-2.0.0.tar.gz:

Publisher: publish.yml on RajX-dev/N3MO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file n3mo-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: n3mo-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 63.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for n3mo-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc486c85208217d63d1a31fcd366e16078b4737cfe47aa733d9f1bd836e3dbdc
MD5 138ca91953e4b83b2fd459ff44cd931d
BLAKE2b-256 34d6c310a096053a6f01e91a33e16171a9aeb7d5bfc8ed7ff3bd9aa0ccf2ecd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for n3mo-2.0.0-py3-none-any.whl:

Publisher: publish.yml on RajX-dev/N3MO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page