Metadata-Version: 2.4
Name: omb-py
Version: 0.1.2
Summary: OMB — ODIN Meter & Billing (verifiable usage, signed bundles)
Author: ODIN Project
License: Apache-2.0
Project-URL: Homepage, https://github.com/odin-org/omb
Project-URL: Issues, https://github.com/odin-org/omb/issues
Project-URL: Documentation, https://github.com/odin-org/omb#readme
Project-URL: Source, https://github.com/odin-org/omb
Project-URL: Security, https://github.com/odin-org/omb/security
Keywords: usage,metering,billing,ed25519,signatures,verifiable,cryptography,stripe
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Security :: Cryptography
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: cryptography>=41.0.0
Requires-Dist: pydantic>=2.6.0
Provides-Extra: dev
Requires-Dist: ruff>=0.5.0; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: mypy>=1.8.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
Provides-Extra: stripe
Requires-Dist: stripe>=8.0.0; extra == "stripe"

# omb-py

Lightweight library for **Signed Usage Records (SUR)** and **signed export bundles**.

- `omb.signing` — Ed25519 key handling, base64url helpers, JWKS
- `omb.meter` — record usage into JSONL or SQLite (set `OMB_STORE=sqlite`), compute SUR (cid + signature)
- `omb.export` — build signed bundles; verify bundle & SURs
- `omb.verify` — helpers for verification
- `omb.cli` — minimal CLI (record/export/verify)

Install (editable):
```bash
pip install -e packages/omb_py
```

Environment flags:
- `OMB_STORE=sqlite|jsonl` (default jsonl)
- `OMB_LOCAL_SUR_PATH` / `OMB_SQLITE_PATH`
- `OMB_RETENTION_MAX_AGE_SECONDS`

Stripe monetization features are exposed in the FastAPI service (see `services/omb_api`).

License: Apache-2.0
