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 Distribution

atlas_datamap-1.0.7.tar.gz (220.2 kB view details)

Uploaded Source

Built Distributions

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

atlas_datamap-1.0.7-cp312-cp312-win_amd64.whl (255.8 kB view details)

Uploaded CPython 3.12Windows x86-64

atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (247.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (247.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (269.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl (244.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_universal2.whl (269.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl (255.8 kB view details)

Uploaded CPython 3.11Windows x86-64

atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (247.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (247.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (269.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl (244.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_universal2.whl (269.1 kB view details)

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

File details

Details for the file atlas_datamap-1.0.7.tar.gz.

File metadata

  • Download URL: atlas_datamap-1.0.7.tar.gz
  • Upload date:
  • Size: 220.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atlas_datamap-1.0.7.tar.gz
Algorithm Hash digest
SHA256 aeff9f33b049bce2c40b5b8fcd903189899e64bf4d644c6b792d90f5cd831209
MD5 96a1df24ebd117b23e416813807aa57c
BLAKE2b-256 a06623142c72ceff36b220e9465e80ca750e590d8ce56036d5ef6aefa790effb

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7.tar.gz:

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.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dadc68d13c95bdd612fa9db4ae4f4574cc89129930748bc681070187e5196562
MD5 205ac5f7d6bb28749e54ff0ebf513989
BLAKE2b-256 af35a6c00a4fb02ad83a0e69a339f4232778aebc12a8d49bd7aac3740dec0178

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-win_amd64.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.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 94ba208d8447f4abcd597a805d749fdc734f827a0ed64172bc9c4adafbde7199
MD5 5d1e5597f182e2b1a640531ed64905aa
BLAKE2b-256 e09a1f2abec73db03fda9f722d0cf6a1f21edf7dacf4b648663fc05003f8b20d

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_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.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fc22412976001e9c1634ffb74ab7d2c9063a57cf4d4baad2935be7e7ca1e3779
MD5 83287b225e871c1381952786d110501b
BLAKE2b-256 d6c625d9317553b7735e61a20802772d18bdf2feceba368caed190ee628a6384

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.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.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7afc26a07efaf17bb1ea241581e33c10a715035650917b1c10882c4c4bbf1087
MD5 d8b80bd295279ce8978989522328a647
BLAKE2b-256 032bde35fd8c0b7e98f29fc32f90cc630972428a86f15b6a71fe1950c15deb9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-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.7-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 82bb0512234895f864444ee25fb1f3de20797d0bbfc9adbbb23581f89b78938a
MD5 e06719999ce5bd072aa3816e7c9788e1
BLAKE2b-256 f7bef34fd22da336716599869c3438b4cf939449d09ad16fe767555ba16d64f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_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.7-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f331a99b41cc95e85e8ec086f83fbe1fbf6126649a8ba8251221200977d893c2
MD5 883d5d00966a67e4d56a73b6829d7ff9
BLAKE2b-256 3fa3d0265dfeae8ee65050ddfdc8cc2a7083559a6eb3d72295c2095e0cc3f946

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp312-cp312-macosx_10_13_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.

File details

Details for the file atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2c8b011ffbd748605a11faeff522746b82432f50820f14b047274bd93c532201
MD5 ce5b63722b03bb08b2cebeb212f75d5f
BLAKE2b-256 dd7e8bdbdcf7164bffe222d226e2d31a77b7857fa40d649c387dfb6d9eb9a17c

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp311-cp311-win_amd64.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.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 55a9987cc257b1b359a976b90f7c8142e8058c7ed9d7553ee6c3079cffe6cefb
MD5 8c970f2a60d8d06be1a1ce56aaca2086
BLAKE2b-256 7038853c3d4660720f4b881c2b7f0167383ae5b4ce36f7af841efacc94efe114

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_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.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 78cd4ee8c433e58973fb70fcd14caf84b1008137e6ec83a6a060f0ed8b31ae20
MD5 90cad330362ce60450fa5f0962e7beef
BLAKE2b-256 91221e372596156e69b45d6e00c3d251a7db5b8ff085073f8da9f1ad6caca7b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.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.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f837fc712f4244adac1c7324e18d76f917b9f38e3a812dd78600f422a8fb149d
MD5 b9b05d7ca5eee11edbab41d36549f5f7
BLAKE2b-256 5a00902b6d0cbcd0549fbf7d101db5cdf6aaf820d9ddf78587e21fd9f7011692

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-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.7-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1a781e0f7b54825f0282998f97ec8feb33c2acb66ebb40818c1bf39d876b7cf2
MD5 df6db89432fdf19140782a967144d110
BLAKE2b-256 c92cf88523ab20f20642671c3d434c0e1b4ab2f8c6ed7961445030e1944032da

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-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.7-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for atlas_datamap-1.0.7-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3fa07784483dc75b634c64b85798d0d9aa9274fd81b45220a22b6b487c4f1ab6
MD5 39e776e187233f3f08a93210619d5a99
BLAKE2b-256 9f1f9163891b7d0af3272704b2ec380a1802dddbeda9d046a2d24779d0acd7ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_datamap-1.0.7-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