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
This package targets mgf-common's L1 — Production-Ready standards
day-one (BaseAppSettings, AppError, structured logging, redaction, py.typed,
semver, ≥80% coverage, no secrets in cassettes/logs). It will graduate to L2
as the sibling matures. See LIFT_CHECKLIST.md.
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.2.tar.gz.
File metadata
- Download URL: mgf_apiprobe-0.5.2.tar.gz
- Upload date:
- Size: 321.3 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 |
47a2e4fc19ae62f96e29e6c458d3a9e741eb9b6674d89c10fbab825755de8657
|
|
| MD5 |
4287618e1f29b5a040ed8abd43a88420
|
|
| BLAKE2b-256 |
ff482055964469e41b228ce94fd5bbd2894875c564ef6d3719e1d56ed3da55bd
|
File details
Details for the file mgf_apiprobe-0.5.2-py3-none-any.whl.
File metadata
- Download URL: mgf_apiprobe-0.5.2-py3-none-any.whl
- Upload date:
- Size: 90.1 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 |
88b83fd1d32c420554ed1a440126831ee55754c49e68d5a03588505674dd5a22
|
|
| MD5 |
d117e5303e0f8a8034583d316ac4a042
|
|
| BLAKE2b-256 |
13ad7fc00a9b86ac6fd0cd396bd097e43090c6b86c9df6fdd97606b6e05becc2
|