python开源项目
作为一个Python粉,一直在各种场合使用这个语言,最近也在试图从Python2彻底切换到Python3.
如果说缺点的话,也只有对它的性能有所抱怨(GIL),不能使用多核CPU.
这篇主要记录使用过和部分mark过的库/框架,其他检索的话可以使用awesome-python.
注: 具体类别以个人喜好排序
开发类
必备
- Requests :用的最久和最多的库
Web开发
Flask相关
REST服务
- Eve: 基于Flask的灵活RESTful服务
- Django REST framework
- Falcon: 高性能微服务框架
I/O 多线程
- Curio : 协程库,aysncio的其他版本
功能增强
- CUP, common useful python-lib: baidu
- schedule: 类似cron的任务安排
- ElastAlert : Elasticsearch提醒
- Celery /web前端展示Flower: 异步消息/任务队列,可用于发送邮件任务等
- rq: 精简版任务队列,基于Redis
- click - 命令行工具
- tenacity - 重试
日志Logging
图像处理
- Pillow
- vc2/opencv-python
- imageio:读写图像/视频
- pyzbar: QRCode/二维码解析
- python-qrcode: 生成二维码
- matplotlib
- 图像figure
- subplot 子区 / axes 子图
- label + legend 图例
- 画横线 pyplot.axhline
- ticker 刻度, spines 轴线
加密
- cryptography / Building cryptography on Windows
- PyCryptodome: PyCrypto增强版
- M2Crypto: crypto and SSL toolkit for Python
- Python-RSA: RSA纯Python实现
- PyKerberos : Kerberos (GSSAPI) wrapper,用户认证/用户组支持系统
Windows安装cryptography会遇到错误:“Cannot open include file: ‘openssl/opensslv.h’: No such file or directory”, 解决办法是安装openssl Windows编译版并设置环境变量。
我在Windows 10下用的这个版本可以正常工作。
# 设置系统环境变量
LIB = C:\Program Files\OpenSSL-Win64\lib
INCLUDE = C:\Program Files\OpenSSL-Win64\include
网络抓取
- Scrapy/Portia web前端
- pyspider- 爬虫库
- Beautiful Soup 4 - 网页解析
- pyquery - 基于lxml的XML查询
语言规范
客户端
- Click: 命令行工具
- PyInstaller : 安装打包
- Kivy: 跨平台/手机产品原型设计
运维相关
生产部署
- Gunicorn : WSGI HTTP Server
自动化/运维
- Fabric : 轻量部署
- Ansible
- Boto 3: AWS运维
- buildout - 构建工具
- ClusterShell - 在本地或远程Linux集群中并行运行命令
监控
测试
测试库/框架
- pytest : 基础测试框架
- Faker : 假数据生成
- Mimesis Fake Data Generator
- 易出错输入字符集/Big List of Naughty Strings
- PyAutoGUI: GUI自动化,操作鼠标/键盘
性能测试
数据科学
数据处理
- pandas
- openpyxl /XlsxWriter /xlrd : Excel操作
- tablib - XLS, CSV, JSON, YAML等表格式数据集
- q - CSV数据用SQL查询
- List of Python API Wrappers 接口python库
- jsonpath-ng/python-jsonpath-rw: JSONPath Python实现
可视化
- Matplotlib : 最早接触的绘图库
- Bokeh : 交互式可视化
System
- sh - subprocess替代库
- watchdog - Python library and shell utilities to monitor filesystem events
- path - “Path” object conveniently wrapping assorted file/path-related functionality
- netifaces - Portable network interface information
工具
- HTTPie : 增强易用版curl
- httpbin/官方站 : 请求/响应服务,学习HTTP协议
- pycurl - libcurl的python库
- cookiecutter:项目开发模板
- tqdm: cli命令行进度条
- simpy 离散事件仿真
图像处理
- pillow
# 安装pillow依赖:
apt-get install libjpeg-dev zlib1g-dev
扩展阅读
- libhunt - 流行库的分类评测
- awesome-python - 不得不提的awesome系列
- 中文版awesome-python