Metadata-Version: 2.4
Name: bbm-atlas
Version: 1.0.0rc1
Summary: BBM-Atlas: structural code intelligence for AI assistants - parsing, graph, memory, retrieval, and compression over REST, MCP, and CLI.
Author: Amit Chandra
License-Expression: LicenseRef-BBM-Atlas
Project-URL: Homepage, https://atlas.byteblendmatrix.com
Project-URL: Documentation, https://atlas.byteblendmatrix.com/get-started/
Project-URL: Pricing, https://atlas.byteblendmatrix.com/pricing/
Keywords: code-intelligence,knowledge-graph,impact-analysis,mcp,model-context-protocol,tree-sitter,retrieval,ai-assistant,static-analysis,neo4j
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: THIRD_PARTY_NOTICES.md
Requires-Dist: fastapi<1.0,>=0.111
Requires-Dist: uvicorn[standard]>=0.31
Requires-Dist: pydantic<3.0,>=2.7
Requires-Dist: pydantic-settings>=2.3
Requires-Dist: structlog>=24.1
Requires-Dist: dependency-injector>=4.41
Requires-Dist: orjson>=3.10
Requires-Dist: tree-sitter<0.26,>=0.25
Requires-Dist: tree-sitter-python<0.25,>=0.23
Requires-Dist: tree-sitter-javascript<0.25,>=0.23
Requires-Dist: tree-sitter-typescript<0.25,>=0.23
Requires-Dist: tree-sitter-go<0.25,>=0.23
Requires-Dist: tree-sitter-rust<0.25,>=0.23
Requires-Dist: tree-sitter-java<0.25,>=0.23
Requires-Dist: tree-sitter-c-sharp<0.25,>=0.23
Requires-Dist: tree-sitter-ruby<0.25,>=0.23
Requires-Dist: tree-sitter-php<0.25,>=0.23
Requires-Dist: tree-sitter-kotlin<2.0,>=1.0
Requires-Dist: tree-sitter-c<0.25,>=0.23
Requires-Dist: tree-sitter-cpp<0.25,>=0.23
Requires-Dist: xxhash>=3.4
Requires-Dist: numpy>=1.26
Requires-Dist: PyYAML>=6.0
Requires-Dist: prometheus-client>=0.20
Requires-Dist: psycopg[binary,pool]>=3.1
Requires-Dist: redis>=5.0
Requires-Dist: qdrant-client>=1.9
Requires-Dist: neo4j>=5.20
Requires-Dist: networkx>=3.3
Requires-Dist: openai>=1.30
Requires-Dist: mcp<2.0,>=1.28
Requires-Dist: typer>=0.12
Requires-Dist: httpx>=0.27
Requires-Dist: filelock>=3.13
Requires-Dist: platformdirs>=4.2
Requires-Dist: Pillow>=10.0
Requires-Dist: cryptography>=42
Requires-Dist: PyJWT[crypto]>=2.8
Requires-Dist: signxml<6,>=5.0
Provides-Extra: embeddings
Requires-Dist: sentence-transformers>=3.0; extra == "embeddings"
Provides-Extra: llm
Requires-Dist: llama-cpp-python[server]>=0.2.80; extra == "llm"
Provides-Extra: otel
Requires-Dist: opentelemetry-sdk<2.0,>=1.25; extra == "otel"
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2.0,>=1.25; extra == "otel"
Provides-Extra: detect
Requires-Dist: magika<2.0,>=0.6; extra == "detect"
Provides-Extra: dev
Requires-Dist: pytest<10.0,>=9.1; extra == "dev"
Requires-Dist: pytest-asyncio<2.0,>=1.4; extra == "dev"
Requires-Dist: pytest-cov<8.0,>=6.0; extra == "dev"
Requires-Dist: ruff==0.16.0; extra == "dev"
Requires-Dist: mypy<3.0,>=2.1; extra == "dev"
Requires-Dist: pre-commit>=4.0; extra == "dev"
Provides-Extra: all
Requires-Dist: sentence-transformers>=3.0; extra == "all"
Requires-Dist: llama-cpp-python[server]>=0.2.80; extra == "all"
Requires-Dist: opentelemetry-sdk<2.0,>=1.25; extra == "all"
Requires-Dist: opentelemetry-exporter-otlp-proto-http<2.0,>=1.25; extra == "all"
Requires-Dist: magika<2.0,>=0.6; extra == "all"
Dynamic: license-file

