Cross-language API parity differ and report renderer.
Project description
api-parity
Language-agnostic differ for the api-parity project. Reads two JSON envelopes (a reference and a port), left-joins them on path, and renders a coverage report.
See the project README for end-to-end pipelines and the cross-language story.
Install
pip install api-parity
Usage
api-parity compare ref.json port.json -o report.md
# or:
api-parity compare ref.json port.json --format=json -o report.json
ref.json and port.json are produced by language-specific plugins:
api-parity-py— Python plugin (walker + decorators).api-parity-rs— Rust plugin (attribute macros + walker).
The report groups members under their parent class, surfaces per-class coverage percentages, and lists stale port entries — paths the port claims but the reference doesn't have (typos, removed APIs, drift).
Wire format
Both envelopes follow SCHEMA.md. The differ doesn't care which language produced them, only that path is a shared join key. Adding a new language means writing a plugin, not patching the differ.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file api_parity-0.0.3.tar.gz.
File metadata
- Download URL: api_parity-0.0.3.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
398dc70339a9c3a26657b0b92ddc37dd38a700cf00a4585227239b9cb26bc3ce
|
|
| MD5 |
c5b7f6e2786092cfd3aad10fd266e5b6
|
|
| BLAKE2b-256 |
90e05fea9536d02879f4b6d365be13af96340cef95674aa108568636206ca306
|
Provenance
The following attestation bundles were made for api_parity-0.0.3.tar.gz:
Publisher:
release.yaml on franciscoabsampaio/api-parity
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
api_parity-0.0.3.tar.gz -
Subject digest:
398dc70339a9c3a26657b0b92ddc37dd38a700cf00a4585227239b9cb26bc3ce - Sigstore transparency entry: 1756327970
- Sigstore integration time:
-
Permalink:
franciscoabsampaio/api-parity@831d3755bf0858d1133aacc1d71bd82e61f8262f -
Branch / Tag:
refs/heads/release - Owner: https://github.com/franciscoabsampaio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@831d3755bf0858d1133aacc1d71bd82e61f8262f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file api_parity-0.0.3-py3-none-any.whl.
File metadata
- Download URL: api_parity-0.0.3-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2920e41853eb2c24edf02bcc651175860900c03966b18f6b8ea987d98a0c5d3e
|
|
| MD5 |
e143181b53248397e71377c1f07bc2cd
|
|
| BLAKE2b-256 |
f7d942b795d24f4930c626cdc93be444d632d445afab201052319862c083dd71
|
Provenance
The following attestation bundles were made for api_parity-0.0.3-py3-none-any.whl:
Publisher:
release.yaml on franciscoabsampaio/api-parity
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
api_parity-0.0.3-py3-none-any.whl -
Subject digest:
2920e41853eb2c24edf02bcc651175860900c03966b18f6b8ea987d98a0c5d3e - Sigstore transparency entry: 1756327986
- Sigstore integration time:
-
Permalink:
franciscoabsampaio/api-parity@831d3755bf0858d1133aacc1d71bd82e61f8262f -
Branch / Tag:
refs/heads/release - Owner: https://github.com/franciscoabsampaio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@831d3755bf0858d1133aacc1d71bd82e61f8262f -
Trigger Event:
workflow_dispatch
-
Statement type: