下拉刷新
Python 项目

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

31
bilive
Star 3.1k
Vol.110
4 个月前

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

bilive
Star 1.2w
Vol.110
10 小时前

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

33
pympler
Star 1.4k
Vol.110
6 个月前

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 484
Vol.110
20 天前

开箱即用的 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.2k
Vol.109
6 个月前

生成 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.6w
Vol.109
10 天前

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

38
isort
Star 6.9k
Vol.109
6 天前

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

isort
39
pyper
Star 1.5k
Vol.109
10 个月前

简化 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
40
stock
Star 1.1w
Vol.109
4 个月前

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

stock