REST API verification — typed probes, checks, and findings. Sibling of mgf-common.
Project description
mgf-apiprobe
REST API verification — typed probes, checks, and findings.
Shape: Federation sibling of
mgf-common. The currentmgf-commonpin window is shown in this package's PyPI metadata — sourced frompyproject.tomlat release time, so this README can't go stale. (Per v2.6 DOC-01 / project-shape taxonomy. PAPER-38.)
mgf-apiprobe is the API-verification sibling of mgf-common.
It builds on mgf-common's settings, error, and observability primitives,
and adds:
- Probes — typed descriptions of an HTTP request + the expected response shape.
- Checks — pluggable verifiers that emit structured Findings (code, severity, root_cause, evidence, remediation).
- Suites — collections of probes that run async and produce a Report.
- AuthFlows — bearer / basic / api-key / cookie / custom; OAuth2 is a future add.
- Matchers — DSL for asserting response shape (format + semantic; IBAN, IMEI, E.164 included).
Install
pip install mgf-apiprobe
Optional extras (forward-declared):
pip install 'mgf-apiprobe[openapi]' # OpenAPI ingestion
pip install 'mgf-apiprobe[faker]' # Faker-backed factories
pip install 'mgf-apiprobe[signing]' # Cassette signing
Quick start
from mgf.apiprobe import Probe, Suite, BearerAuth
probe = (
Probe.get("https://httpbin.org/get")
.with_auth(BearerAuth(token="..."))
.expects_status(200)
.expects_json_shape({"url": str, "headers": dict})
)
suite = Suite([probe])
report = await suite.run()
print(report.to_human())
Standards
Conformance: L2 per mgf-common/docs/standards/. Per-rule audit ledger: docs/inprogress/MGF_STANDARDS_CONFORMANCE.md.
The L2 floor means every federation MUST rule applies, evidenced by the tracker: BaseAppSettings, AppError hierarchy, structured logging, redaction, py.typed, SemVer with the 0.x carve-out, ≥80% coverage gate, no secrets in cassettes/logs. The earlier "L1 — Production-Ready" framing in this README was the pre-v2.7 nomenclature; the current standards (per docs/standards/README.md §"Conformance levels for projects") define L1 — Lite / L2 — Standard / L3 — Strict with L2 as the federation-sibling baseline.
Layout
| File | Purpose |
|---|---|
DESIGN.md |
The design spec (≈ 1990 lines). WHAT we're building. |
HANDOFF.md |
Integration plan. HOW it ships as a sibling of mgf-common. |
LIFT_CHECKLIST.md |
Federation conformance acknowledgment. |
License
MIT. See LICENSE (TBD).
Project details
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 mgf_apiprobe-0.5.3.tar.gz.
File metadata
- Download URL: mgf_apiprobe-0.5.3.tar.gz
- Upload date:
- Size: 322.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e7eaa2cd487f4127401c5a6bb38195a510ac6710b91466074a5e588aa0e941d
|
|
| MD5 |
b194350839e8dfb34e85f3be6c1adc88
|
|
| BLAKE2b-256 |
84765803687034fb7a7553b2024256eb6aebc831119eb27e2affda4bef63c9df
|
File details
Details for the file mgf_apiprobe-0.5.3-py3-none-any.whl.
File metadata
- Download URL: mgf_apiprobe-0.5.3-py3-none-any.whl
- Upload date:
- Size: 90.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84a62788f8dadd4996a8cedb4554b4955eae765cdca3836cd8833f98ec95a6d9
|
|
| MD5 |
1bda40a3fb6a9ed74b2ce1147a3636de
|
|
| BLAKE2b-256 |
74a9ff976ea17e4e5544a48b403f7ab148960de94f6ed812e71116e83703c670
|