skillfed

bacpypes

BACnet Communications Library

bacpypes v0.19.0 83.8K downloads/30d#14,048 on PyPI326
Permissive license MIT AGING released

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 bacpypes

uv

uv add bacpypes

poetry

poetry add bacpypes

Installing 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

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 2Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8

Tags

bacnet protocol pythonbuilding automation network librarybacnet client serverhvac controls communicationbacnet application layerbuilding management systembacnet device integration
building-automationprotocol-implementationiot

More Networking packages