Skip to main content

Reference Python SDK for the Monitor as a Service Open Schema v1 (Stellar + IPFS)

Project description

monitor-as-a-service (Python SDK)

Reference Python implementation of the MaaS Open Schema v1. Reads, parses and verifies dIAra/MaaS anchors directly from Stellar + IPFS — no API key, no centralized backend.

License: MIT

Install

From source (until published to PyPI):

pip install -e ./sdk/py
# or, if using requirements.txt: -e git+https://github.com/alejoherrera/stellar_repo.git#subdirectory=sdk/py&egg=monitor_as_a_service

Quickstart

from monitor_as_a_service import Client

client = Client.testnet("GDRWQERI6PI3WICTGPJBFBEFRV7ZRLCWG3IRA2YZQA5ZINHPY23JCPFR")

project = client.project()
print(project.name, project.partner)

for o in client.outputs():
    print(o.output_id, o.workers, o.phase, o.image_url)

# Verify cryptographic integrity of one output
result = client.verify("20251029-060211")
print("JSON match:", result.json_ok, "Image match:", result.image_ok)

API

Client.testnet(account) / Client.mainnet(account)

Builds a read-only client. Optional kwargs: gateways=[...], timeout=30.

client.project() -> Project | None

Returns the project metadata (name, partner, url, system) read from proj:{code}:* keys.

client.outputs() -> Iterator[Output]

Iterates over all anchored outputs, newest first.

client.get(output_id) -> Output | None

Fetches a specific output.

client.verify(output_id, verify_image=True) -> VerificationResult

Fetches content from IPFS gateways (with fallback) and compares SHA-256 against on-chain anchors.

client.fetch_from_ipfs(cid, as_bytes=False)

Low-level: try each gateway, return parsed JSON or raw bytes.

Examples

License

MIT — see source. The schema itself is CC0.

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

monitor_as_a_service-1.0.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

monitor_as_a_service-1.0.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file monitor_as_a_service-1.0.0.tar.gz.

File metadata

  • Download URL: monitor_as_a_service-1.0.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for monitor_as_a_service-1.0.0.tar.gz
Algorithm Hash digest
SHA256 655b3dd6a5f6ae6000aa4891330391388f4f154a80dfb5bd7b24a18ea4869707
MD5 f3fdc7d0b5f7923a4b4fc1b556092206
BLAKE2b-256 269d034553a136f0b85e046c6654abcf9c145f12c84384e96c6db272c04393d8

See more details on using hashes here.

File details

Details for the file monitor_as_a_service-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for monitor_as_a_service-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4da21167b64d1263cc15e7fe39ad3a658ec1e098d67fa31847531cc6976a5372
MD5 d21c7838e85bdacb58afd6d7419a518b
BLAKE2b-256 5cc75a01ae2c7b6d890055aaf92befc3d9775c6e3fb577cba9bd488475b544f5

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