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.4.tar.gz (216.1 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.4-cp312-cp312-win_amd64.whl (251.6 kB view details)

Uploaded CPython 3.12Windows x86-64

atlas_datamap-1.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (243.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (243.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.4-cp312-cp312-macosx_11_0_arm64.whl (265.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

atlas_datamap-1.0.4-cp312-cp312-macosx_10_13_x86_64.whl (240.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

atlas_datamap-1.0.4-cp312-cp312-macosx_10_13_universal2.whl (265.1 kB view details)

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

atlas_datamap-1.0.4-cp311-cp311-win_amd64.whl (251.6 kB view details)

Uploaded CPython 3.11Windows x86-64

atlas_datamap-1.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (243.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (243.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

atlas_datamap-1.0.4-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.4-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.4.tar.gz.

File metadata

  • Download URL: atlas_datamap-1.0.4.tar.gz
  • Upload date:
  • Size: 216.1 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.4.tar.gz
Algorithm Hash digest
SHA256 e0030a2caf7f1a34d29303124e34cb635b284e4ce1ac2769ce337a65fea82993
MD5 c69a548f253c20ebd794f24c20f53e98
BLAKE2b-256 ced8763b3a686e4f072a0a4bd54299e8f7d2cf652d44a88d5b652c239fdc699c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ae8a7c8d09f0a8e3e2b6786b672bc8f1023a1f88f32cd0b1c7b6542b6716a7d4
MD5 a1e34200dae4f2860e85bb7e4d20f25b
BLAKE2b-256 72f8c842235946b89bdb25151565ec695d99617b0423d4895e7e5ffa396abad7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a457783e0985bf1837103b30144e625a880941b43af35a3862917221f47b444e
MD5 5321cb9f5302e4e0003459db0a4b2149
BLAKE2b-256 b99c216a1bf81f899fae812ea3c46fed8e1fc5fcb1484ccefca6c5499175eb22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 e4217680a588bbb0a065b23a96bba9985e9b23ae32d0412b06f68955b287351f
MD5 a9f631957d37d815644cf7227ad5c671
BLAKE2b-256 e05ed9140f3671f2b68d795c0fbd457e4e1923d91e37c6d2f52347a985e3bf04

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edbb63d7791a682c456d949ea26359b466a0aaa21573e5a46813b6a39619e17d
MD5 6f7845eae3f0ca8e1e99a9d4b4115b28
BLAKE2b-256 22debfd289e35bc8284542fb5c35f9ce336d96281b93427aa2eb1c256adb4ecb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1eafe928113cf8ece4f596aab1921b88698943707aaecf0d7583c99c28444455
MD5 68d017e6e5c3edea311f7a64ce648710
BLAKE2b-256 18255ee166fa7ea53f431ea1f19b3ce695168694a9e9142a8d802d302f29e0c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 304300f13d7db5ec270fe4db003344df4b53a3f11b7688d56bba7307580d0968
MD5 1fe3af82b43caf02c5a39f41ecd06569
BLAKE2b-256 30c7e3361a6955839dd086a345f9603e0ae021e521f5e5e27607062c29015d86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b3722174b3c8cdf3ec66c7227c4da63fe94c3fc89468b2bdef9b07279815b316
MD5 6b543c1ac2290d7c1235e8d94b47da91
BLAKE2b-256 ea09d043addb737e3d0bc7285dbbe494aa6ccb3ad6a4edb2dbaaa375adc86fd2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 232f0ce0094230f1c40ef0232a0768d2484b483608f624e54e2dc3d0a3d22d2b
MD5 6e2ed4fc6d52f0365ec413661602127a
BLAKE2b-256 69f004e9d6c230d711d45b9923e2cc154abad4af4d270c96b2828e5cb9e5ea0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 3446f725b1e36abc0166e1b950f9f551622f0b746e857069319227961f175064
MD5 2589346c7c58fa14f23a12d97829731e
BLAKE2b-256 7f9b84c17eeb4aad24be187796ab1aec9e7f633578a2b6690cd5828ee8faab48

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11bbe671536da287f993c71a6060df02d4b245b375f95dd52d8e15bb040fd60d
MD5 c8234fb1575f5adb5cc57c5abcecddbd
BLAKE2b-256 ce4eb535fb05be5ca8f6e39ed8af24b825897cb4028726235574d0b87ed7959a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e467eb6033a1277cce2a401d3aa49309b86ef42fa88616338dc422e460f89b6a
MD5 cfd6650bec49e69e1ab54357fbdaa041
BLAKE2b-256 83c9efb12b740ffda20a57420c2d28aba6d182863b77c8b12b2dcb98540c1355

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 37aa576655502350ce24df7181979c20fd82d31c497266adfdc79b0df9bfb01d
MD5 09d14183f5e0b33f9570036855ba0114
BLAKE2b-256 ed1e2e97a66db3571423b2d1905e2387c27b8624083cfd70d9763d249458d911

See more details on using hashes here.

Provenance

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