前言
PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。
我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~
本期为大家推荐GitHub上5个优质的Python项目,它们分别是:
•mitmproxy•pygame•pytudes•httpx•prefect
下面分别来介绍一下上述5个GitHub项目。
mitmproxy
Star:18.4k
mitmproxy[2]是一款可以用来拦截、修改、保存 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
pygame
Star:1.9k
pygame[3]是一款跨平台,用于开发各种多媒体软件(例如游戏)的一个Python库。
pygame是一个利用SDL库的写就的游戏库,它支持的功能包括但不限于,
•访问光驱•访问显示设备•绘制形状•管理事件•使用字体•加载和存储图片•使用手柄•读取键盘•...
通过使用pygame,你可以很容易开发一款多媒体应用。当然,你可以使用它来开发一款游戏。
pytudes
Star:13.6k
pytudes[4]是一个汇聚Python编程技巧的github项目。
目前github有很多有关Python的编程小技巧,但是大多数都是围绕着基础语法和单点的知识在展开。
和大多数汇集编程技巧的项目,pytudes更多的是由某个事件而发起的,为了解决一个问题而给出一个具体的实现过程,在这个过程中会展示很多Python编程技巧,我想,这样能够让学习者理解的更加深刻。
httpx
Star:4.3k
httpx[5]是一款用于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>...'
prefect
Star:2k
prefect[6]是一款面向数据科学的工作流自动化管理系统。
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
打开管理页面。