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.6.tar.gz (220.0 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.6-cp312-cp312-win_amd64.whl (255.6 kB view details)

Uploaded CPython 3.12Windows x86-64

atlas_datamap-1.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (247.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (247.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.6-cp312-cp312-macosx_11_0_arm64.whl (269.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

atlas_datamap-1.0.6-cp312-cp312-macosx_10_13_x86_64.whl (244.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

atlas_datamap-1.0.6-cp312-cp312-macosx_10_13_universal2.whl (269.0 kB view details)

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

atlas_datamap-1.0.6-cp311-cp311-win_amd64.whl (255.6 kB view details)

Uploaded CPython 3.11Windows x86-64

atlas_datamap-1.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (247.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atlas_datamap-1.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (247.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atlas_datamap-1.0.6-cp311-cp311-macosx_11_0_arm64.whl (269.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

atlas_datamap-1.0.6-cp311-cp311-macosx_10_9_x86_64.whl (244.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

atlas_datamap-1.0.6-cp311-cp311-macosx_10_9_universal2.whl (269.0 kB view details)

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

File details

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

File metadata

  • Download URL: atlas_datamap-1.0.6.tar.gz
  • Upload date:
  • Size: 220.0 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.6.tar.gz
Algorithm Hash digest
SHA256 f352d99d368b1ee189e7e14b97c7cfab64a2d2df466a790d80aa9927fb9b136c
MD5 234f07cb1b9af4c550dd221339ae5a4b
BLAKE2b-256 bf2e8fef00360e7cddf44c032eb8891adf733224af81b0379ad390cb616eff69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ffd7dced425c025c62b4bcca5c944c7fe363d3e074091df9a5a6b1be594cc1d6
MD5 eb3f4428a4949db7907a27ef59f6590b
BLAKE2b-256 afef369e0dd6241a2568ad67505063623d4b83a7d903b3b1510126b950510cad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3e5ec738cb8ce4a5efb48d2225b7e7a9305d488929996252e845f1bc249760ba
MD5 a7866ac030c69018e6e1a6d05b8a8a43
BLAKE2b-256 f156653585b4c75c6fc0fc1e27fca25b87811b75dc0812fcf337b6c71499f791

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 dce2823f9b6224f65f46b88ace2077efda2751e9dad8b212f5a020c6bd71ef10
MD5 57ddaa43eadd4feea6375125c2a06e40
BLAKE2b-256 98a2f6b5d3a7c2c952e984e7a02f3ee4316074131873a06a85071f44895e4107

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11b37af1ea0ff77e9f9783d18345bda427c36cf7294aa6149849d63a93ec50d5
MD5 548c9757c63efcf79ac97dfa88e21a78
BLAKE2b-256 abff839634f769e88a59dd78d24a56e2c04c0afc2ba6ccc994e0ad9fe9cd222d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7c0f43301d543f0e0b52a01a62472c0850cb08a3d72764ecfbdf42f30f93da42
MD5 948a78dbebe5bb50dc3b3ef020cd093f
BLAKE2b-256 271d4febcd14a1522eaea6c4a21d56a997a99de0caf1eaf11522a060af30f9dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b1b8760a96196271446dff4e6f98c80800e0d020a526bc1c7ca7ec2329968377
MD5 82933541c4f1e6c06f3a102e8e1080d5
BLAKE2b-256 84b77882d69ebdc8ceebaecc2c269dcdf52689107ca35b1bfee82b3f12492752

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d3274067f4ee9febf5f8c67a0272c1b236b01dbc3aa63f103b30444ca656f3e6
MD5 092c56c5f2f0612bec3b2b155145e8ed
BLAKE2b-256 1387d1de729a0b4a60188c8e08a2a80881cd628483e4b05e8a017c049c6f8e0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3c8e869592a71ef870a2c808c0904a32e0d03d8314b05f18831e6f80ff1255d9
MD5 2286b0531941baac74b6e6475b3361ed
BLAKE2b-256 35ce818e72a406e68f13851d3e260ecb1e7bc4e8e97bf80ebdc515bca51f0886

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 201d9f923548d229ec666f0303b75e7c69d80182e915ff3a7eab92a3ca2d65fe
MD5 67a8e23e3457a9f2e12559a3450b89cb
BLAKE2b-256 a619307a31756571113777f5fc33fdae4f8982d24ee88e42d6071a4f0db8e62a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1b7596318a5c2c0dc25fb3c45b6136f10f176386570c2a5a3eee1d1edea8b3c
MD5 cb5c3f7640ad108a63f2774d7d046aea
BLAKE2b-256 3797b07ea068ec29a836497975d842dd11d27166a275170cbad5eeecaf1c3195

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bc8e92c5018e4c816ad6434802a4754f46197e165f4c27cb1bdcb5ea62381603
MD5 33567ce9c1d5c4a2c905ab0350767d04
BLAKE2b-256 7c91cad38a806c993ae82f852662ca6525ae7141b97bf2378583fd1e8c65920d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atlas_datamap-1.0.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dfeeb3f4c76230e2bcbc1d78b6664ef695aced75769397f66c22c98328fbf295
MD5 8e02608e5e97e29a9c61f013e1a742c2
BLAKE2b-256 cdd90cd53bab95b027b41ae7f053a9d7db446509e99ea2882e23f15516dc5fa9

See more details on using hashes here.

Provenance

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