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

# 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
--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.0.tar.gz (37.6 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.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for simplicio_mapper-0.6.0.tar.gz
Algorithm Hash digest
SHA256 77a5e040b3a0dc47a838a2a7fc6d24899bddd72200fcc59c7f826b0345760650
MD5 678d20f8947b7206491c04f52800694c
BLAKE2b-256 af83fc08fbbbb126e4813d0004fb4fc5630a67a714f3764baf61b2e1942c3bcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simplicio_mapper-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77a3dc97614c62d74d9c874aaa9a3b93edfa36633fa767f34ce28224d8341c9b
MD5 c06451941e9e3efe74123a15d338343c
BLAKE2b-256 2a7e37d7f7e90ab13c85f6f711f9a8bb45677c95bbcc639c3d6133d060c9c710

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