Install & Compatibility
Where this runs
tested against v0.2.111 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 44.2MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.9s · import 0.000s · 45MB
43MB installed
● package 43MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
BoschShcClient
✓ from boschshcpy import BoschShcClient
✗ from boschshcpy import BoschShcClient
Basic async example connecting to Bosch SHC and listing devices.
import asyncio
import os
from boschshcpy import BoschShcClient, BoschShcSession
async def main():
# Use environment variables for credentials
host = os.environ.get('BOSCH_SHC_HOST', '192.168.1.100')
password = os.environ.get('BOSCH_SHC_PASSWORD', '')
# For first-time setup, you need to register a client
# This example assumes you have already registered and have credentials
session = BoschShcSession(host, password)
client = BoschShcClient(session)
# Connect and retrieve devices
await client.initialize()
devices = await client.get_devices()
for device in devices:
print(f"{device.name}: {device.device_model}")
await client.close()
asyncio.run(main())
Upgrade
Version history
0.2.111latest on PyPI · released Feb 8, 2026
Audit
Dependencies
httpxrequiredAsync HTTP client used for API calls
zeroconfrequiredDiscovery of Bosch SHC devices on local network
cryptographyrequiredCertificate handling for TLS communication
voluptuousrequiredConfiguration validation
aiofilesrequiredAsync file I/O for storing certificates