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.5.tar.gz (218.3 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.5-cp312-cp312-win_amd64.whl (253.9 kB view details)

Uploaded CPython 3.12Windows x86-64

atlas_datamap-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (246.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (245.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.5-cp312-cp312-macosx_11_0_arm64.whl (267.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

atlas_datamap-1.0.5-cp312-cp312-macosx_10_13_x86_64.whl (242.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

atlas_datamap-1.0.5-cp312-cp312-macosx_10_13_universal2.whl (267.3 kB view details)

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

atlas_datamap-1.0.5-cp311-cp311-win_amd64.whl (253.9 kB view details)

Uploaded CPython 3.11Windows x86-64

atlas_datamap-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (246.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (245.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.5-cp311-cp311-macosx_11_0_arm64.whl (267.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

atlas_datamap-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl (242.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

atlas_datamap-1.0.5-cp311-cp311-macosx_10_9_universal2.whl (267.2 kB view details)

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

File details

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

File metadata

  • Download URL: atlas_datamap-1.0.5.tar.gz
  • Upload date:
  • Size: 218.3 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.5.tar.gz
Algorithm Hash digest
SHA256 8771808ce3ec1a044b5bd3035e1715415976d9906dee5ee91e84b794500a4bf4
MD5 155b122451458ed214830e3246bee90c
BLAKE2b-256 9dbf000380a9f28957536132195cfdb5094a017df8687883b43711b86f21f75f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 20a606b03670481dcd65521a9e0c6db8ed4b777d040af258d4c31c819d82e315
MD5 8a5aebdd600d867b5830fd7be6369adc
BLAKE2b-256 a0913f45565a2bd7d3298e210cd5c73f3c5f20f1563d6332b9a5b506db06f01e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6f8e47f5e2250fba67f5cd6a663139816fea55c55b0c0a92dea1709db63f233b
MD5 6bcf5e93dc6c9601712fc488381dcea8
BLAKE2b-256 c5f5b6b553443b3f1579c7132832b3934f1a3bbc9d9f6561334cf99ad75075bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c9034d7447f3f57f6a2a7c085fd0642a2cb53da195ef714f825aa1a7bf6436dc
MD5 93b7209f93a3e92eaa6c3dad418af602
BLAKE2b-256 1ab271f76d28ab2ff89143915d9495effa1d2bfaec25165db675053c1c29a2f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 446c8ce83b8d089cc1e14efd21ea75f4ab131c6f99dcc2d981c516946b26521e
MD5 f3f672ee1916da0c597a376b351f952e
BLAKE2b-256 074ae9e21cf10b9778468cb329e149af1de34e54a69b29f7d3db03c8f41663a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 afd716e506d8d5ec41ac69cb0e120cbf4785e6d786cb407f99741092a3a7b654
MD5 9092cb62b9d3fb3fefffcb6f0f3859e3
BLAKE2b-256 0bd0f36c3d511c0494492dd5b9f8c781d1e71df78273119a814e3de1bc1a632a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 863a68a8e100f53ca1972a5eb308e82d735135299a03f288e6bbcbcb9493069d
MD5 e46bd94bd8e4134817be9e47e350d38c
BLAKE2b-256 f277397f821d24913b7f64995410d9511e82832962494e04bdc6cbfc78a81b87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 16ad61ffe162c17d317b82760aff97d8fe8c611242722fb215f23eae444ff190
MD5 168698d321c7be56a6a36ec30445850e
BLAKE2b-256 70a000bbddc4309fcc9df5438b5905b94d771b40c74d1e1117e0ca3ab8f69ece

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 00835a9ef9575362cb4be068328aebd88f97c925dd4f578ab1add70172c91c47
MD5 9ca13b55dc9ac5d6f3eb6a2a39250814
BLAKE2b-256 41bc7000afcd5e985c4e587265b2f1f5b7de6cb49ab533de0dd318367b10964f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 fdf8a1c9c589864c54e7414f4e59e1710056506cd008fb66077050fa931199e7
MD5 026bff8e9837d6a070bd159f60ac3c5e
BLAKE2b-256 39fac24a8b6128fd393fc8e9ebdbca897da8c75e609d7506cf344ff14643f66c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d02c8407dc16ac7bc06d3a96fbfbf4ac11a6be29ce14bf3524eb2c8ddf18be7d
MD5 76048a6f283f43514e13325053248839
BLAKE2b-256 c60a632fd3122631214ea1d78c1620a5d25eedd17d9e22ad333a29ca0487b9f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 03dbe510007743fe12a2504f01546666a19a59a421ec7c761ca19eda99c64624
MD5 53dafe729e7cc943e938de80e3c32c09
BLAKE2b-256 9c8086644505f5bbef79945c3496b1bd8f64de0ae8b52d8b1cf2a06e34340228

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4f2f9516b26a0d7b8fd2365086f1751f63dba42aa7af266d2238eefe42a53f43
MD5 39fb8e8b109bafe610e31c3c3fb2f35a
BLAKE2b-256 5ce5aa391281ddcb4ade275528006942427f8996071f1e87f9dc034276da99bd

See more details on using hashes here.

Provenance

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