skillfed

bacpypes3

BACnet Communications Library

bacpypes3 v0.0.106 137.4K downloads/30d#11,367 on PyPI95
Permissive license MIT Active released

What it is and what it does

BACpypes3 is a complete rewrite of the original BACpypes library, modernized for Python 3.8+ using async/await and asyncio. It implements the BACnet protocol stack—both application and network layers—allowing you to build daemons, scripts, and graphical interfaces that communicate with BACnet devices on building automation networks.

The library is actively maintained and supports Python versions from 3.8 through 3.14. With no external runtime dependencies, it installs cleanly and runs on any compatible Python environment. However, it is marked Pre-Alpha, meaning the API may change and edge cases may not be fully handled; it is suitable for development and testing but carries risk in production deployments without thorough validation.

Use it for:

  • Build a BACnet client daemon to monitor and control HVAC systems, lighting, or other building automation devices.
  • Write scripts to query BACnet device properties, read sensor values, or send commands to building equipment.
  • Develop a graphical interface or web service that exposes BACnet device data to operators or building management systems.
  • Simulate BACnet devices for testing and integration work without requiring physical hardware.
  • Integrate building automation data into Python-based analytics or home automation platforms.

Worth the install?

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

BACpypes3 is a Python library for building BACnet applications with async/await support, providing application and network layer implementations for BACnet protocol communication.

Yes, if you are building BACnet applications in Python and can tolerate Pre-Alpha stability. The library has no dependencies, installs easily, and is actively maintained. However, validate thoroughly in your specific BACnet environment before relying on it in production, as the Pre-Alpha status signals that breaking changes and edge cases remain possible.

Install

bacpypes3 on PyPI

pip

pip install bacpypes3

uv

uv add bacpypes3

poetry

poetry add bacpypes3

Installing bacpypes3

Before you install

Low friction install with no runtime dependencies. Active maintenance as of July 2026, though marked Pre-Alpha status indicates the API and behavior may still shift between releases.

License in practice

MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text.

Quickstart

pip install bacpypes3

import asyncio
from bacpypes3.app import Application

async def main():
    app = Application()
    await app.run()

asyncio.run(main())

Requires Python 3.8 or later; BACnet communication requires appropriate network interface and BACnet device configuration.

Verify before relying

  • Whether the Pre-Alpha status reflects incomplete feature coverage or ongoing API stabilization.
  • Real-world performance and reliability in production building automation deployments.
  • Compatibility with specific BACnet device types and vendors beyond basic protocol support.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 150 days since the last release
Last repo commit
First released
Downloads 137,420/month — #11,367 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bacpypes3-0.0.106-py3-none-any.whl

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

BACnet protocol librarybuilding automation communicationasync BACnet clientBACnet network layerBACnet application layerPython BACnet daemonBACnet device simulator
building-automationasync-ioprotocol-implementation

More Networking packages