Skip to main content

modwire-extraction

Extraction implementation for Modwire.

The primary API starts from ModwireExtraction:

from pathlib import Path

from modwire_extraction import ModwireExtraction, QueryableCodeMap

queryable_map: QueryableCodeMap = ModwireExtraction(Path("src")).generate_queryable_map("python")
print(queryable_map.source_ids())

Public data and query helpers are exported from:

  • modwire_extraction for ModwireExtraction and QueryableCodeMap.
  • modwire_extraction.code for CodeMap and query result types.
  • modwire_extraction.dependency for dependency graph helpers.
  • modwire_extraction.extractors for extractor loading.

Compatibility notes

Version 2 uses extension-bearing physical file IDs, separate logical module IDs, and dependency edges resolved to tracked files. Original and normalized import specifiers remain available with an explicit resolution state.

See Migrating to modwire-extraction 2 for the complete breaking-contract guide.

Serialized CodeMap JSON remains a same-major interchange contract. Regenerate 1.x maps before loading them with version 2.

TypeScript and PHP helper build files are included as package data because they are part of the bundled extractor runtimes and reproducible maintenance path.

Install

pip install modwire-extraction

Python extraction works with the active Python interpreter. TypeScript, JavaScript, TSX, and JSX extraction require node on PATH. PHP extraction requires php on PATH.

Development

python -m pip install -e ".[dev]"
pytest
python -m build
twine check dist/*

For local verification, build a fresh distribution from the current Git state:

python -m build
twine check dist/*

Releases use strict SemVer tags. Create and push the tag first, then publish its GitHub Release. That release invokes the shared build and asset workflows before trusted publishing sends the same distributions to PyPI.

git tag -a v2.0.0 -m "v2.0.0"
git push origin v2.0.0
gh release create v2.0.0 --verify-tag --generate-notes --title v2.0.0

Metadata

Release files for modwire-extraction 2.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modwire-extraction 2.1.2
File Size Uploaded
modwire_extraction-2.1.2.tar.gz 2.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for modwire-extraction 2.1.2
File Interpreter ABI Platform
modwire_extraction-2.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 4.7 MB

Release files / modwire_extraction-2.1.2.tar.gz

Download URL modwire_extraction-2.1.2.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
ece394472f7eafe6919f6ab149605e102a4a32a1cdb9dc8888d002bbe564d76a
BLAKE2b-256 checksum
How to use checksums
f87748e9611228dd2b928b752f67e78bc708cbb3ac3b78767bd8f01ed73caa17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / modwire_extraction-2.1.2-py3-none-any.whl

Download URL modwire_extraction-2.1.2-py3-none-any.whl
Size 2.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
86eb0b049e04b8eac0a11b7fa53c1bfa7d5c28d9a3ed6f0b3795a5b9405fd1ba
BLAKE2b-256 checksum
How to use checksums
1fdaa06a717b6ff7d8e52a96eed9c32a67364cc9267e60c370e7bff62623f04f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.2 This release

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page