--- id: bacpypes3 version: "0.0.106" license: MIT license_treatment: permissive maintenance: active --- # bacpypes3 — BACnet Communications Library License: permissive · Maintenance: active · Downloads: 137.4K/mo ## 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 above — 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 pip install bacpypes3 uv add bacpypes3 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_current - Install friction: low - Maintenance: active - Downloads: 137.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags BACnet protocol library, building automation communication, async BACnet client, BACnet network layer, BACnet application layer, Python BACnet daemon, BACnet device simulator, building-automation, async-io, protocol-implementation [View on SkillFed](https://skillfed.io/packages/bacpypes3) · [View on PyPI](https://pypi.org/project/bacpypes3/)