PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
- mitmproxy
- pygame
- pytudes
- httpx
- prefect
下面分别来介绍一下上述5个GitHub项目。
Star:18.4k
mitmproxy是一款可以用来拦截、修改、保存 HTTP/HTTPS 请求中间代理工具,可以用于开发过程中的正向代理,反向代理,透明代理等。
安装mitmproxy之后会包含3个工具,mitmproxy、mitmdump、mitmweb。
mitmproxy是一个交互式的、支持SSL/TLS的拦截代理,具有HTTP/1、HTTP/2和WebSockets的控制台接口。
mitmdump是mitmproxy的命令行版本。
mitmweb是mitmproxy的一个基于web的接口。
安装
mitmproxy支持macos、linux、windows等多个平台的安装,也支持使用pip命令直接安装,
pip install mitmproxy
Star:1.9k
pygame是一款跨平台,用于开发各种多媒体软件(例如游戏)的一个Python库。
pygame是一个利用SDL库的写就的游戏库,它支持的功能包括但不限于,
- 访问光驱
- 访问显示设备
- 绘制形状
- 管理事件
- 使用字体
- 加载和存储图片
- 使用手柄
- 读取键盘
- ...
通过使用pygame,你可以很容易开发一款多媒体应用,当然,你可以使用它来开发一款游戏。
Star:13.6k
pytudes是一个汇聚Python编程技巧的github项目。
目前github有很多有关Python的编程小技巧,但是大多数都是围绕着基础语法和单点的知识在展开。
和大多数汇集编程技巧的项目,pytudes更多的是由某个事件而发起的,为了解决一个问题而给出一个具体的实现过程,在这个过程中会展示很多Python编程技巧,我想,这样能够让学习者理解的更加深刻。
Star:4.3k
httpx是一款用于Python3、功能齐全的http客户端,它提供同步和异步api,并支持HTTP/1.1和HTTP/2。
它不仅拥有requests具备的功能,它还具备更多更强大的功能,例如,
- 兼容的API
- 标准同步和异步接口
- 支持HTTP/1.1和HTTP/2
- 能够直接向WSGI应用程序或ASGI应用程序发出请求
- ...
例如,
>>> import httpx
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
Star:2k
prefect是一款面向数据科学的工作流自动化管理系统。
prefect是一个新的工作流管理系统,它是为现代基础设施而设计的,由开源的Prefect核心工作流引擎提供支持。用户将任务组织成流程,而prefect就可以负责其余的各种管理工作。
示例
from prefect import task, Flow, Parameter
@task(log_stdout=True)
def say_hello(name):
print("Hello, {}!".format(name))
with Flow("My First Flow") as flow:
name = Parameter('name')
say_hello(name)
flow.run(name='world') # "Hello, world!"
flow.run(name='Marvin') # "Hello, Marvin!"
启动prefect的本地用户界面来协调和管理工作流:
prefect server start
然后就可以跳转到http://localhost:8080打开管理页面。