一个专为 Python 开发者设计的高级 IoT 平台交互工具包 | A high-level IoT platform interaction toolkit designed for Python developers
Project description
ThingsBoardLink
A high-level IoT platform interaction toolkit designed for Python developers
IoT Cloud Platform • Developer-Friendly • Production-Ready
🚀 Why ThingsBoardLink?
ThingsBoardLink is a powerful Python package designed to simplify integration with the ThingsBoard IoT platform. It encapsulates ThingsBoard's REST API, providing object-oriented interfaces that allow developers to easily manage devices, process telemetry data, control alarms, and other core functions.
✨ Key Features
| Feature | Description | Benefits | Documentation | Examples |
|---|---|---|---|---|
| 🔐 Auth Management | Auto JWT & session handling | Enhanced security, stateless auth | client_doc_en.md | 01_connect_and_auth.py |
| 📱 Device Management | Full device CRUD & credential ops | Easy lifecycle & access management | device_service_doc_en.md | 02_device_management.py |
| 📊 Telemetry Data | Upload, query & fetch history data | Efficient time-series data handling | telemetry_service_doc_en.md | 03_telemetry_data.py |
| ⚙️ Attribute Management | Client, server & shared attribute ops | Flexible metadata, dynamic config | attribute_service_doc_en.md | 04_attribute_management.py |
| 🚨 Alarm Management | Create, query, acknowledge & clear alarms | Timely response, system reliability | alarm_service_doc_en.md | 05_alarm_management.py |
| 🔄 RPC Calls | One-way & two-way remote procedure calls | Efficient device-cloud command interaction | rpc_service_doc_en.md | 06_rpc_calls.py |
| 🔗 Relation Management | Create & manage entity relations | Build topology, complex logic | relation_service_doc_en.md | 07_entity_relations.py |
🚀 Quick Start
Installation
# Install from PyPI
pip install thingsboardlink
# Or install with development dependencies
pip install thingsboardlink[dev]
30-Second Demo
from thingsboardlink import ThingsBoardClient
# Connect to the corresponding cloud platform
with ThingsBoardClient(
base_url="http://localhost:8080",
username="tenant@thingsboard.org",
password="tenant"
) as client:
# Device ID
device_id = "MY_DEVICE_ID"
# Retrieve telemetry data for the corresponding device
value = client.telemetry_service.get_latest_telemetry(device_id)
print(value)
📁 Project Architecture
ThingsBoardLink/
├── src/thingsboardlink/
│ ├── services/ # 🛠️ Service module package
│ │ ├── device_service.py # Device service module
│ │ ├── telemetry_service.py # Telemetry service module
│ │ ├── attribute_service.py # Attribute service module
│ │ ├── alarm_service.py # Alarm service module
│ │ ├── rpc_service.py # RPC service module
│ │ └── relation_service.py # Relation service module
│ │
│ ├── client.py # 🖥️ Core client module
│ ├── exceptions.py # 🔧 Exception handling module
│ └── models.py # 🚚 Data model module
│
├── examples/ # 📚 Usage examples
│ ├── 01_connect_and_auth.py # Connection and authentication example
│ ├── 02_device_management.py # Device management example
│ ├── 03_telemetry_data.py # Telemetry data example
│ ├── 04_attribute_management.py # Attribute management example
│ ├── 05_alarm_management.py # Alarm management example
│ ├── 06_rpc_calls.py # RPC call example
│ └── 07_entity_relations.py # Relation management example
│
└── docs/ # 📜 Documentation
├── zh # Chinese - Documentation
└── en # English - Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thingsboardlink-1.2.0.tar.gz.
File metadata
- Download URL: thingsboardlink-1.2.0.tar.gz
- Upload date:
- Size: 28.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c10adac1d6f5a23f35a9d361d02e91b79bf2d1cd7436ff8c07a4fc562db7923d
|
|
| MD5 |
81ecf0a01861a7509e760526626d8a63
|
|
| BLAKE2b-256 |
f7643e2eca32730fe9a2bfa7c07872e404def49d016ffee45624bf9716597778
|
File details
Details for the file thingsboardlink-1.2.0-py3-none-any.whl.
File metadata
- Download URL: thingsboardlink-1.2.0-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6595475a4bec005db35d1fbb4107f8220a19cee36ba2a1f8016befcc416eaf7e
|
|
| MD5 |
affc80558c6ca7209e4f780994b04b8c
|
|
| BLAKE2b-256 |
bf91cdb4683db83afa9e8bc55f767ba295fb95a7376f9341bf795fe024ea28e7
|