Skip to main content

Structural and semantic database discovery through navigable data maps

Project description

Atlas Datamap

Atlas Datamap is a Python toolkit for structural and semantic database discovery. It scans an existing database, builds a navigable sigilo-style data map, exports portable metadata artifacts, and can layer local-LLM enrichment and natural-language QA on top of the same structural model.

PyPI package: atlas-datamap
Python package: atlas

Start Here

For most users, the first Atlas command should be:

atlas onboard

atlas onboard is the guided local workflow for a real database. It asks for connection details, privacy mode, sigilo preferences, optional local-AI settings, and optional local .env handling. It then writes a local workspace and runs the full Atlas round:

  • scan artifacts
  • panel and standalone HTML
  • health and executive reports
  • structured exports
  • local history snapshots
  • diff report when a previous snapshot exists
  • optional semantic enrichment outputs

If you are evaluating Atlas from GitHub or PyPI for the first time, start with atlas onboard before learning the lower-level commands.

Full wizard reference:

Origin

Atlas Datamap grew out of the same sigilo and systems-thinking work behind CCT, a complete programming language and compiler project:

Atlas is not the CCT compiler and it is not implemented as a CCT runtime. Instead, it is a standalone Python product inspired by CCT's visual sigilo language, database-structure reading patterns, and native rendering ideas.

What Atlas does

  • introspects relational databases into a canonical metadata graph
  • renders the graph as an interactive SVG sigilo
  • exports .sigil, .atlas, HTML, JSON, CSV, and Markdown artifacts
  • scores and classifies tables heuristically
  • enriches tables and columns with local AI semantics
  • answers natural-language questions against database metadata
  • diffs snapshots and keeps local history archives
  • exposes the same workflows through a CLI and a Python SDK

Supported databases

Atlas currently supports:

  • PostgreSQL
  • MySQL
  • MariaDB
  • SQL Server
  • SQLite
  • generic SQLAlchemy connections through generic+<dialect>://...

Supported local AI backends

Atlas does not bundle a model. It connects to a local provider that you run yourself. Current backends:

  • Ollama
  • llama.cpp
  • OpenAI-compatible local endpoints

Typical semantic workflows are:

  • atlas enrich for table and column semantics
  • atlas ask for natural-language metadata questions

Installation

Base installation:

pip install atlas-datamap

Install database and AI extras as needed:

pip install "atlas-datamap[postgresql]"
pip install "atlas-datamap[mysql]"
pip install "atlas-datamap[mssql]"
pip install "atlas-datamap[generic]"
pip install "atlas-datamap[ai]"

For local development:

make install-dev

Quickstart

Check the installed CLI:

atlas --help
atlas --version

Guided onboarding for a real database:

atlas onboard

The onboarding wizard asks for the database type, connection details, privacy mode, sigilo options, and optional local-AI settings. It writes only local files inside your chosen workspace and then runs the full Atlas round:

  • scan artifacts
  • panel HTML
  • standalone HTML
  • health and executive reports
  • structured exports
  • optional semantic enrichment
  • local history snapshots
  • diff report against the previous local snapshot when one exists

Secrets can be stored in a local .env file managed by the onboarding flow. Atlas does not upload those secrets, snapshots, or schema metadata to third parties on its own. Database traffic goes only to the database you configure, and onboarding restricts AI traffic to local endpoints such as localhost and 127.0.0.1.

Minimal connection config:

[connection]
engine = "sqlite"
database = "examples/full_showcase/generated/databases/aurora_demo_v1.db"
privacy_mode = "masked"
sample_limit = 20

Run a basic structural workflow:

atlas scan --config atlas.toml --output out
atlas open out/aurora_demo_v1.svg
atlas info --config atlas.toml --table main.payments --format json
atlas search --config atlas.toml "payment dispute"
atlas report --config atlas.toml --output out/health_report.html

Generate portable artifacts:

atlas export json --atlas out/aurora_demo_v1.atlas --output out/dictionary.json
atlas export csv --atlas out/aurora_demo_v1.atlas --entity tables --output out/tables.csv
atlas export markdown --atlas out/aurora_demo_v1.atlas --output out/dictionary.md
atlas export svg --atlas out/aurora_demo_v1.atlas --output out/standalone.html

