社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

《HelloGitHub》第 105 期

HelloGitHub • 7 月前 • 137 次点击  

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!


以下为本期内容|每个月 28 号更新

C 项目

1、fluent-bit:高效轻量的日志收集与处理工具。这是一个轻量级、高效的日志收集、处理和转发工具,支持实时收集和处理来自不同来源的日志数据,具有低内存和 CPU 占用的特性。

地址:github.com/fluent/fluent-bit

2、write-a-hash-table:从零用 C 语言实现哈希表。该项目是讲解如何用 C 语言实现一个开放寻址和双重哈希的哈希表,代码约为 200 行,预计学习时间为 1 到 2 小时。

地址:github.com/jamesroutley/write-a-hash-table

C# 项目

3、ArchiSteamFarm:开源的 Steam 挂卡工具。这是一个用 C# 开发的工具,可以管理多个 Steam 账号并自动收集卡牌,无需安装或运行 Steam 客户端,支持 VAC 免疫、交易等功能,适用于 Windows、Linux 和 macOS 系统。

地址:github.com/JustArchiNET/ArchiSteamFarm

4、qttabbar:为 Windows 资源管理器增加标签页功能的工具。这是一个用 C# 开发的小工具,允许用户在 Windows 资源管理器(Explorer)中使用标签页功能,支持以标签页的形式同时打开和管理多个文件夹。

地址:github.com/indiff/qttabbar

C++ 项目

5、love:完全免费的 2D 游戏引擎。这是一款免费、开源、可商用的 2D 游戏开发框架,支持使用 Lua 语言开发跨平台的 2D 游戏,兼容 Windows、macOS、Linux、Android 和 iOS 平台。

地址:github.com/love2d/love

6、WLED:无线控制 LED 灯带。该项目是一个运行在 ESP32 和 ESP8266 上的 Web 服务器,可实现通过 WiFi 控制 LED 灯带的颜色和效果,支持 100 种特效、50 种调色板、250 个用户自定义预设等功能。

地址:github.com/Aircoookie/WLED

CSS 项目

7、latex-css:LaTex 文档风格的 CSS 库。这是一个能够让你的网站看起来像 LaTex 文档的 CSS 样式库,支持定理、定义、引理和证明的标签,以及作者、副标题、摘要等可选的类名。

地址:github.com/vincentdoerig/latex-css

Go 项目

8、gofakeit:快速生成假数据的 Go 库。该项目是用于生成各种假数据的 Go 语言库,支持随机生成名字、地址、电话和日期等格式的数据。它默认不支持生成中文假数据,但可以通过自定义方式扩展或调整生成逻辑实现。来自 @DeShuiYu 的分享




    
gofakeit.Name()             // Markus Moen
gofakeit.Email()            // alaynawuckert@kozey.biz
gofakeit.Phone()            // (570)245-7485
gofakeit.BS()               // front-end
gofakeit.BeerName()         // Duvel
gofakeit.Color()            // MediumOrchid
gofakeit.Company()          // Moen, Pagac and Wuckert
gofakeit.CreditCardNumber() // 4287271570245748
gofakeit.HackerPhrase()     // Connecting the array won't do anything, we need to generate the haptic COM driver!
gofakeit.JobTitle()         // Director
gofakeit.CurrencyShort()    // USD

地址:github.com/brianvoe/gofakeit

9、hertz:字节跳动开源的 Go 微服务 HTTP 框架。该项目是由 CloudWeGo 团队开发的高性能、易扩展的 Go 语言 Web 框架,可用于构建 RESTful API、微服务以及需要高吞吐量的 Web 应用。在字节跳动内部,Hertz 已被广泛应用,表现稳定可靠。来自 @DeShuiYu 的分享

地址:github.com/cloudwego/hertz

10、lima:在 macOS 上轻松运行 Linux 虚拟机。这是一款在 macOS 上创建和管理 Linux 虚拟机的工具,它通过 QEMU 和 macOS 原生虚拟化技术,提供一个开箱即用、轻量级的 Linux 虚拟机环境,支持运行各种 Linux 应用和工具,以及 Docker、Podman、K8s 等容器。

# 安装
brew install lima
# 启动
limactl start
# 运行 Linux 命令
lima sudo apt-get install -y neofetch
lima neofetch
# 运行容器
lima nerdctl run --rm hello-world
kubectl apply -f ...

