A python utils package for castle945
Project description
castle945 的 Python 工具包
介绍
设计思路
- 模块内文件组织,包括
utils/common_utils.pyapp.py,工具函数写到utils目录的文件中,应用函数写到app.py中,参数配置写到config.py中 - 模块接口暴露规则
utils/__init__.py中可以导入(不依赖大型库的)代码文件如common_utils.py中的工具函数,从而支持链式调用这些工具函数如pu4c.common.utils.funcxxx()- 选择部分工具函数(即作为工具函数被其他代码调用,也作为命令行工具在调试终端中调用)和
app.py中的应用函数暴露到pu4c/__init__.py,从而简化调用和增强兼容性
- 弹性依赖和快速导包,保证安装时尽量不依赖其他库,使用时安装所需依赖库即可正常运行,保证
import pu4c快速执行,这要求:app.py中不能导入大型依赖库如open3d,而是在具体函数中导入utils/__init__.py中导入的文件中,不能导入大型依赖库
相关说明
- Python 导包有缓存机制,多次导入与单次导入耗时一致,意味着可以把所有的 import 语句写在函数中
- 可以通过
help(pu4c.xxx.xxx)或pu4c.xxx.xxx.__doc__来查看函数注释 - 注意查看所用
config.py中的配置进行个性化修改
安装
# pip 安装使用
pip install pu4c
# 源码安装
pip install -e .
# 执行单元测试
rm -rf build dist .pytest_cache .coverage work_dirs/*
pip install pytest coverage
pytest tests/
# 本地运行并查看单元测试覆盖率
coverage run --source=pu4c -m pytest tests/
coverage report
# 手动上传到 coveralls(因为 CI/CD 则需要测试数据文件,比较大)
pip install coveralls
export COVERALLS_REPO_TOKEN=VlGWex8jTfyyny2UwG0oerejdxpTFTVoT # 登录/AddRepo/StartUploadingCoverage/...
coveralls
# 打包上传 pypi
pip install setuptools wheel twine
python3 setup.py sdist bdist_wheel
twine upload dist/*
pip install pu4c -i https://pypi.org/simple
快速演示
| 三维目标检测可视化 | 三维语义分割可视化 | 三维占据预测可视化 |
快速入门
服务器端数据在本地界面中可视化
# 本地计算机作为 RPC 服务端
python -c "import pu4c; pu4c.common.start_rpc_server()"
ssh user@ip -R 30570:localhost:30570 # SSH 转发并在使用过程中保持终端 ssh 连接不断开,端口配置位于 pu4c/config.py,参数 -R remote_port:localhost:local_port
ssh user2@ip2 -R 30570:localhost:30570 # 可选,支持同时将多台服务器的端口转发到本机的同一个端口
# 服务器作为 RPC 客户端,可在交互式终端(如调试终端)中使用
import pu4c
pu4c.cv.cloud_viewer(filepath="/datasets/KITTI/object/training/velodyne/000000.bin", num_features=4, rpc=True) # 置 rpc=True 进行远程函数调用
# 注意
# 如果远程函数调用时使用了文件路径作为参数需要确保 RPC 服务器上存在该文件,对于数据集等可以通过 nfs 挂载到相同路径,或者修改 rpc 装饰器修改路径前缀
许可证
本代码采用 GPL-3.0 许可发布,这意味着你可以自由复制和分发软件,无论个人使用还是商业用途,但修改后的源码不可闭源且必须以相同的许可证发布
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
pu4c-1.3.3.tar.gz
(40.8 kB
view details)
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
pu4c-1.3.3-py3-none-any.whl
(43.1 kB
view details)
File details
Details for the file pu4c-1.3.3.tar.gz.
File metadata
- Download URL: pu4c-1.3.3.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a5680c75c15e984d596bfd54408c6101bf154a1b224d6c6207fc6e655bd9695
|
|
| MD5 |
f9bd7055a72c4bef658c8d35f710421e
|
|
| BLAKE2b-256 |
23c56efa429052e65529bb737a5c372da6d0fc7bc55afead236030969247d45b
|
File details
Details for the file pu4c-1.3.3-py3-none-any.whl.
File metadata
- Download URL: pu4c-1.3.3-py3-none-any.whl
- Upload date:
- Size: 43.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
714604f92bfa40ddd6442943155b34c14273eb7098a3b8c098519f2cca1e2681
|
|
| MD5 |
b86a38d0412b2171a9d97fd460d98ab8
|
|
| BLAKE2b-256 |
9501cd173931401ded40c06aa945135f410512774413f2e31db028e1e1504a56
|