下拉刷新
Python 项目

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

101
pyarmor
Star 5.1k
Vol.104
5 天前

强大的 Python 脚本加密工具。这是一个用于对 Python 脚本进行混淆处理的命令行工具,仅需一条命令即可完成加密操作。它提供丰富的加密选项,用来平衡安全与性能,支持将加密后的脚本绑定到特定机器、设置加密有效期和 Themida 保护等功能。

Star 2.3w
Vol.103
2 年前

Python 量化交易回测框架。该项目是用 Python 编写的回测库,专为开发和测试交易策略而设计。它可以从 CSV 文件、在线数据源和 pandas 中提取数据,支持多策略同步运行、生成交易策略的可视化图表等功能。内置 100 多种指标,包括趋势、成交量和波动性等指标。

from datetime import datetime
import backtrader as bt

class SmaCross(bt.SignalStrategy):
    def __init__(self):
        sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
        crossover = bt.ind.CrossOver(sma1, sma2)
        self.signal_add(bt.SIGNAL_LONG, crossover)

cerebro = bt.Cerebro()
cerebro.addstrategy(SmaCross)

data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
                                  todate=datetime(2012, 12, 31))
cerebro.adddata(data0)

cerebro.run()
cerebro.plot()
backtrader
103
core
Star 9w
Vol.103
6 小时前

开源的智能家居平台。这是一个用 Python 编写的智能家居平台,旨在整合不同品牌的智能设备,提供个性化的家庭自动化体验。它解决了传统系统互操作性(Interoperability)差的问题,允许用户在同一平台上自由控制和联动 Apple HomeKit、米家、Aqara、涂鸦等设备,极大提升了智能家居的灵活性和便捷性。适合希望打破单一平台限制的用户,尤其是追求高性价比的 DIY 智能家居爱好者。

core
Star 4.4w
Vol.103
7 小时前

纸质文档数字化存档工具。这是一个基于 Django 的文档管理系统,可将纸质文档转换成可搜索的在线存档。不同于普通的扫描仪将实体书变为难以检索的图片或 PDF 格式,它通过文档扫描器实现电子化,转化为易于检索的格式。

paperless-ngx
105
pipreqs
Star 7.5k
Vol.103
4 个月前

快速生成 Python 项目依赖文件的工具。该项目可以根据 Python 项目中的导入语句,生成 requirements.txt 文件。它能够自动识别项目中使用的库,无需安装即可生成依赖库列表。

106
pokeapi
Star 5.3k
Vol.103
2 天前

宝可梦数据的 API 服务。这是一个基于 Django 构建的宝可梦数据 RESTful API 服务,为开发者提供全面的宝可梦数据库,包括小精灵的动作、属性、技能和进化信息等详细资料。

107
aiofiles
Star 3.3k
Vol.102
9 天前

Python 异步文件处理库。在 Python 中,传统的文件 I/O 是阻塞的,该项目提供了异步(非阻塞)的文件操作。它的 API 与 Python 标准库相似,支持 async/await 语法。

async with aiofiles.open('filename', mode='r') as f:
    contents = await f.read()
print(contents)
'My file contents'
108
cupy
Star 1.2w
Vol.102
14 小时前

GPU 版的 NumPy 和 SciPy。这是一个利用 GPU 加速数值计算的 Python 库,与 NumPy 和 SciPy 兼容。你可以轻松地将现有的 NumPy/SciPy 代码,迁移到 NVIDIA CUDA 或 AMD ROCm 平台上运行,部分情况下速度可提升 100 倍以上。

>>> import cupy as cp
>>> x = cp.arange(6).reshape(2, 3).astype('f')
>>> x
array([[ 0.,  1.,  2.],
       [ 3.,  4.,  5.]], dtype=float32)
>>> x.sum(axis=1)
array([  3.,  12.], dtype=float32)
cupy
109
curl_cffi
Star 6.2k
Vol.102
2 天前

模拟浏览器指纹的 HTTP 客户端。这是一个用 Python 写的 HTTP 客户端库,可以模拟浏览器 TLS、JA3 和 HTTP/2 指纹。它开箱即用、速度快,并且支持 WebSocket 和异步。

from curl_cffi import requests

# Notice the impersonate parameter
r = requests.get("https://tools.scrapfly.io/api/fp/ja3", impersonate="chrome")

print(r.json())
# output: {..., "ja3n_hash": "aa56c057ad164ec4fdcb7a5a283be9fc", ...}
# the js3n fingerprint should be the same as target browser

# To keep using the latest browser version as `curl_cffi` updates,
# simply set impersonate="chrome" without specifying a version.
# Other similar values are: "safari" and "safari_ios"
r = requests.get("https://tools.scrapfly.io/api/fp/ja3", impersonate="chrome")
curl_cffi
Star 1.6w
Vol.102
3 天前

可离线部署的翻译 API 服务。该项目是基于离线翻译引擎 Argos Translate 构建的翻译 API 服务。它不依赖第三方翻译服务,可轻松自建翻译 API 服务,支持自动语言检测、API 密钥和访问频率限制等功能。

LibreTranslate