地址:github.com/lima-vm/lima

11、primitive:用几何图形生成图像。该项目是用 Go 语言开发的命令行工具,它通过图像处理算法,可将任意图像转换为仅由单一几何图形组成的图像。

地址:github.com/fogleman/primitive

12、zap:快速、结构化的 Go 日志库。该项目是 Uber 开发的一款高性能日志库,专为那些需要快速、结构化日志记录的场景而设计。与其他 Go 语言的日志库相比,zap 的性能更为优越,尤其是在需要频繁记录日志的高并发环境中。来自 @两双筷子sqldc 的分享

logger, _ := zap.NewProduction()
defer  logger.Sync() // flushes buffer, if any
sugar := logger.Sugar()
sugar.Infow("failed to fetch URL",
  // Structured context as loosely typed key-value pairs.
  "url", url,
  "attempt"3,
  "backoff", time.Second,
)
sugar.Infof("Failed to fetch URL: %s", url)

地址:github.com/uber-go/zap

Java 项目

13、async-profiler:Java 性能分析工具。这是一个低开销的 Java 采样分析器,可用于对 Java 应用进行性能分析。它能够帮助开发者追踪 CPU 消耗的热点代码路径、定位内存泄漏,以及分析线程锁争用和线程间的同步等问题。来自 @塔咖 的分享

地址:github.com/async-profiler/async-profiler

14、javaparser:强大的 Java 代码解析库。这是一个纯 Java 实现的解析库,专为解析、分析和生成 Java 代码而设计。它能够将 Java 代码解析为抽象语法树(AST),支持从 Java 1.0 到 Java 21 版本。可用于开发代码分析工具、重构工具、编译器等。

地址:github.com/javaparser/javaparser

15、kestra:事件驱动的声明式编排平台。这是一个基于 Java 开发的事件驱动编排平台,旨在简化计划性和事件驱动工作流。它提供直观的 Web 界面,内置代码编辑器和数百个插件,用户可以通过 YAML 代码轻松构建可靠的工作流,支持编排微服务、批处理任务、临时脚本、SQL 查询、数据同步等多种任务。来自 @啊gBAfV 的分享

地址:github.com/kestra-io/kestra

JavaScript 项目

16、Dexie.js:轻量级的 IndexedDB 库。这一个轻量级的 JavaScript 库,封装了浏览器原生的 IndexedDB API,使得在客户端浏览器中进行数据存储和查询变得更加容易,支持存储大量数据、事务和索引等功能。

const db = new Dexie('MyDatabase');

// Find some old friends
const oldFriends = await db.friends
    .where('age').above(75)
    .toArray();

// or make a new one
await db.friends.add({
    name'HelloGitHub',
    age25,
    street 'East 13:th Street',
    pictureawait getBlob('HelloGitHub.png')
});

地址:github.com/dexie/Dexie.js

17、gitstars:你的 GitHub Star 管家。这是一个用于管理 GitHub 上 Star 项目的工具,支持根据标签和编程语言对项目进行分类。来自 @cfour 的分享

地址:github.com/cfour-hi/gitstars

18、jitsi-meet:开源的视频会议平台。这是一个基于 WebRTC 构建的视频会议平台,提供高清音视频质量,支持私聊、举手、投票和虚拟背景等多种功能,兼容所有主流浏览器和移动平台。

地址:github.com/jitsi/jitsi-meet

19、mermaid:用类似 Markdown 的语法绘制图表。这是一个开源的图表绘制工具,支持通过类似 Markdown 的语法生成多种类型的图表,如流程图、序列图和甘特图等。

地址:github.com/mermaid-js/mermaid

20、semantic-release:自动化的版本管理和发布工具。这是一个基于 Node.js 开发的自动化版本管理和发布工具,旨在通过语义化版本控制(Semantic Versioning)简化项目发布流程。它通过分析 Git 提交信息,自动推导版本号,并生成相应的变更日志。

地址:github.com/semantic-release/semantic-release

Kotlin 项目

21、ChinesePinyin-CodeCompletionHelper:支持拼音输入法自动补全的 JetBrains 插件。这是一个专为 JetBrains 系列 IDE 设计的插件,支持拼音和五笔输入法的代码补全功能。

地址:github.com/tuchg/ChinesePinyin-CodeCompletionHelper

Python 项目

