pyatag
Python module to talk to Atag One.
Decision gist · record as of 2026-08-14
Yes, if you own an Atag One device and need async Python control. The library is straightforward, has low install friction, and carries no known vulnerabilities. However, be aware that maintenance is dormant—no updates since 2024-03-20—so treat it as stable-but-unsupported; fork or maintain it yourself if you encounter issues.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.x and network access to an Atag One device; auto-discovery requires UDP broadcast access (typically hostnet mode in containers).
- Low install friction with a single runtime dependency (aiohttp).
- Maintenance is dormant—last commit was 2024-03-20 and the latest release was 2023-10-09—so expect no active bug fixes or feature updates.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
last release 2023-10-09 (1040 days) · last repo commit 2024-03-20 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 73,779 downloads/mo, #14,929 on PyPI
Alternatives
Verify before relying
pip install pyatag
import asyncio
import aiohttp
from pyatag import AtagOne
from pyatag.discovery import async_discover_atag
async def main():
async with aiohttp.ClientSession() as session:
atag_ip, atag_id = await async_discover_atag()
atag = AtagOne(atag_ip, session)
await atag.authorize()
await atag.update()
await atag.climate.set_temp(20)
asyncio.run(main())- Whether the package works with current Atag One firmware versions given the dormant maintenance status.
- Compatibility with modern aiohttp versions beyond what the fact sheet documents.
What it is and what it does
PyAtag is an async Python library for communicating with Atag One heating systems. It provides a high-level interface to discover, authorize with, and control Atag One devices on your network, reading sensor data and climate settings and issuing commands like temperature adjustments. The library is built on asyncio and aiohttp, making it suitable for integration into async home-automation frameworks.
The package has a single runtime dependency (aiohttp) and installs with low friction. However, maintenance is dormant—the last commit was 2024-03-20 and the latest release was 2023-10-09—so it receives no active updates or bug fixes. It is suitable only if you have an Atag One device and are willing to maintain or fork the code yourself if issues arise.
Use it for
- Integrate Atag One heating control into a home-automation platform using async Python.
- Build a custom async script to monitor and adjust heating settings remotely.
- Discover and query Atag One devices on your local network for status reporting.
- Automate temperature adjustments based on external conditions or schedules.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you own an Atag One device and need async Python control.
The library is straightforward, has low install friction, and carries no known vulnerabilities. However, be aware that maintenance is dormant—no updates since 2024-03-20—so treat it as stable-but-unsupported; fork or maintain it yourself if you encounter issues.
Install
pyatag on PyPI
Before you install
Low install friction with a single runtime dependency (aiohttp). Maintenance is dormant—last commit was 2024-03-20 and the latest release was 2023-10-09—so expect no active bug fixes or feature updates.
Requires Python 3.x and network access to an Atag One device; auto-discovery requires UDP broadcast access (typically hostnet mode in containers).
License in practice
MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install pyatag
import asyncio
import aiohttp
from pyatag import AtagOne
from pyatag.discovery import async_discover_atag
async def main():
async with aiohttp.ClientSession() as session:
atag_ip, atag_id = await async_discover_atag()
atag = AtagOne(atag_ip, session)
await atag.authorize()
await atag.update()
await atag.climate.set_temp(20)
asyncio.run(main())
Verify before relying
- Whether the package works with current Atag One firmware versions given the dormant maintenance status.
- Compatibility with modern aiohttp versions beyond what the fact sheet documents.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageaiohttp |
| Maintenance | Dormant 1,040 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,779 / month, #14,929 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: pyatag-0.3.7.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “atag one control library”
- pyatagAsynchronous Python library for controlling Atag One heating systems…
- pyhiveapiA Python library for controlling Hive smart home devices (heating,…
- python-dynamodb-lockProvides distributed locking on top of DynamoDB with configurable…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also pyotgw · epson-projector · python-izone · python-tado · aioairzone-cloud · aiohue · python-bsblan · aioqsw · aioairq · aioopenexchangerates