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_extractionforModwireExtractionandQueryableCodeMap.modwire_extraction.codeforCodeMapand query result types.modwire_extraction.dependencyfor dependency graph helpers.modwire_extraction.extractorsfor 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)
| File | Size | Uploaded | |
|---|---|---|---|
| modwire_extraction-2.1.2.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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