$npx skillfedfor your agent

iaqualink

Asynchronous library for Jandy iAqualink

With conditionsPyPI MonitoringReleased Apr 202691.7K downloads / moBSD-3-ClausePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — iaqualink-0.7.0-py3-none-any.whl
v0.7.0 · released 2026-04-27 · Python >=3.14 · 2 runtime deps: httpx-retries, httpx

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.14 or higher; asyncio event loop context required to run async code.
  • Low friction: pure Python wheel with only two runtime dependencies (httpx and httpx-retries).
  • Actively maintained with recent commits and no known vulnerabilities.

License · maintenance · safety

BSD-3-Clause (permissive) — 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.

last release 2026-04-27 (109 days) · last repo commit 2026-08-08 · 43 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 91,704 downloads/mo, #13,507 on PyPI

Verify before relying

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")
  • 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.
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

With conditions

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

iaqualink on PyPI

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.

Requires Python 3.14 or higher; asyncio event loop context required to run async code.

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")

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

LicenseBSD-3-Clause permissive
Python supportCapped below the current Python release >=3.14
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
httpx-retrieshttpx
MaintenanceActively maintained 109 days since the last release
Last repo commit
First released
Downloads91,704 / month, #13,507 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.14

Evidence: iaqualink-0.7.0-py3-none-any.whl

Tags

Capabilities
pool control api pythonjandy iaqualink libraryasync pool monitoringspa equipment controlpool automation pythoniaqualink integrationpool temperature sensorspool device management
Topics
pool-automationasync-httpiot-integration
PyPI keywords
iaqualink

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 › “pool control api python”

  • iaqualinkAsynchronous Python library for monitoring and controlling Jandy…
  • asyncio-poolManages a pool of concurrent asyncio coroutines, enforcing a fixed…
  • opensandboxOpenSandbox SDK provides low-level Python bindings to create, manage,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Monitoring packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
opentelemetry-semantic-conventions Worth it
PyPI · Monitoring · released Jul 2026

Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.

Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.

Apache-2.0pure Python · 3.10+
542.9Mdownloads / mo
opentelemetry-sdk Worth it
PyPI · Monitoring · released Jul 2026

Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.

Apache-2.0pure Python · 3.10+
521.8Mdownloads / mo
opentelemetry-api With conditions
PyPI · Monitoring · released Jul 2026

Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.

Apache-2.0pure Python · 3.10+
463.8Mdownloads / mo
opentelemetry-exporter-otlp-proto-http Worth it
PyPI · Monitoring · released Jul 2026

Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.

Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.

Apache-2.0pure Python · 3.10+
409.9Mdownloads / mo
opentelemetry-instrumentation Worth it
PyPI · Monitoring · released Jul 2026

Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.

Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.

Apache-2.0pure Python · 3.10+
393.5Mdownloads / mo

See also pyhiveapi · python-smarttub · nexia · pyeconet · aioguardian · aiohue · aioairq · AIOSomecomfort · millheater · pynautobot