skillfed

aiomodernforms

Asynchronous Python client for Modern Forms fans.

aiomodernforms v0.2.0 75.1K downloads/30d#14,752 on PyPI3
Permissive license MIT license Active released

What it is and what it does

aiomodernforms is an async Python client library for controlling Modern Forms ceiling fans over the network. It wraps the fan's HTTP API to let you programmatically turn the fan on/off, adjust speed, control the integrated light, set sleep timers, and read the current fan status. The library uses aiohttp for async HTTP communication, yarl for URL handling, and backoff for automatic retry logic on transient failures.

The package is designed for home automation integrations and third-party tools that need to automate fan behavior. It targets Python 3.11+ and is actively maintained. The library includes a diagnostic tool to help identify hardware-specific API quirks across different Modern Forms fan generations, which it redacts for privacy before you share output.

Use it for:

  • Automate fan control in home automation systems like Home Assistant or similar platforms.
  • Build a web dashboard or mobile app backend to remotely control fans from anywhere.
  • Schedule fan and light behavior based on time of day, temperature, or occupancy sensors.
  • Integrate fan control into smart home routines triggered by voice assistants or other events.
  • Monitor fan status and log operational data for energy usage analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Asynchronous Python client for controlling and monitoring Modern Forms ceiling fans over a network, allowing programmatic automation of fan speed, light, and sleep settings.

Yes. The package has low install friction, permissive licensing, active maintenance, no known vulnerabilities, and solves a specific problem (Modern Forms fan automation) with a clean async API. Install it if you own a Modern Forms fan and need programmatic control; the Beta status and small community (3 stars) suggest it's still maturing, so test against your specific fan model first using the included diagnostic tool.

Install

aiomodernforms on PyPI

pip

pip install aiomodernforms

uv

uv add aiomodernforms

poetry

poetry add aiomodernforms

Installing aiomodernforms

Before you install

Low install friction with three lightweight async dependencies (aiohttp, yarl, backoff). Active maintenance as of 2026-08-14 with recent release history; requires Python 3.11 or later.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects.

Quickstart

import asyncio
import aiomodernforms
from aiomodernforms.const import LIGHT_POWER_ON

async def main():
    async with aiomodernforms.ModernFormsDevice("192.168.3.197") as fan:
        await fan.update()
        await fan.light(on=LIGHT_POWER_ON, brightness=50)

asyncio.run(main())

Requires Python 3.11 or later; fan must be reachable on the network at a known IP address.

Verify before relying

  • Whether all Modern Forms fan hardware generations are supported or if compatibility varies by model.
  • API stability and whether breaking changes are expected given the Beta development status.

Package facts

License MIT license (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 3 — aiohttp, yarl, backoff
Maintenance actively maintained — 17 days since the last release
Last repo commit
First released
Downloads 75,089/month — #14,752 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aiomodernforms-0.2.0-py3-none-any.whl

Keywords: modernforms, api, async, client

Development Status :: 4 - BetaFramework :: AsyncIOIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules

Tags

modern forms fan controlasync ceiling fan apismart fan automation pythonmodern forms device clientfan light control asynciot fan managementmodern forms integration
iot-automationsmart-homeasync-client

More Python Modules packages