Skip to main content

Python source scanner for Total.Recall — emits canonical JSONL records consumed by the Total.Recall MCP server.

Project description

total-recall-scan-py

Python source scanner for Total.Recall. Walks a Python codebase, parses each file with ast, and emits the canonical JSONL records consumed by the Total.Recall MCP server.

This is one of three scanners in the Total.Recall ecosystem:

Language Package Entry point
.NET NuGet TotalRecall.Mcp total-recall scan
Python PyPI total-recall-scan-py (this package) total-recall-py
TypeScript npm @total-recall/scan (planned) total-recall-ts

All three produce identical schema-shaped JSONL — the Total.Recall MCP server is language-agnostic and reads whatever lands in data/<namespace>/. See docs/SCANNER_SCHEMA.md for the contract.

Install

pipx install total-recall-scan-py
# or
uv tool install total-recall-scan-py

Usage

total-recall-py scan \
  --source-root src \
  --coverage coverage.xml \
  --tests tests \
  --namespace myproject \
  --output /path/to/Total.Recall/data

Inputs:

  • --source-root — directory containing your production Python source.
  • --coverage (optional) — path to a Cobertura XML file (coverage.py emits this with coverage xml).
  • --tests (optional) — directory containing pytest test files.
  • --namespace — namespace subdirectory under data/.
  • --output — root data directory (matches TOTAL_RECALL_DATA env var used by the MCP server).

Outputs in <output>/<namespace>/:

  • type-registry.jsonl — every public class / function / dataclass / Protocol / ABC.
  • coverage-gaps.jsonl — uncovered lines per class (when --coverage is supplied).
  • test-inventory.jsonl — pytest test methods by class under test (when --tests is supplied).
  • config.json — persisted scan inputs for total-recall doctor.

Schema

This scanner emits records conforming to schemaVersion: 1. The lang discriminator on every type-registry.jsonl record is python, with these extension fields:

{ "kind": "python", "isDataclass": true, "isFrozen": false,
  "isAbc": false, "isProtocol": false, "decorators": ["@dataclass"] }

Development

git clone https://github.com/monk-eee/Total.Recall.MCP
cd Total.Recall.MCP/src/Total.Recall.Scanners.Python
python -m venv .venv
.venv\Scripts\activate    # Windows
# source .venv/bin/activate  # macOS / Linux
pip install -e ".[dev]"
pytest

License

MIT — see LICENSE at the repo root.

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

total_recall_scan_py-0.1.1.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

total_recall_scan_py-0.1.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file total_recall_scan_py-0.1.1.tar.gz.

File metadata

  • Download URL: total_recall_scan_py-0.1.1.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for total_recall_scan_py-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2b4b37670bd8612088aa171f7bc8ff8b8b0028ea015bca602d401393589afe15
MD5 f25946e1eeebac3dbebc82a95d1bdae4
BLAKE2b-256 f8ea785c6016a0dddcb02731b8c5d7685d53b513e9782a1d2dc4a59ba7bf092a

See more details on using hashes here.

Provenance

The following attestation bundles were made for total_recall_scan_py-0.1.1.tar.gz:

Publisher: publish-python-scanner.yml on monk-eee/Total.Recall.MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file total_recall_scan_py-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for total_recall_scan_py-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb8fce9276f3b0f16dfc0ebf904b0d3dc6f145c8ed16255656f4bfb08cda148c
MD5 7ed98c701c60fb635db1e1ce4d0f0fac
BLAKE2b-256 525f3359707fb2797b834a0fd3faa800b8c66637483631c94ed36a6fdb91f833

See more details on using hashes here.

Provenance

The following attestation bundles were made for total_recall_scan_py-0.1.1-py3-none-any.whl:

Publisher: publish-python-scanner.yml on monk-eee/Total.Recall.MCP

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