aionotion
A simple Python 3 library for Notion Home Monitoring
What it is and what it does
aionotion wraps the Notion home monitoring API in an asyncio-friendly Python interface. It lets you authenticate with Notion credentials or a refresh token, then query your account's systems (households), bridges, sensors, and listener definitions asynchronously. The library handles token refresh automatically and supports connection pooling via aiohttp ClientSession for efficient bulk operations.
The package is built on aiohttp, PyJWT, mashumaro, and ciso8601, providing async/await syntax throughout. It's designed for Python 3.11+ and supports both CPython and PyPy. Common workflows include fetching all sensors, retrieving a specific sensor by ID, querying listener definitions, and managing refresh token callbacks for persistent authentication.
Use it for:
- Fetch all home sensors and their current state in an async application monitoring a Notion-equipped home.
- Build a dashboard that polls Notion systems and bridges periodically without blocking other async tasks.
- Integrate Notion sensor data into a home automation framework that requires async/await patterns.
- Persist refresh tokens and re-authenticate using stored credentials across application restarts.
- Query listener definitions to understand what conditions Notion sensors can monitor.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
aionotion is an asyncio-friendly Python library for interacting with Notion home monitoring sensors, providing async methods to query systems, bridges, sensors, and listener definitions.
Yes, with caution about maintenance. The package is well-designed for asyncio workflows and has no known vulnerabilities, but dormancy (556 days since last release) and lack of visible repository activity raise questions about whether it will track future Notion API changes. Install if you need async Notion sensor integration now and can tolerate potential staleness; monitor the repository for signs of abandonment.
Install
aionotion on PyPI
pip
pip install aionotionuv
uv add aionotionpoetry
poetry add aionotionInstalling aionotion
Before you install
Low install friction with a pure-Python wheel. Maintenance is dormant (556 days since last release), though the package was released recently (2025-02-04) and supports current Python versions (3.11–3.13).
License in practice
Licensed under MIT, a permissive license that allows use, modification, and distribution with minimal restrictions.
Quickstart
pip install aionotion
import asyncio
from aiohttp import ClientSession
from aionotion import async_get_client_with_credentials
async def main():
async with ClientSession() as session:
client = await async_get_client_with_credentials(
username, password, session=session
)
sensors = await client.sensor.async_all()
asyncio.run(main())
Requires Python 3.11 or later; aiohttp ClientSession must be created and passed to the client factory.
Verify before relying
- Whether the 556-day dormancy period indicates the package is actively maintained or abandoned despite the recent 2025-02-04 release.
- Whether Notion's home monitoring API remains stable and whether this library continues to work with current Notion service changes.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.14,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — PyJWT, aiohttp, certifi, ciso8601, frozenlist, mashumaro, yarl |
| Maintenance | dormant — 556 days since the last release |
| First released | |
| Downloads | 74,601/month — #14,811 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: aionotion-2025.2.0-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
aioambientAn async Python library for querying Ambient…
permissive · top 15,000 on PyPI
aioguardianAn asyncio-focused Python library for…
permissive · top 15,000 on PyPI
aiofloProvides an async Python library for…
permissive · top 15,000 on PyPI
simplisafe-pythonAn async Python interface to the SimpliSafe API…
permissive · top 15,000 on PyPI
aioairqAsynchronous Python library for retrieving…
permissive · top 15,000 on PyPI
aiohueAsynchronous Python library for controlling…
permissive · top 15,000 on PyPI
notionUnofficial Python client for Notion.so API v3…
permissive · top 5,000 on PyPI
notion-clientA Python client library for the official Notion…
permissive · top 5,000 on PyPI
aiorecollectAsyncio-based Python library for querying waste…
permissive · top 15,000 on PyPI
yalexsAsync Python client library for Yale Access…
permissive · top 15,000 on PyPI