Syunity Core
syunity-core 是一个高度集成的 Python 核心功能库,旨在简化物联网 (IoT) 及 Web 后端服务的开发。
⚠️ 重要提示: 本项目专为 Python 3.13 环境设计,并使用 paho-mqtt v2.1.0 (MQTT 5.0 协议栈)。
核心功能 (13 Modules)
- 线程管理: 统一线程池封装
- MQTT总线: 基于 paho-mqtt v2.1.0 的发布/订阅封装
- 日志管理: Loguru 集成
- SQLite: 轻量级数据库管理
- IoTDB: Apache IoTDB 时序数据库管理
- 气象管理: 气象数据接口封装
- 平台管理: 系统资源监控 (CPU/Mem/Disk)
- 日期组件: 基于 Pendulum 的时间处理
- 用户权限: RBAC 基础模型
- 加密管理: AES/RSA/Hash 工具集
- 配置管理: YAML/Env 统一加载
- JWT登录: Token 签发与验证
- Sanic服务: 异步 Web 服务脚手架
安装
pip install syunity-core
版本更新记录
v0.0.1
基于gemini3 pro 生成的代码 准备发布pypi 根据绍兴项目对代码适用性进行验证
v0.0.2
解决了模块对settings的依赖
v0.0.3
解决了sqlite_manager self.con问题,后续还是需要对代码足够理解再发布
v0.0.4
解决了sqlite_manager iotdb_manager dbproxy 的兼容适配问题,所以测试用例通过
v0.0.5
完善了数据库测试用例,已在toris工程中验证
v0.0.6
zh-super -> zh-lenovo 开始重构底层权限、mqtt数据总线
v0.0.7
完善了rbac、thread_pool、mqtt_core、databus等 databus 实现了 依赖注入 token_validator rbac集成 dev 调试模式 双模式注册 读懂底层之后,需要在toris中寻找最佳实践
v0.0.8
解决了iotdb query_batch用法
v0.0.9
解决了iotdb 对 blob对象的支持,可以使用pickle对dataframe进行序列化并存储,iotdb版本从1.3升级到2.0.5
v0.1.0
改进了sqlite_manager的find方法,增加了对复杂查询方法的支持,详情见test_sqlite 3.5的测试用例
v0.1.1
改进了logger,去掉了不必要的DEBUG 更新了test_logs类
v0.1.2
修复了databus和mqtt_core的bug,增加了对mqtt5.0协议的支持,更新了test_databus和test_mqtt_core类
v0.1.3
丰富了logger,增加了日志过长自动截断功能,长度可以设置
v0.1.4
去掉了对psutil的依赖,使得代码能够在android环境下运行
v0.1.5
测试替换掉下面的发布方法
uv build uv publish
发布方法
pip install --upgrade build twine python -m build
Metadata
Release files for syunity-core 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| syunity_core-0.1.5.tar.gz | 30.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| syunity_core-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.3 kB
Release files / syunity_core-0.1.5.tar.gz
| Download URL | syunity_core-0.1.5.tar.gz |
|---|---|
| Size | 30.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ea3367acac668218e28ff545aeb962e28b2486110d9c8344cbe8b3e2de65b7f
|
|
BLAKE2b-256 checksum How to use checksums |
0c342c15603b4628136b1458498a06048c44618c0fa1741a53d6b76d8224ef10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / syunity_core-0.1.5-py3-none-any.whl
| Download URL | syunity_core-0.1.5-py3-none-any.whl |
|---|---|
| Size | 33.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d65b877d3d893ba43e6380f0c9ad95d3d5cf4ba26d5c481e11b1f2f744bef52
|
|
BLAKE2b-256 checksum How to use checksums |
34f8594ada0f317a6fd7974ff5220cc09829eded187bc71874aa54f216a47162
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|