BAC0
BAC0 is an asynchronous Python 3 (3.10 and over) scripting application that uses BACpypes3 to process BACnet™ messages on an IP network. This library provides simple commands to browse a BACnet network, read properties from BACnet devices, and write to them.
Python is a simple language to learn and a very powerful tool for data processing. Coupled with BACnet, it becomes a great tool to test devices and interact with controllers.
BAC0 takes its name from the default IP port used by BACnet/IP communication: port 47808 (0xBAC0).
Test driven development (TDD) for DDC controls
BAC0 is made for building automation system (BAS) programmers. Controllers used in this field are commonly called DDC Controllers (Direct Digital Control).
Typical controllers can be programmed in different ways depending on the manufacturer (block programming, basic scripts, C code, etc.). BAC0 provides a unified Python interface to interact with those controllers once their sequences are built.
BAC0 allows users to easily test an application even if sensors are not
connected to the controller. Using the out_of_service property, it's simple to
write a value to an input so the controller will behave as if an input is
connected.
Quick links
- Documentation: https://bac0.readthedocs.io/
- Source: https://github.com/ChristianTremblay/BAC0
- Chat: https://gitter.im/ChristianTremblay/BAC0
Contributing
See the documentation for development, testing and contribution guidelines.
License
Licensed under LGPLv3. See the LICENSE file in the project root for details.
Metadata
Release files for BAC0 2026.7.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bac0-2026.7.25.tar.gz | 99.5 kB | Without provenance | Details for bac0-2026.7.25.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bac0-2026.7.25-py3-none-any.whl | Python 3 | none | any | Details for bac0-2026.7.25-py3-none-any.whl |
Total release size: 221.3 kB
Release files / bac0-2026.7.25.tar.gz
| Download URL | bac0-2026.7.25.tar.gz |
|---|---|
| Size | 99.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a782b0afc9607aeffd6c97ecb90d0f8a20aadb955ff8380e9dad4e01228b137
|
|
BLAKE2b-256 checksum How to use checksums |
1c5acebf758e76e06a00b5d0b17486276833aa9879a8184397034ca4eab42374
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / bac0-2026.7.25-py3-none-any.whl
| Download URL | bac0-2026.7.25-py3-none-any.whl |
|---|---|
| Size | 121.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
889e4455e53c875b46ca7c15eb8f199a9f3e7596426155415d08a20a8a20308e
|
|
BLAKE2b-256 checksum How to use checksums |
3afaa9de581ccff3f9dda400c2eab92373f7c70dc8111cc61fee9e7643a6c4c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Security for BAC0 2026.7.25
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.