DevWeekly/docs/13-pyhubweekly.md

6.0 KiB
Raw Permalink Blame History

前言

PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具。

我把PyHubWeekly托管到了Github感兴趣的可以搜索Github项目PyHubWeekly如果喜欢麻烦给个Star支持一下吧。此外欢迎大家通过提交issue来投稿和推荐自己的项目~

本期为大家推荐GitHub上5个优质的Python项目它们分别是

  • mitmproxy
  • pygame
  • pytudes
  • httpx
  • prefect

下面分别来介绍一下上述5个GitHub项目。

mitmproxy

Star18.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

pygame

Star1.9k

pygame是一款跨平台用于开发各种多媒体软件例如游戏的一个Python库。

img

pygame是一个利用SDL库的写就的游戏库它支持的功能包括但不限于

  • 访问光驱
  • 访问显示设备
  • 绘制形状
  • 管理事件
  • 使用字体
  • 加载和存储图片
  • 使用手柄
  • 读取键盘
  • ...

通过使用pygame你可以很容易开发一款多媒体应用当然你可以使用它来开发一款游戏。

pytudes

Star13.6k

pytudes是一个汇聚Python编程技巧的github项目。

目前github有很多有关Python的编程小技巧但是大多数都是围绕着基础语法和单点的知识在展开。

img

和大多数汇集编程技巧的项目pytudes更多的是由某个事件而发起的为了解决一个问题而给出一个具体的实现过程在这个过程中会展示很多Python编程技巧我想这样能够让学习者理解的更加深刻。

httpx

Star4.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>...'

prefect

Star2k

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打开管理页面。


推荐阅读