Local AI with Ollama

Install the AI extra and pull a small local model:

pip install "atlas-datamap[ai]"
ollama pull qwen2.5:1.5b

Example AI config:

[ai]
provider = "ollama"
base_url = "http://127.0.0.1:11434"
model = "qwen2.5:1.5b"
timeout_seconds = 60
temperature = 0.1

Semantic enrichment and QA:

atlas enrich --ai-config atlas.ai.toml --sigil out/aurora_demo_v1.sigil --output out/semantic
atlas ask --ai-config atlas.ai.toml --sigil out/semantic/aurora_demo_v1_semantic.sigil "Where are payment disputes tracked?"

Atlas sends structural metadata and privacy-aware sanitized samples to the local model. It does not send the rendered SVG image to the model.

If you configure atlas enrich or atlas ask manually outside atlas onboard, the effective trust boundary is the AI endpoint you choose. atlas onboard restricts AI to localhost-style endpoints, while manual AI configs can point elsewhere if you explicitly set them that way.

Python SDK

from atlas import Atlas, AtlasConnectionConfig

config = AtlasConnectionConfig.from_url("sqlite:///demo.db")
atlas = Atlas(config)

result = atlas.scan()
sigilo = atlas.build_sigilo(result, style="network", layout="circular")
sigilo.save("demo.svg")

snapshot = atlas.create_snapshot(result, sigilo)
snapshot.save("demo.atlas")

Native sigilo renderer

Atlas includes a native C sigilo renderer and a Python fallback renderer.

  • when the native library is available, Atlas uses it automatically
  • when it is unavailable, Atlas falls back to Python without breaking the higher-level workflow
  • atlas --version reports which path is active

Public CLI surface

Current commands:

  • scan
  • open
  • info
  • search
  • report
  • onboard
  • export
  • enrich
  • ask
  • diff
  • history

Documentation

Example showcase

The repository contains a full end-to-end showcase with a larger fictional financial-commerce database:

Fictional bank sigilo

python examples/full_showcase/build_full_showcase.py
python examples/full_showcase/build_full_showcase.py --enable-ollama

That showcase exercises:

  • sigilo generation
  • reports and exports
  • semantic enrichment
  • natural-language QA
  • snapshot diffing
  • local history
  • SDK usage

The repository also includes a focused fictional-bank sigilo example that shows the datamap language more directly:

  • SVG: examples/fictional_bank.system.svg
  • Generator: examples/render_fictional_bank_sigilo.py

Privacy note

Atlas is local-first and does not upload credentials, snapshots, or schema metadata to third parties on its own. Still, masked is a name-based redaction mode, not a full DLP guarantee, and generated artifacts can persist rich schema metadata locally. For the safest default workflow, start with atlas onboard, prefer a local AI runtime, and use stats_only or no_samples when you do not want sample-derived prompt context. See the full guidance in docs/privacy.md.

Development

Common project commands:

make install-dev
make build
make build-c
make docs
make lint
make typecheck
bash tests/run_tests.sh

License

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

atlas_datamap-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (265.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl (240.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_universal2.whl (265.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file atlas_datamap-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdb7c7cbedb7865fd1ad991590d35996d3b79d1de40e60686cb289a7b7fa79ec
MD5 dafab859c5d8bbc015ca5d78fd9963a7
BLAKE2b-256 95d086f12995c819252873dc2741b49f689e9aaee384b5830002e3573104f59c

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on eabusato/atlas-datamap

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

File details

Details for the file atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42ccbbb3bcd5ec574f91885684ab33b842eb48f7765d2480d481f18ad1765b1f
MD5 4fb8e8087ab8bda1f4971eec72b70429
BLAKE2b-256 16d240bde1a4238b95638a801f9f8d8dd818919e6370693ad2c81a9facc10496

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on eabusato/atlas-datamap

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

File details

Details for the file atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9777df66325ae9ff0ec3f73b84ad5dd236417344547722d3f6204c6cb4450cbc
MD5 6ed0a601348263150729f1129bf3f8db
BLAKE2b-256 6050b1eb82074ab16024a44d75d7b849172e18e9c62b56144a2a1175ce5ccdf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.2-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: publish.yml on eabusato/atlas-datamap

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