perp-md
perp-md is a typed asynchronous Python library for current and historical
perpetual-market open interest. It presents one stable contract while keeping
venue protocols, pagination, validation, and optional CCXT integration behind
adapter boundaries.
The package contains no persistence, scheduling, catalog discovery, aggregation, chart policy, or application APIs. Market identity, storage, and observation use remain outside the library.
Status
The public API is alpha, follows Semantic Versioning, and covers open interest.
Behavior
- Venue-native symbols are accepted without symbol guessing or rewriting.
- Namespaced perpetual instruments route through their venue-native product scope while default-universe instruments retain unscoped requests.
- Missing and unsupported values are never represented as zero.
- Current observations remain usable when optional history fails.
- Native quantities, units, marks, timestamps, and valuation methods are preserved alongside normalized USD notional.
- Aggregate derivative protocols use response-level source time when individual market timestamps describe unrelated last-trade activity.
- History ranges are bounded, deduplicated, ordered, and protected by finite pagination limits.
- Base-unit linear history is normalized only against exact-timestamp mark candles; missing joins are reported as structured partial history.
- History capabilities and requests use the cadence actually supported by each venue protocol.
- Native adapters are preferred when registered; fallback is explicit.
- External I/O is asynchronous, bounded, injectable, and independently testable.
- The package contains no consumer-specific storage or presentation behavior.
The complete contract is in docs/CONTRACT.md, and package boundaries are described in docs/ARCHITECTURE.md.
CCXT support is optional and selected through the ccxt extra.
License
Apache-2.0.
Metadata
Release files for perp-md 0.1.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.1.6.tar.gz | 34.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perp_md-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.6 kB
Release files / perp_md-0.1.6.tar.gz
| Download URL | perp_md-0.1.6.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00c5529ae7d4e6e5d0189f18ed28bb813b7a0d0f6b9392c01d2b95f3345ff12b
|
|
BLAKE2b-256 checksum How to use checksums |
0f156737759deddffc110119d7e07359ecb21f11811cba3d2460dfef855b5172
|
| 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 9, 2026.
Transparency logRelease files / perp_md-0.1.6-py3-none-any.whl
| Download URL | perp_md-0.1.6-py3-none-any.whl |
|---|---|
| Size | 23.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b28baecef15e8302f64f277def709d8c2b8877056d061b4424cf0bfea645acb
|
|
BLAKE2b-256 checksum How to use checksums |
25f75df6cbcbbe4000a28d48a71306c79c4488a40abf2e06ad41719a4a37adef
|
| 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 9, 2026.
Transparency log