Reference Python SDK for the Monitor as a Service Open Schema v1 (Stellar + IPFS). Powered by Mivisor.com.
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.
Powered by Mivisor.com.
Coautores
-
Master Juan Alejandro Herrera López <alejandroherreracr@gmail.com> — autor principal
-
Andrés Herrera Monge, CEO Mivisor.com <andres.herrera@mivisor.com> — coautor
-
Claude (Anthropic AI assistant) <noreply@anthropic.com> — coautor de implementación (código, schema, SDKs)
-
Schema:
docs/SCHEMA.md(CC0) -
Live publisher:
GDRWQERI6PI3WICTGPJBFBEFRV7ZRLCWG3IRA2YZQA5ZINHPY23JCPFR(Stellar testnet) -
Public viewer: https://www.obrapublica.info/stellar
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
examples/01_list_outputs.py— table of all outputsexamples/02_verify_one.py— verify one output end-to-endexamples/03_export_csv.py— dump everything to CSV
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
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 monitor_as_a_service-1.1.1.tar.gz.
File metadata
- Download URL: monitor_as_a_service-1.1.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c540a9e3afb57bdb7af5d431f06441fc001b7e794089f41aaa425f845d7c59b
|
|
| MD5 |
5e6a88e6399668472c29cfa0690377c4
|
|
| BLAKE2b-256 |
5b939cede27b12a0066ca499b7b1acfb715b49056b0c6a8270d22354b6405e40
|
File details
Details for the file monitor_as_a_service-1.1.1-py3-none-any.whl.
File metadata
- Download URL: monitor_as_a_service-1.1.1-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7d1048d2ebd0faf997ce7db0bde9ca06b9433d2b2183376b71a3c27fa33832c
|
|
| MD5 |
ce8a0a7d2fbfa309346d574fffeb6e07
|
|
| BLAKE2b-256 |
e75fcefc45da4f379c3d66bb6292eca9998f0cdec7a5b9eecc90daf3f6a97bab
|