Skip to main content

A python utils package for castle945

Project description

castle945 的 Python 工具包

PyPI - Version PyPI - Downloads Coverage Status

介绍

设计思路

  1. 模块内文件组织,包括 utils/common_utils.py app.py ,工具函数写到 utils 目录的文件中,应用函数写到 app.py 中,参数配置写到 config.py
  2. 模块接口暴露规则
    1. utils/__init__.py 中可以导入(不依赖大型库的)代码文件如 common_utils.py 中的工具函数,从而支持链式调用这些工具函数如 pu4c.common.utils.funcxxx()
    2. 选择部分工具函数(即作为工具函数被其他代码调用,也作为命令行工具在调试终端中调用)和 app.py 中的应用函数暴露到 pu4c/__init__.py ,从而简化调用和增强兼容性
  3. 弹性依赖和快速导包,保证安装时尽量不依赖其他库,使用时安装所需依赖库即可正常运行,保证 import pu4c 快速执行,这要求:
    1. app.py 中不能导入大型依赖库如 open3d ,而是在具体函数中导入
    2. 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

快速演示

demo_det3d.png demo_seg3d.png demo_occ3d.png
三维目标检测可视化 三维语义分割可视化 三维占据预测可视化

快速入门

服务器端数据在本地界面中可视化

# 本地计算机作为 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


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.4.0.tar.gz (35.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pu4c-1.4.0-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file pu4c-1.4.0.tar.gz.

File metadata

  • Download URL: pu4c-1.4.0.tar.gz
  • Upload date:
  • Size: 35.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for pu4c-1.4.0.tar.gz
Algorithm Hash digest
SHA256 5cf92ff13dda0b2b448e416ff063f66fb5cc5ca1a29b63fb6f120fb1727fdd69
MD5 b505a4cb88bccfc8ba87cc72a770f98e
BLAKE2b-256 8dd973593105d3b41d1f9bbfe158dffbd7b3975b0f3ca59bb3d5acdd3c471c3e

See more details on using hashes here.

File details

Details for the file pu4c-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: pu4c-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for pu4c-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5352b4c8d5dfa5569a375b57e511e1e0e4572ac97e163f3f95b82aa04e0df0a9
MD5 2f3df04d727cb74bcec8fd3df301b4a4
BLAKE2b-256 0be0ab116c6b871a0ef7939e448e89805ae8ecc68d6b0e4cd81044c0b9a30055

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page