Skip to main content

Python-first project mapper that emits .simplicio/project-map.json and precedent-index.json for the Simplicio ecosystem.

Project description

simplicio-mapper

Python-first project mapper for the Simplicio ecosystem. It scans a repository and emits two machine-readable artifacts that agents and tooling can consume without parsing the human-readable markdown docs:

  • .simplicio/project-map.json (simplicio.project-map/v1) — file inventory, architecture signals, entry points, tests, modules, entities, dependencies and recent changes.
  • .simplicio/precedent-index.json (simplicio.precedent-index/v1) — high-signal code examples tagged by change type, file, language, roles and snippet.

The full contract is documented in SIMPLICIO_INTEGRATION.md.

Install

Requires Python 3.10+. The package installs lightweight performance dependencies (orjson for JSON serialization and diskcache for persistent file-processing cache).

pip install simplicio-mapper

Usage

# Map the current directory into .simplicio/
simplicio-mapper map

# Refresh artifacts and record changed files since the last run
simplicio-mapper update

# Idempotent orchestration entry point for SendSprint and other runners
simplicio-mapper index path/to/project --json
simplicio-mapper index --update path/to/project --json

# Compare frontend/API-client calls against runtime server routes
simplicio-mapper endpoints path/to/web --against path/to/api --json

# Map another project root, with hints when .starter-meta.json is absent
simplicio-mapper map --root path/to/project --stack python --product-name "My App"

# Re-run automatically while files change locally
simplicio-mapper map --watch

The llm-project-mapper console script is provided as an alias.

Options

Option Description
index <path> Scriptable index command. Returns 0 when refreshed or already fresh, 1 on failure. Quiet by default.
endpoints <path> Extract normalized client calls and server routes, including Python API clients, direct page-level Python calls and Angular HttpClient services. Use --against <server-root> to report missing_from_server with source files using schema simplicio.endpoint-inventory/v1.
--against <dir> Server/API project root for endpoint comparison.
--json Emit stable simplicio.mapper-index/v1 output for the index command.
--update Compatibility alias for index refresh workflows.
--verbose Show progress during index refreshes.
--root <dir> Project root to map. Defaults to the current directory.
--out <dir> Artifact directory. Defaults to .simplicio.
--stack <name> Stack hint when .starter-meta.json is absent.
--product-name <name> Product name hint when .starter-meta.json is absent.
--incremental Record changed files and update existing artifacts.
--watch Re-run mapping when local files change.
--silent Minimal output.
-V, --version Show version and exit.
-h, --help Show help.

Consuming the artifacts

from pathlib import Path
import json

base = Path(".simplicio")
project_map = json.loads((base / "project-map.json").read_text())
precedents = json.loads((base / "precedent-index.json").read_text())

top_files = sorted(
    project_map["files"], key=lambda f: f.get("importance", 0), reverse=True
)[:8]

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

simplicio_mapper-0.6.10.tar.gz (47.0 kB view details)

Uploaded Source

Built Distribution

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

simplicio_mapper-0.6.10-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file simplicio_mapper-0.6.10.tar.gz.

File metadata

  • Download URL: simplicio_mapper-0.6.10.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for simplicio_mapper-0.6.10.tar.gz
Algorithm Hash digest
SHA256 1ff309e4439e619b2da74f4eeb0ab1a3381c1d7dcd82d7e31cfc16b88ef05b80
MD5 27e0fd76651e8892999519e981ef2191
BLAKE2b-256 0f5299bceff9d4c2a30a967ea0440fd31e5115fbbeea50d9bcdd88a8f2edd1ec

See more details on using hashes here.

File details

Details for the file simplicio_mapper-0.6.10-py3-none-any.whl.

File metadata

File hashes

Hashes for simplicio_mapper-0.6.10-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd0a0356fc1ba6e5e86fd5f2fe465e7bfd7c8c5fc0cd98bdd2a672fed875a09
MD5 cc53950f9e072b7e82e9c751f1ab9669
BLAKE2b-256 ccd76b91a21d06775bb6d0d960707a891ff4a76605045b35c1cec08278f29f1f

See more details on using hashes here.

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