Wirely
Wirely is a node-based language and runtime for low-level home automation.
It connects signals from KNX group addresses, MQTT topics, and other device
interfaces through nodes that process values and apply logic. For example,
it can listen for boolean values on two KNX group addresses and publish
first_value AND NOT second_value to a third. Wirely works directly with
these signals; it does not model higher-level concepts such as rooms,
as Home Assistant does.
See the language documentation for how to write Wirely programs.
Installation
Wirely requires Python 3.11 or newer. Install the core package with:
python3 -m pip install wirely
The core install includes the compiler and command-line interface. The
installed wirely command and python3 -m wirely provide the same
subcommands. For example:
wirely compile program.wrl
python3 -m wirely compile program.wrl
Install optional integrations as needed:
python3 -m pip install 'wirely[knx]' # KNX
python3 -m pip install 'wirely[mqtt]' # MQTT
python3 -m pip install 'wirely[two-n]' # 2N devices
python3 -m pip install 'wirely[graphviz]' # show-graph
python3 -m pip install 'wirely[gpio]' # GPIO
python3 -m pip install 'wirely[all]' # all optional integrations
The test extra adds dependencies used only by the test suite. Install
wirely[all,test] to include both integrations and test dependencies.
Development checkout
Create a virtual environment with all dependencies, then use the checkout launchers:
tools/setup-venv
tools/wirely compile test/simple.wrl
tools/run-tests
The launchers use venv/bin/python when available. Otherwise, they warn and
use the current Python interpreter. tools/wirely accepts the same arguments
as wirely and runs the source in this checkout from any working directory.
The test suite also requires knxd and mosquitto.
Metadata
Release files for wirely 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wirely-0.1.0.tar.gz | 114.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wirely-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 219.4 kB
Release files / wirely-0.1.0.tar.gz
| Download URL | wirely-0.1.0.tar.gz |
|---|---|
| Size | 114.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c171903cc7863927d44181d7fd806f4cd88e5a1204099312302770d962eb38b
|
|
BLAKE2b-256 checksum How to use checksums |
2470c46c085c6e0e4e8e73a28e2813656ba99487fd105adee212e98e953d2256
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / wirely-0.1.0-py3-none-any.whl
| Download URL | wirely-0.1.0-py3-none-any.whl |
|---|---|
| Size | 105.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18b6ee1a5af8100714b712f902afdb30acd2e22ab39481eaf760440161803bd6
|
|
BLAKE2b-256 checksum How to use checksums |
a9adefa6ad48e62983b596de934213e619acea44c4d9ebc0458fe2d4a4ab9fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|