Skip to main content

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 current mgf-common pin window is shown in this package's PyPI metadata — sourced from pyproject.toml at 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

mgf_apiprobe-0.5.3.tar.gz (322.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mgf_apiprobe-0.5.3-py3-none-any.whl (90.4 kB view details)

Uploaded Python 3

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

Hashes for mgf_apiprobe-0.5.3.tar.gz
Algorithm Hash digest
SHA256 7e7eaa2cd487f4127401c5a6bb38195a510ac6710b91466074a5e588aa0e941d
MD5 b194350839e8dfb34e85f3be6c1adc88
BLAKE2b-256 84765803687034fb7a7553b2024256eb6aebc831119eb27e2affda4bef63c9df

See more details on using hashes here.

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

Hashes for mgf_apiprobe-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 84a62788f8dadd4996a8cedb4554b4955eae765cdca3836cd8833f98ec95a6d9
MD5 1bda40a3fb6a9ed74b2ce1147a3636de
BLAKE2b-256 74a9ff976ea17e4e5544a48b403f7ab148960de94f6ed812e71116e83703c670

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page