下拉刷新
Python 项目

这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub Python 项目 集合。

41
bilive
Star 3.1k
Vol.110
23 天前

一站式 B 站直播录制与切片工具。这是一款 B 站直播录制工具,支持自动录制、切片、弹幕渲染与投稿。它速度快、占用少、硬件要求低,通过集成语音识别、视频理解、图像生成等模型,实现从录制、切片到上传的全流程自动化。

bilive
Star 1.3w
Vol.110
1 个月前

绕过 CF 保护的代理服务器。该项目能够帮助开发者绕过 Cloudflare 和 DDoS-GUARD 防护。它通过在请求间设置代理服务,模拟 Chrome 无头浏览器完成挑战,可将真实页面的 HTML 和 Cookie 返回给调用方,从而绕过保护机制。

43
pympler
Star 1.4k
Vol.110
8 个月前

Python 内存分析工具。该项目是用于内存分析与监控的 Python 库,支持对象大小测量(asizeof)、实时内存监控(muppy)、生命周期分析等功能。

from pympler import asizeof
obj = [1, 2, (3, 4), 'text']
asizeof.asizeof(obj)  # 176
print(asizeof.asized(obj, detail=1).format())
[1, 2, (3, 4), 'text'] size=176 flat=48
    (3, 4) size=64 flat=32
    'text' size=32 flat=32
    1 size=16 flat=16
    2 size=16 flat=16
Star 1.3w
Vol.110
2 个月前

高级 Python 编程教程。该项目是由 Python 社区知名专家 David Beazley (《Python Cookbook》作者)编写的高级 Python 编程课程,内容完全开源,涵盖生成器、协程、元编程、模块与包等,适合有一定 Python 基础的学习者。

Star 614
Vol.110
2 天前

开箱即用的 Python 限流库。这是一款轻量且灵活的 Python 限流库,同步/异步皆可用。它支持多种限流算法,包括固定窗口、滑动窗口、令牌桶、漏桶和 GCRA,适配 Redis 存储后端,并提供函数、装饰器和上下文管理器等多种灵活用法。

from throttled import RateLimiterType, Throttled, rate_limiter, store, utils

throttle = Throttled(
    # 📈 Use Token Bucket algorithm
    using=RateLimiterType.TOKEN_BUCKET.value,
    # 🪣 Set quota: 1,000 tokens per second (limit), bucket size 1,000 (burst)
    quota=rate_limiter.per_sec(1_000, burst=1_000),
    # 📁 Use In-Memory storage
    store=store.MemoryStore(),
)

def call_api() -> bool:
    # 💧 Deduct 1 token for key="/ping"
    result = throttle.limit("/ping", cost=1)
    return result.limited

if __name__ == "__main__":
    # 💻 Python 3.12.10, Linux 5.4.119-1-tlinux4-0009.1, Arch: x86_64, Specs: 2C4G.
    # ✅ Total: 100000, 🕒 Latency: 0.0068 ms/op, 🚀 Throughput: 122513 req/s (--)
    # ❌ Denied: 98000 requests
    benchmark: utils.Benchmark = utils.Benchmark()
    denied_num: int = sum(benchmark.serial(call_api, 100_000))
    print(f"❌ Denied: {denied_num} requests")
throttled-py
Star 4.3k
Vol.109
8 个月前

生成 ASCII 动画的 Python 库。这是一个用于构建交互式文本界面(TUI)和 ASCII 艺术动画的 Python 库,支持彩色文本、自动检测终端窗口尺寸变化、ASCII 艺术效果、鼠标和键盘输入等功能。

from asciimatics.effects import Cycle, Stars
from asciimatics.renderers import FigletText
from asciimatics.scene import Scene
from asciimatics.screen import Screen

def demo(screen):
    effects = [
        Cycle(
            screen,
            FigletText("HelloGitHub", font='big'),
            int(screen.height / 2 - 8)),
        Cycle(
            screen,
            FigletText("ROCKS!", font='big'),
            int(screen.height / 2 + 3)),
        Stars(screen, 200)
    ]
    screen.play([Scene(effects, 500)])

Screen.wrapper(demo)
asciimatics
Star 1.7w
Vol.109
3 天前

抵御暴力破解攻击的防护工具。这是一款用 Python 编写的入侵检测与防御系统(IDS/IPS),保护服务器免受暴力破解攻击。它能够实时监控日志文件,一旦检测到多次认证失败,便会自动更新防火墙规则,拒绝来自可疑 IP 的连接,支持 SSH、FTP、Web 等多种常见服务。

48
isort
Star 6.9k
Vol.109
14 天前

自动整理 Python 导入语句的工具。该项目能够自动识别并规范 Python 项目中的 import 语句,支持多行格式、智能缩进和灵活的排序规则,轻松统一代码风格和导入规范。

isort
49
pyper
Star 1.5k
Vol.109
1 年前

简化 Python 并发编程的框架。这是一个致力于让 Python 并发处理数据变得简单的框架。它基于函数式编程模式,提供了统一且简洁的 API,支持多种并发任务类型,适用于 ETL 系统、数据微服务、数据采集等场景。

import time
from pyper import task

def len_strings(x: str, y: str) -> int:
    return len(x) + len(y)

def sleep(data: int) -> int:
    time.sleep(data)
    return data

def calculate(data: int) -> bool:
    time.sleep(data)
    return data % 2 == 0

pipeline = (
    task(len_strings) 
    | task(sleep, workers=3)
    | task(calculate, workers=2)
)
pyper
50
stock
Star 1.2w
Vol.109
10 天前

基于 Python 的股票分析系统。该项目是专为股票市场数据设计的 Web 平台,支持 Docker 一键部署。它采用 Python、Tornado 和 pandas 开发,能够自动获取每日股票行情、资金流向、分红等数据,并提供基本面、技术面、信息面等多种选股策略,支持股票指标计算、K 线形态识别、自定义策略模板等功能,适配 PC 和移动端设备。

stock