--- id: iaqualink version: "0.7.0" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # iaqualink — Asynchronous library for Jandy iAqualink License: permissive · Maintenance: active · Downloads: 91.7K/mo ## What it is and what it does iaqualink-py is an async Python client for Jandy iAqualink pool control systems, providing a Pythonic interface to authenticate with iAqualink.net and Zodiac-io.com APIs, discover connected pool systems, and monitor or control attached devices. It wraps HTTP communication using httpx with built-in retry handling for rate limits and auth token refresh, and includes a CLI tool for command-line discovery and device control. The library is designed for applications that need to integrate pool equipment monitoring into Python automation, dashboards, or home-automation platforms. It handles multiple systems per account, supports device types including temperature sensors, thermostats, pumps, heaters, lights, and water chemistry sensors, and automatically rate-limits API calls to 5-second intervals per system. All I/O is async-first, making it suitable for concurrent monitoring of multiple systems or integration into event-driven frameworks. Use it for: - Home automation integration: monitor pool temperature and control pumps/heaters from a smart home platform. - Dashboard or monitoring app: display real-time pool status (temperature, device state, chemistry) in a web or mobile UI. - Scheduled maintenance: automate pool equipment startup/shutdown or temperature adjustments on a daily or seasonal schedule. - Alert system: trigger notifications when pool temperature drops below a threshold or equipment goes offline. - CLI administration: discover systems and manually control devices from the command line with session persistence. - Multi-system management: monitor and control multiple pool systems from a single Python application. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Asynchronous Python library for monitoring and controlling Jandy iAqualink pool and spa systems via their cloud APIs, with support for temperature sensors, pumps, heaters, lights, and chemistry monitoring. Yes, with conditions. The library is actively maintained, has no known vulnerabilities, and offers a clean async interface for a niche but real use case (Jandy iAqualink integration). The low install friction and permissive license are advantages. However, the Python 3.14 requirement is a significant constraint—verify that your environment supports it. Pre-alpha status (Development Status :: 2) suggests the API may still change; review the repository for stability expectations before relying on it in production. ## Install pip install iaqualink uv add iaqualink poetry add iaqualink ## Installing iaqualink Before you install: Low friction: pure Python wheel with only two runtime dependencies (httpx and httpx-retries). Actively maintained with recent commits and no known vulnerabilities. Requires Python 3.14 or higher, which is a significant version constraint. License in practice: BSD-3-Clause is permissive and imposes minimal restrictions on use or redistribution, making it suitable for both commercial and private projects without licensing concerns. Quickstart: pip install iaqualink from iaqualink import AqualinkClient async with AqualinkClient('user@example.com', 'password') as client: systems = await client.get_systems() system = list(systems.values())[0] devices = await system.get_devices() pool_temp = devices.get('pool_temp') if pool_temp: print(f"Pool temperature: {pool_temp.state}°F") Requires Python 3.14 or higher; asyncio event loop context required to run async code. Verify before relying: - Whether Python 3.14 requirement reflects actual API usage or is overly strict for the underlying httpx/httpx-retries dependencies. - Scope and completeness of device type support beyond the documented examples (temperature, pumps, heaters, lights, chemistry). - Rate-limiting behavior and whether the documented 5-second cache window is enforced or advisory. ## Package facts - License: BSD-3-Clause (permissive) - Python support: capped_below_current - Install friction: low - Maintenance: active - Downloads: 91.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags pool control api python, jandy iaqualink library, async pool monitoring, spa equipment control, pool automation python, iaqualink integration, pool temperature sensors, pool device management, pool-automation, async-http, iot-integration [View on SkillFed](https://skillfed.io/packages/iaqualink) · [View on PyPI](https://pypi.org/project/iaqualink/)