perp-md
Typed, asynchronous acquisition of perpetual-market open interest and funding for Python applications.
perp-md turns provider-independent
CDM instrument references
into source-faithful observations. It keeps provider protocols, identity
requirements, pagination, and acquisition evidence behind a small public API.
Install
pip install perp-md
Optional CCXT fallback adapters are available through the ccxt extra:
pip install "perp-md[ccxt]"
Quick start
Pass the CDM reference supplied by your instrument catalog directly to a client:
from cdm import InstrumentReferenceV1
from perp_md import OpenInterestClient
async def current_open_interest(
provider_id: str,
reference: InstrumentReferenceV1,
):
async with OpenInterestClient() as client:
result = await client.fetch_reference(
provider_id,
reference,
include_history=False,
)
return result.current
FundingClient provides the corresponding funding workflow. Both clients can
assess runtime support and return structured metadata or identity gaps before
acquisition. Observations retain native values, timestamps, calculation
lineage, and normalization evidence; missing data is never represented as
zero.
Scope
The library owns market-data acquisition: provider protocols, operation-level identity requirements, source validation, bounded history retrieval, and declared adapter coverage. It does not discover instruments, persist data, schedule jobs, calculate application metrics, or expose a service API.
See the public contract
for data and error semantics, the
architecture guide
for module boundaries, and the
changelog for
release notes. perp-md-coverage emits the deterministic declared-coverage
manifest for documentation and capability tooling.
Status and support
The API is alpha, follows Semantic Versioning, and supports Python 3.11–3.13. Use GitHub Issues for defects and feature requests, and private security advisories for vulnerabilities. Licensed under Apache-2.0.
Metadata
Release files for perp-md 0.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| perp_md-0.2.6.tar.gz | 82.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perp_md-0.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 142.2 kB
Release files / perp_md-0.2.6.tar.gz
| Download URL | perp_md-0.2.6.tar.gz |
|---|---|
| Size | 82.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6bf5900eb1dbe0d1aa5fbbc878171420f9ca70169de48dcc25036b1aab8f4b69
|
|
BLAKE2b-256 checksum How to use checksums |
c587dbf94aec05cbb2fa87f5e830deb3331cfde0072e28327901073c0811ceab
|
| 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 Aug 26, 2026.
Transparency logRelease files / perp_md-0.2.6-py3-none-any.whl
| Download URL | perp_md-0.2.6-py3-none-any.whl |
|---|---|
| Size | 59.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0094e5ab8a37014fbdc070277fb8b2723d63ef509b47a3b684c47bff3f413d61
|
|
BLAKE2b-256 checksum How to use checksums |
5be83c91b0db9eab6486a5ef2ab136080b0be7582917664ebd4f5faa722c6ce2
|
| 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 Aug 26, 2026.
Transparency log