BACpypes3 - Python library for BACnet applications
BACpypes provides a BACnet application layer and network layer written in Python for daemons, scripting, and graphical interfaces. This version is the next generation for Python3.8+, completely overhauled from the Python2.5+ version using async/await methods and asyncio for communications.
MCP (Model Context Protocol) integration
The bacpypes3.mcp module exposes the BACpypes3 CLI commands (whois,
read, write, rpm, wirtn, BBMD ops, …) as MCP tools with natural names
(who_is, read_property, write_property, read_property_multiple,
who_is_router_to_network, …). It has three personalities:
- Importable library. Each tool is a plain
asyncfunction returning JSON-serializable Python values. Inject anApplicationand call the tools directly. - Stand-alone MCP server.
python -m bacpypes3.mcp <BACpypes flags>builds anApplicationviaSimpleArgumentParserand serves the tools over stdio using FastMCP. - Embedded server. A long-running BACnet server can inject its own
Applicationand startmcp.serve_http(...)as a concurrent asyncio task, so an LLM agent can drive it over HTTP without fighting the host application's stdout. Seesamples/mini-device-with-mcp.pyfor the reference pattern.
The mcp and pydantic packages are declared as an optional extra and are
only imported when a server is actually built; the tool functions are usable
without them:
pip install -e ".[mcp]" # to run the server
Release files for bacpypes3 0.0.107
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bacpypes3-0.0.107.tar.gz | 246.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bacpypes3-0.0.107-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 522.4 kB
Release files / bacpypes3-0.0.107.tar.gz
| Download URL | bacpypes3-0.0.107.tar.gz |
|---|---|
| Size | 246.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45c0ffe36ea309c7259cb94d6f9ba3bfa1e2805b825727903a7156b6152c7e29
|
|
BLAKE2b-256 checksum How to use checksums |
028829cbd4cb5703476c5cb697eb390d4f9764b963014c1049f0c5e453e7375d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.20
|
Release files / bacpypes3-0.0.107-py3-none-any.whl
| Download URL | bacpypes3-0.0.107-py3-none-any.whl |
|---|---|
| Size | 276.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3a2d08cd0caf984e472a7a0c852f29694c9db2f9c438eda25b3dec7539ee28b
|
|
BLAKE2b-256 checksum How to use checksums |
95bda184f33562d293e99a42e66267caef03f386b652a40153e3aa216e48c2de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.20
|