pyOgero: Ogero API Python module
Ogero does not currently provide a rest api to access it services, therefore this module web scrap the mobile version of the pages to collect data.
Async client
The async client (pyogero.asyncio.Ogero) requires an injected aiohttp.ClientSession (for example from Home Assistant async_get_clientsession(hass)):
import aiohttp
from pyogero.asyncio import Ogero
async with aiohttp.ClientSession() as session:
client = Ogero("user", "pass", session=session)
await client.login()
Home Assistant compatibility
Runtime dependency versions are capped at the versions used by Home Assistant 2026.3.2 (requests, aiohttp, beautifulsoup4, pydantic). To install exact pins in a virtual environment:
pip install -e . -c constraints-home-assistant-2026.3.2.txt
Development
This project uses uv for dependencies and a PEP 621 pyproject.toml for package metadata. Python 3.14 is used for CI and local development (see .python-version).
uv sync --group dev
uv run pytest tests/ -m "not integration"
uv run ruff check .
uv run ruff format .
To match Home Assistant pins after syncing dev dependencies:
uv sync --group dev
uv pip install -c constraints-home-assistant-2026.3.2.txt -e .
Build release artifacts with uv run python -m build (requires dev dependencies).
Releasing
- Bump
versioninpyproject.tomland document changes inCHANGELOG.md. - Merge to
main. CI runs on push; the Release workflow then runs tests and creates tagvX.Y.Zif that tag does not exist yet. - Pushing the new tag triggers the publish job (GitHub release + PyPI). Re-pushing
mainwithout a version bump does not re-release because the tag already exists. - You can also run the Release workflow manually via
workflow_dispatchto re-run pre-release checks.
PyPI publishing
CI publishes with trusted publishing (OIDC) when the PyPI project is linked to this GitHub repository. The workflow also supports PYPI_TOKEN in repository secrets as a fallback if trusted publishing is not configured yet.
Metadata
Release files for pyogero 0.14.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyogero-0.14.2.tar.gz | 15.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyogero-0.14.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.8 kB
Release files / pyogero-0.14.2.tar.gz
| Download URL | pyogero-0.14.2.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71f7979fbafa212ed6174e864d951a445b24435be4c05b9d9d7cb73633fb5d4c
|
|
BLAKE2b-256 checksum How to use checksums |
bcedb9791062990f81c85b73d11fcc5955283e49a70f5c95ff4af0aa480bc73a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Release files / pyogero-0.14.2-py3-none-any.whl
| Download URL | pyogero-0.14.2-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f5f0171ee893ae33155e6cbde8226baf052fcaccced2ba81a6b4b3ddf503267
|
|
BLAKE2b-256 checksum How to use checksums |
f6df35c503ef037cd06488feda827b7616b9a275c37c5b9b32a6f22df799ee98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|