22、grip:GitHub README 文件本地预览工具。这是一款用于本地预览 GFM(GitHub Flavored Markdown)文件的工具。它通过 Flask 和  GitHub Markdown API,能在本地环境中渲染并显示与 GitHub 完全一致的 Markdown 文件效果。

cd myrepo
$ grip
 * Running on http://localhost:6419/

地址:github.com/joeyespo/grip

23、ha_xiaomi_home:小米开源的 HA 插件。该项目是由小米开源的 Home Assistant 集成插件,可实现小米 IoT 智能设备与 Home Assistant 的无缝集成,支持设备发现、状态同步、远程控制等功能。来自 @魔羽Magic 的分享

地址:github.com/XiaoMi/ha_xiaomi_home

24、pex:相见恨晚的 Python 项目打包工具。这是一个开源的 Python 项目打包工具,专为跨环境部署和无法访问公网的部署场景设计。它能够将 Python 项目及其所有依赖,甚至是 Python 解释器(可选),打包成单个可执行文件(.pex),让开发者无需安装运行环境,即可直接运行 Python 程序,支持 Linux 和 macOS 系统。

$ pex "uvicorn[standard]" -c uvicorn --inject-args 'example:app --port 8888' -ohellogithub-app.pex
$ ./hellogithub-app.pex
INFO:     Started server process [2014]
INFO:     Waiting for application startup.
INFO:     ASGI 'lifespan' protocol appears unsupported.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8888 (Press CTRL+C to quit)
^CINFO:     Shutting down
INFO:     Finished server process [2014]

地址:github.com/pex-tool/pex

25、runlike:快速获取 Docker 容器启动命令的工具。这是一个用于解析运行中容器的工具,可自动生成对应的 docker run 启动命令。它能够提取容器的配置信息,包括包括端口绑定、映射卷、环境变量、网络设置等,适用于复制、调试或迁移容器的场景。来自 @猎隼丶止戈reNo7 的分享

$ runlike -p redis

docker run \
    --name=redis \
    -e "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
    -e "REDIS_VERSION=2.8.9" \
    -e "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-2.8.9.tar.gz" \
    -e "REDIS_DOWNLOAD_SHA1=003ccdc175816e0a751919cf508f1318e54aac1e" \
    -p 0.0.0.0:6379:6379/tcp \
    --detach=true \
    myrepo/redis:7860c450dbee9878d5215595b390b9be8fa94c89 \
    redis-server --slaveof 172.31.17.84 6379

地址:github.com/lavie/runlike

26、viztracer:开箱即用的 Python 性能分析工具。这是一款高效、易用的 Python 程序性能分析工具,帮助开发者调试代码和分析性能瓶颈。它针对性能追踪做了优化,尽可能减少对被分析程序的性能影响,支持时间线追踪、多进程分析和模块化追踪等功能,并生成直观、交互式的分析报告。来自 @孤胆枪手 的分享




    
# 安装
pip install viztracer
# 生成分析报告
viztracer my_script.py arg1 arg2
# 可视化查看报告
vizviewer result.json 

地址:github.com/gaogaotiantian/viztracer

Rust 项目

27、himalaya:管理邮件的命令行工具。这是一个用 Rust 开发的命令行电子邮件客户端,支持多账户、邮件收发、多种邮件协议(如 IMAP 和 SMTP)和 PGP 加密等功能。

地址:github.com/pimalaya/himalaya

28、zoxide:更智能的 cd 命令。这是一个用 Rust 编写的高效 cd 命令工具,灵感来自 z 和 autojump。它能够根据用户访问频率自动排序目录,快速定位最可能的目标目录,并支持模糊匹配和交互选择。来自 @啊gBAfV 的分享

地址:github.com/ajeetdsouza/zoxide

Swift 项目

29、ConfettiSwiftUI:五彩纸屑动画效果的 Swift 库。这是一个用于添加五彩纸屑动画效果的 Swift 库,支持自定义纸屑形状、爆炸半径和角度。

地址:github.com/simibac/ConfettiSwiftUI

30、MarkEdit:专为 macOS 设计的极简 Markdown 编辑器。这是一款适用于 macOS 的免费开源 Markdown 编辑器,体积小巧(仅 3 MB)。它提供干净清爽的界面和专注于写作的编辑环境。作者认为 Markdown 语法非常直观,因此未提供 Markdown 预览功能。

地址:github.com/MarkEdit-app/MarkEdit

人工智能