# BBM-Atlas

**Structural code intelligence for AI assistants.** BBM-Atlas turns a repository into a knowledge graph of what
calls what, what imports what and what breaks when something changes, then serves it to any AI assistant over
MCP, REST, a CLI and a web console. It is local-first and LLM-agnostic: nothing has to leave your machine.

![BBM-Atlas](https://atlas.byteblendmatrix.com/og.png)

- **Understand.** Twelve languages parsed symbol by symbol with tree-sitter (seven more as whole files), with calls,
  imports and inheritance resolved across the repository and a confidence tag on every edge.
- **Reason.** Impact analysis, paths, cycles, god nodes and communities over the knowledge graph.
- **Remember and retrieve.** Repository memory, facts you tell it, lessons learned from outcomes, and four-source
  retrieval (structure, memory, graph, semantic) ranked into one answer.
- **Serve.** 32 MCP tools, 38 REST routes, 41 CLI commands and a web console, all on the same engine.
- **Economise.** Syntax-aware, reversible compression and a drop-in proxy that cut the tokens your assistant
  spends.

## Install

BBM-Atlas needs Python 3.11 or newer, on Linux, macOS or Windows.

```bash
pip install bbm-atlas

# With a local embedding model and an in-process LLM:
pip install "bbm-atlas[embeddings,llm]"
```

## Quick start

```bash
bbm-atlas serve                      # the API, and the web console at http://localhost:8000/console/

# In another shell:
bbm-atlas index ./my-repo --name my-repo
bbm-atlas search <repository_id> "how does checkout work?"
bbm-atlas impact <repository_id> shop.cart.checkout --max-depth 3
```

With nothing configured, BBM-Atlas keeps everything in one local database file, so indexed repositories and
learned facts survive restarts. Point it at Postgres, Neo4j, Qdrant and Redis when you need to share and scale.

## Connect your assistant

The running API serves its tools over MCP at `http://127.0.0.1:8000/mcp`:

```bash
bbm-atlas mcp install --url http://127.0.0.1:8000/mcp    # Claude Code, for this project
```

```json
{ "servers": { "bbm-atlas": { "type": "http", "url": "http://127.0.0.1:8000/mcp" } } }
```

The second snippet is VS Code's `.vscode/mcp.json`.

## Editions

Everything above is the **Community Edition**: free, with no key and no account.

The **Enterprise Edition** is the same package with a licence key. It adds users, service accounts and their
own API keys, role-based access control, organisations on one deployment, single sign-on with OIDC or
SAML 2.0, a hash-chained audit log and high availability.

```bash
export BBM_ATLAS_EE_LICENSE_KEY_FILE=./license.key
bbm-atlas enterprise license         # its state, features and seats
```

The key is checked offline, so nothing phones home. See
[pricing](https://atlas.byteblendmatrix.com/pricing/), or write to info@byteblendmatrix.com for a quote or an
evaluation key.

## Links

- Website: https://atlas.byteblendmatrix.com
- Get started: https://atlas.byteblendmatrix.com/get-started/
- Documentation: https://atlas.byteblendmatrix.com/docs/
- Enterprise: https://atlas.byteblendmatrix.com/enterprise/
- Support and sales: info@byteblendmatrix.com

## Licence

BBM-Atlas is proprietary software under the BBM-Atlas License, included in the package: the Community features
are free to use, and the Enterprise features need a licence key. It uses third-party components under their own
licences, listed in `THIRD_PARTY_NOTICES.md`.
