Metadata-Version: 2.4
Name: upconduit
Version: 1.0.0
Summary: Python client for the UpConduit uptime monitoring API
License: MIT
Project-URL: Homepage, https://upconduit.io/docs.html
Keywords: uptime,monitoring,upconduit
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# upconduit (Python)

Standard-library-only client for the [UpConduit API](https://upconduit.io/docs.html). Python 3.8+.

```python
import os
from upconduit import UpConduit, UpConduitError

uc = UpConduit(os.environ["UC_API_KEY"])

for m in uc.monitors.list()["monitors"]:
    print(m["name"], m["status"], m.get("uptime24h"))

created = uc.monitors.create(name="Checkout", type="https",
                             target="https://shop.example.com/checkout",
                             tags=["production"], slow_ms=2000)
uc.monitors.update(created["id"], tags=["production", "critical"])   # created["monitor"] has the full record
print(uc.monitors.daily(created["id"], days=30)["days"])

uc.maintenance.open(name="Deploy 1.2.3", duration_min=20)   # silence alerts for a release

try:
    uc.monitors.get("nope")
except UpConduitError as e:
    print(e.status, e.code, e)

print(uc.rate_limit)   # {'limit': 60, 'remaining': 57}
```

Keyword arguments use snake_case and are converted (`slow_ms` → `slowMs`, `expect_status` → `expectStatus`).

## Publishing (owner)

```bash
cd sdk/python && python -m build && python -m twine upload dist/*
```
