开发更健壮python程序的一些工具


在众多语言中, Java 生态系统发展得最好, 比如异常logging报警, 比如性能监控工具. Python其实生态也不错, 这里列出一些出色的工具.

LogBook, 并结合 raven-python handler 与 sentry 集成.
http://logbook.readthedocs.io/en/stable/index.html
sentry raven-python https://docs.sentry.io/clients/python/


sentry, 专注于程序异常logging的分析系统, 支持多种语言.
https://docs.sentry.io/server/installation/
http://www.cnblogs.com/weaming/p/5158142.html
sentry raven-python 可以为 logging/logbook 提供handler.


pytest, 更好的单元测试框架, https://docs.pytest.org/en/latest/
Tox, 支持多个 python env 的单元测试工具(持续集成工具)
tox aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software.


实时追踪当前程序函数
pyrasite 包,
依赖Python2/3 + GDB 7.x
http://pyrasite.readthedocs.io/en/latest/Installing.html

lptrace 包
https://github.com/khamidou/lptrace
lptrace is strace for Python programs. It lets you see in real-time what functions a Python program is running. It's particularly useful to debug weird issues on production.
使用方法: sudo python lptrace -p <process_id>
依赖: Python 2.7.x and GDB 7.x


vprof 可视化profiler
https://github.com/nvdv/vprof
能展现: CPU火焰图, 内存 graph, 代码heatmap, Python profiler


supervisor
https://github.com/Supervisor/supervisor
Supervisor process control system for UNIX.

celery
http://www.celeryproject.org/
An asynchronous task queue/job queue based on distributed message passing.

Babel
http://babel.pocoo.org/en/latest/
An internationalization library for Python.

===============================
几个帮助我们简化一些特定任务的package
===============================
pyecharts
ECharts的Python bind
https://github.com/pyecharts/pyecharts
http://pyecharts.org/

tablib
https://github.com/kennethreitz/tablib
A module for Tabular Datasets in XLS, CSV, JSON, YAML.


Joblib
scikit-learn 项目维护的多功能库, 1. 高效的pickle替代, 2.简单高效的单机并行处理(multiprocessor), 3.使用disk缓存函数结果.
https://pythonhosted.org/joblib/index.html
Joblib: running Python functions as pipeline jobs
http://www.admin-magazine.com/HPC/Articles/Parallel-Python-with-Joblib

猜你喜欢

转载自www.cnblogs.com/harrychinese/p/build_more_stable_python_applications.html