bacpypes
BACnet Communications Library
What it is and what it does
BACpypes is a Python implementation of the BACnet protocol, a standard used in building automation and control systems to allow devices like HVAC units, lighting controllers, and sensors to communicate over a network. It provides both application-layer and network-layer functionality, making it suitable for building daemons, command-line scripts, and graphical management tools that need to speak BACnet.
The package has no runtime dependencies, making installation straightforward. However, it is classified as Pre-Alpha and has not released an update in over a year despite some recent repository activity, suggesting the project may be in maintenance mode rather than active development. The codebase targets older Python versions (2.5–3.8 per classifiers), so compatibility with modern Python releases is unclear.
Use it for:
- Build a BACnet client to read sensor data or control devices in a building management system.
- Create a BACnet gateway or bridge to integrate legacy building automation equipment with modern systems.
- Develop a monitoring daemon that polls BACnet devices and logs their status or triggers alerts.
- Write test scripts to validate BACnet device behavior or network communication.
- Prototype building automation applications without needing proprietary or commercial BACnet libraries.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
BACpypes implements the BACnet protocol stack in Python, enabling applications to communicate over BACnet networks for building automation and control systems.
Yes, if you need BACnet protocol support in Python and can verify compatibility with your Python version. The permissive MIT license and zero runtime dependencies make it low-risk to try. However, the Pre-Alpha status, 569-day release gap, and unclear modern Python support mean you should test thoroughly before production use and be prepared to maintain a fork if the upstream project does not respond to issues.
Install
bacpypes on PyPI
pip
pip install bacpypesuv
uv add bacpypespoetry
poetry add bacpypesInstalling bacpypes
Before you install
Low install friction with a pure-Python wheel. Maintenance status is aging—last commit was 2026-01-23 and the package has not had a release in 569 days, though the repository remains active and not archived.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install bacpypes
import bacpypes
# BACpypes provides BACnet protocol stack for building automation applications
Classifiers indicate support for Python 2.5–3.8, but requires_python is unspecified; verify compatibility with your target Python version before deploying.
Verify before relying
- Current Python version compatibility beyond the classifiers (2.5–3.8); whether modern Python 3.9+ is supported.
- Whether the 569-day release gap reflects active maintenance or de facto dormancy despite recent commits.
- Real-world stability and adoption in production building automation systems.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 569 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,791/month — #14,048 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bacpypes-0.19.0-py3-none-any.whl
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
bacpypes3BACpypes3 is a Python library for building…
permissive · top 15,000 on PyPI
BAC0BAC0 is an asynchronous Python scripting…
copyleft · top 15,000 on PyPI
dronecanImplements the DroneCAN v1 protocol stack in…
permissive · top 15,000 on PyPI
py-ccm15Provides an async Python interface to…
permissive · top 15,000 on PyPI
types-hvacProvides type hints for the hvac package,…
permissive · top 15,000 on PyPI
pysmbpysmb implements the SMB/CIFS protocol to let…
permissive · top 5,000 on PyPI
airtouch4pyapiControls Airtouch 4 and 5 air conditioning…
permissive · top 15,000 on PyPI
zigpyzigpy is a hardware-independent Zigbee protocol…
copyleft · top 15,000 on PyPI
uart-devicesProvides a Python interface to interact with…
permissive · top 15,000 on PyPI