31、garak:开源的 LLMs 漏洞扫描工具。该项目是 NVIDIA 开源的用于扫描 LLMs 漏洞的工具,支持检测 LLM 可能存在的安全问题和不良行为,包括幻觉、数据泄漏、提示注入、错误信息、有毒内容生成和越狱等。

地址:github.com/NVIDIA/garak

32、letta:为 LLM 应用注入记忆能力的开发框架。该项目是用于构建具有记忆功能的 LLM 应用的 Python 框架,支持创建拥有长期记忆和持久状态的智能体(Agent),并能够集成多种 LLM API 服务。

地址:github.com/letta-ai/letta

33、MagicMirror:零门槛 AI 换脸应用。这是一款轻量级、开箱即用的 AI 换脸工具,无需 GPU、可离线使用,一键轻松尝试新形象(发型、穿搭等)。来自 @Del 的分享

地址:github.com/idootop/MagicMirror

34、vllm:更高效的 LLMs 推理和服务引擎。这是一个高效易用的大型语言模型推理引擎,专为解决推理速度慢、资源利用率低等问题而设计。它基于 PyTorch 和 CUDA,并结合内存优化算法(PagedAttention)、计算图优化和模型并行技术,大幅降低 GPU 内存占用,并充分利用多 GPU 资源提升推理性能。同时,vLLM 与 HF 模型无缝兼容。支持在 GPU、CPU、TPU 等多种硬件平台上高效运行,适用于实时问答、文本生成和推荐系统等场景。来自 @Caleb 的分享

from vllm import LLM

prompts = ["Hello, my name is""The capital of France is"]  # Sample prompts.
llm = LLM(model="lmsys/vicuna-7b-v1.3")  # Create an LLM.
outputs = llm.generate(prompts)  # Generate texts from the prompts.

地址:github.com/vllm-project/vllm

35、zerox:使用视觉模型将 PDF 转换为 Markdown。该项目基于视觉模型 API 服务,提供了将 PDF 文档转化为 Markdown 的功能。其原理是先将原文件(如 pdf、docx)转换为图片,然后把图片发给视觉模型处理,最后汇总所有结果生成完整的 Markdown 文件。




    
import path from "path";
import { zerox } from "zerox";

const result = await zerox({
  filePath: path.resolve(__dirname, "./hellogithub.pdf"),
  openaiAPIKey: process.env.OPENAI_API_KEY,
});

地址:github.com/getomni-ai/zerox

其它

36、awesome-low-level-design:系统详细设计的学习资源合集。这是一份帮助开发者学习和掌握 LLD(Low-Level Design)的资源集合,包含各种系统的实现细节、示例代码和接口定义等,非常适合准备面试和提升技术水平。

地址:github.com/ashishps1/awesome-low-level-design

37、bocker:仅用百行 shell 实现的 Docker。该项目通过大约 100 行 Bash 代码实现了 Docker 的基本功能,适合用于学习如何使用简单的脚本语言实现容器的核心功能。

地址:github.com/p8952/bocker

38、docker-xiaoya:一键部署 Alist+Emby+Jellyfin 服务。该项目提供了一键部署 Alist、Emby 和 Jellyfin 服务的解决方案,帮你轻松构建完整的家庭多媒体中心,支持 Linux、macOS、Windows 等平台。

地址:github.com/monlor/docker-xiaoya

39、domain-driven-hexagon:学习领域驱动设计与六边形架构的最佳实践。这是一个结合领域驱动设计(DDD)与六边形架构(Hexagonal Architecture)的示例项目,旨在帮助开发者理解如何设计高质量、可扩展、可维护的应用程序。

地址:github.com/Sairyss/domain-driven-hexagon

40、Racer:自制开源小赛车。该项目是基于 ESP32-H2 构建的小型赛车,仅有五六厘米大小。它能够识别颜色并作出反应(神经网络),同时支持键盘控制。来自 @孤胆枪手 的分享

地址:github.com/StuckAtPrototype/Racer

最后

谢参与分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目

希望本期内容有你感兴趣的开源项目,兴趣是最好的老师,它能点燃你对开源的热情、勇敢地迈出第一步,随时欢迎你加入开源的大家庭!如果还没看过瘾,点击阅读 往期内容。

- END -

关注「HelloGitHub」第一时间收到更新


点击阅读原文可按照编程语言浏览项目

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/177410
 
137 次点击