小天管理 发表于 7月26日 Share 发表于 7月26日 兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python 、Java 、Go 、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣! 以下为本期内容|每个月 28 号更新 C 项目 1 、darktable:开源的摄影后期处理工具。这是一款免费且专业的摄影作品后期处理软件。它像一个虚拟的光桌和暗房,能够帮助摄影师存储数字底片、放大查看和检索照片。该软件可以显示照片的焦距和曝光度等信息,并支持编辑历史、地图模式和打印照片等功能。 2 、gnucash:完全开源的财务软件。这是一款适用于个人和小型企业的开源财务软件,它采用复式记账法,提供了简洁的操作界面,并支持生成报表、对账、多国货币,以及获取股票实时价格等功能,适用于 Windows 、Linux 和 macOS 平台。 C# 项目 3 、git-credential-manager:通用的 Git 凭据管理器。这是一个基于 .NET 开发的 Git 凭证存储和管理工具。它开箱即用、无需额外操作,使用 git 命令时,工具会自动引导完成登录,后续无需再次登录,轻松解决对远程 Git 仓库进行操作时遇到的需要登录和认证失败等问题,支持 GitHub 、Bitbucket 和 GitLab 等平台。 4 、Lean:基于 C# 的量化交易引擎。这是一款采用 C# 编写的开源、经过实战考验的量化交易引擎。支持使用 Python3 或 C# 编写交易算法,兼容 Windows 、Linux 和 macOS 平台,适用于量化交易策略研究、回测和实盘交易等场景。 5 、space-station-14:开源游戏《 14 号空间站》。该项目是经典游戏《 Space Station 13 》的开源重制版。在这款回合制多人角色扮演的游戏中,玩家可以选择各种角色,如工程师、船长和叛徒,并与其他玩家合作或竞争,在资源有限的环境中生存。 6 、subtitleedit:开源的视频字幕编辑工具。这是一款适用于 Windows 的免费视频字幕编辑器。它开箱即用且功能强大,支持创建、调整、同步和翻录字幕,还提供了自动翻译、字幕格式转换和语音识别等功能。 C++ 项目 7 、diff-pdf:直观比较两个 PDF 文件的工具。这是一款用 C++ 编写的 PDF 文件比较工具。它支持两种查看方式,将文件内容的差异输出到一个新的 PDF 文件,或直接在 GUI 中查看。 // 输出差异 diff-pdf --output-diff=diff.pdf a.pdf b.pdf // 直接查看 diff-pdf --view a.pdf b.pdf Go 项目 8 、buildg:交互式的 Dockerfile 调试工具。该项是基于 BuildKit 的交互式调试 Dockerfile 的工具,支持设置断点、单步执行和非 root 模式,并且可以在 VSCode 等编辑器中使用。 9 、devzat:程序员专属的 SSH 聊天室。这是一个通过 SSH 连接的聊天室,用户无需安装客户端,仅需一条 SSH 命令即可登录。它支持私人消息、多聊天室、图片和代码高亮等功能,还可以集成第三方服务、自托管 SSH 聊天室。 10 、expr:Go 语言的表达式库。该项目是专为 Go 语言设计的表达式语言和求值引擎,支持丰富的算子和高级函数,具有安全、无副作用和静态类型检测等特点。表达式是一行由变量、运算符和函数组成的代码,它能够简化复杂的计算任务,多用于动态配置和业务规则引擎等场景。来自 @两双筷子 sqldc 的分享 func main() { // 表达式 code := `all(Tweets, {.Len <= 240})` program, err := expr.Compile(code, expr.Env(Env{})) if err != nil { panic(err) } env := Env{ Tweets: []Tweet{{42}, {98}, {69}}, } // 计算表达式 output, err := expr.Run(program, env) if err != nil { panic(err) } fmt.Println(output) } 11 、gdu:快速查看磁盘使用情况的命令行工具。这是一个用 Go 语言编写的磁盘使用分析器,它能够快速扫描并展示文件和目录所占用的磁盘空间,支持 TUI (默认)、非交互和导出三种使用方式。 Java 项目 12 、cryptomator:为你的云端文件“上锁”的工具。这是一款开源的云存储文件加密工具,支持 Dropbox 、OneDrive 等主流云存储服务。它简单易用、跨平台、无需注册,采用 AES-256 加密上传至云存储的文件和目录,适用于需要备份数据至云端,又担心数据泄漏的场景。来自 @孤胆枪手 的分享 13 、JarEditor:直接编辑 JAR 文件的 IDEA 插件。这是一款 IntelliJ IDEA 插件,让你无需解压即可直接编辑 JAR 文件中的 class 和资源文件。它支持添加、删除、重命名 JAR 包内的文件和目录,并提供了搜索和复制 JAR 包内容等功能,兼容 SpringBoot 和 Kotlin 项目。来自 @鹰影 的分享 14 、PojavLauncher:Minecraft 游戏的 Android 启动器。该项目可以让你在 Android 上玩 Minecraft (我的世界),提供了离线和多人联机模式。它支持几乎所有版本的 Minercraft ,还可以安装 Forge 、Fabric 和 OptiFine 等模组和加载器。 JavaScript 项目 15 、grapesjs:免费的可视化 Web 页面构建平台。该项目通过直观的可视化界面,让用户能够通过拖拽的方式,快速设计和构建网站的 HTML 模板。它所见即所得、移动端适配,适用于官网、新闻和 CMS 等类型的网站。 16 、react-content-loader:轻松创建骨架屏的 React 组件。该项目是用于创建页面加载时的占位图 React 组件,它体积小、易定制,提供了多种预设样式和示例代码,拿来即用极易上手,支持 React 、Vue 和 Angular 等主流框架。 import { Code } from 'react-content-loader' const MyCodeLoader = () => <Code /> 17 、Sink:基于 Cloudflare 带访问统计的短链平台。该项目是运行在 Cloudflare 上的短链接服务,支持网址缩短、访问分析和链接有效期等功能。来自 @面条 的分享 18 、typebot.io:自托管的聊天机器人构建器。该项目通过可视化的拖拽界面,让用户能够轻松创建高级聊天机器人,并将其嵌入网站中。它提供了 30 多种聊天构建块,支持自托管、分析工具、自定义域名和品牌定制等功能,适用于在线客服和销售支持等场景。 19 、typed.js:极易上手的 JavaScript 打字动画库。该项目是专门用于创建打字动画效果的 JavaScript 库,它简单易用且 SEO 友好,支持删除效果、设置打字速度和循环次数等功能。 var typed = new Typed('.element', { strings: ["First sentence.", "Second sentence."], typeSpeed: 30 }); Kotlin 项目 20 、WiFiAnalyzer:用于分析 WiFi 信号的 Android 应用。该项目是用 Kotlin 写的 WiFi 分析工具,它提供了直观的图表展示 WiFi 网络情况,支持识别周围的 WiFi 、测量信号强度和查看频道拥挤程度等功能。 Python 项目 21 、buzz:音频转录与翻译工具。该项目是基于 Whisper 的音频转录和翻译工具,它开箱即用且操作简单,支持语音转文字、音频翻译、多种语言和离线使用,适用于 macOS 、Windows 和 Linux 平台。 22 、helium:简化浏览器自动化的 Python 库。该项目是基于 Selenium 的轻量级 Python 库,它通过提供更高级和易用的 API ,让用 Python 编写浏览器自动化脚本变得更加简单和方便,支持 Chrome 和 Firefox 浏览器。 23 、jurigged:Python 的热重载工具。这是一个专为 Python 提供热重载功能的库,它支持在程序运行时修改和更新 Python 代码,无需重启程序。 # Loop over a function jurigged --loop function_name script.py jurigged --loop module_name:function_name script.py # Only stop on exceptions jurigged --xloop function_name script.py 24 、python-sortedcontainers:更好用的 Python 排序集合库。该项目提供了 SortedList 、SortedDict 和 SortedSet 三种数据结构,完全兼容 List 、Dict 、Set 内置数据类型的 API 。尽管采用纯 Python 编写,其速度却可以媲美使用 C 扩展实现的 Python 库。 from sortedcontainers import SortedList sl = SortedList(['e', 'a', 'c', 'd', 'b']) # sl: SortedList(['a', 'b', 'c', 'd', 'e']) sl *= 10_000_000 sl.count('c') # 10000000 sl[-3:] # ['e', 'e', 'e'] from sortedcontainers import SortedDict sd = SortedDict({'c': -3, 'a': 1, 'b': 2}) # sd: SortedDict({'a': 1, 'b': 2, 'c': -3}) sd.popitem(index=-1) # ('c', -3) from sortedcontainers import SortedSet ss = SortedSet('abracadabra') # ss: SortedSet(['a', 'b', 'c', 'd', 'r']) ss.bisect_left('c') # 2 25 、radon:Python 代码质量分析工具。这是一款强大的 Python 代码度量工具,它能够计算多种代码指标,包括 McCabe 复杂度、Halstead 指标和可维护性指数,适用于 Python 代码质量评估和持续集成等场景。 $ radon cc sympy/solvers/solvers.py -a -nc sympy/solvers/solvers.py F 346:0 solve - F F 1093:0 _solve - F F 1434:0 _solve_system - F F 2647:0 unrad - F F 110:0 checksol - F F 2238:0 _tsolve - F F 2482:0 _invert - F F 1862:0 solve_linear_system - E F 1781:0 minsolve_linear_system - D F 1636:0 solve_linear - D F 2382:0 nsolve - C 11 blocks (classes, functions, methods) analyzed. Average complexity: F (61.0) Rust 项目 26 、komorebi:Windows 的平铺窗口管理器。这是一款专为 Windows 设计的桌面窗口管理工具,支持自动平铺窗口、管理多个虚拟桌面和多显示器等功能,适用于 Windows 10 及更高版本。 27 、min-sized-rust:优化 Rust 二进制文件大小的方法。Rust 构建时默认不会优化二进制文件的大小,该项目介绍了如何在保证 Rust 程序功能完整的同时,减少二进制文件体积的工具和技巧,适用于嵌入式和物联网等对程序体积敏感的场景。 28 、readyset:Rust 开发的 SQL 数据库缓存引擎。该项目是采用 Rust 开发的 Postgres 和 MySQL 数据库缓存层,支持自动维护缓存、缓存复杂的 SQL 查询结果和保持数据实时同步等功能。使用时无需改动代码即可集成到现有的应用和数据库之间,显著提升查询性能。来自 @DeShuiYu 的分享 Swift 项目 29 、ATV-Bilibili-demo:开源的 Apple TV 哔哩哔哩客户端。该项目是专为苹果电视( tvOS )设计的哔哩哔哩客户端,它可以用来观看 B 站上的视频、直播和弹幕,支持登录、投屏、搜索和历史记录等功能,就是安装有点麻烦。 30 、PlayCover:在 Mac 上运行 iOS 游戏和应用的工具。该项目是专为 Apple Silicon Mac 设备( M 系列芯片)设计,用于运行 iOS 应用和游戏的工具。它通过模拟 iPad 环境和键盘映射功能,让用户可以在 Mac 电脑上玩 iOS 游戏,需自行下载 IPA 文件,适用于 macOS 12.0 或更高版本。 其它 31 、dart_simple_live:简单易用的看直播工具。该项目可以让你在一个 APP 上看各种主流直播平台,并提供了 Android 、iOS 、macOS 和 Android TV 等客户端。 32 、github-readme-terminal:用复古终端 GIF 展示 GitHub 个人资料。该项目可以根据你的 GitHub 个人数据,生成复古风格的电脑启动 GIF 动画,展示你的 GitHub 个人资料。 33 、hugo-book:书籍风格的 Hugo 主题。这是一个开源的 Hugo 主题,能够帮助用户轻松创建类似书籍的文档网站。它拥有简洁的设计、适配移动端、支持多语言,适用于技术文档、在线教程和书籍等场景。 34 、OMOTE:开源的通用遥控器。该项目是用 ESP32 制作的通用遥控器,它拥有 2.8 英寸电容触摸屏、2000 毫安电池和实体按键,支持红外、WiFi 和蓝牙连接方式,能够控制各种家电。 35 、pintree:Chrome 书签变成导航站。该项目可以通过简单的几步,将 Chrome 浏览器的书签,转换成一个美观且易用的导航页面。由于生成的是静态网站,因此无法自动同步新增的书签。来自 @孤胆枪手 的分享 36 、Scoop:Windows 命令行安装软件的利器。该项目是类似于 Homebrew 的 Windows 命令行安装工具。它可以从命令行安装应用程序,具有消除权限弹窗、隐藏 GUI 向导、自动处理依赖和防止污染 PATH 环境变量等特点。 scoop install sudo sudo scoop install 7zip git openssh --global scoop install aria2 curl grep sed less touch scoop install python ruby go perl 开源书籍 37 、introduction-to-git-and-github-ebook:《 Git 和 GitHub 入门指南》。这是一本介绍 Git 和 GitHub 基础知识的开源书籍,内容包括安装 Git 、GitHub CLI 、分支管理和工作流程等实用知识。 38 、machine-learning-for-trading:《 Machine Learning for Algorithmic Trading 》配套代码。这是一本关于如何将机器学习应用于交易策略的书籍,该项目是书籍的配套代码和资源,包含 150 多个代码示例,涵盖了数据采集、模型训练和策略评估等方面。 机器学习 39 、gpt-computer-assistant:极简的 GPT-4o 客户端。该项目是适用于 Windows 、macOS 和 Ubuntu 的 GPT-4o 客户端,它拥有极简的用户界面,支持执行多种任务,包括读取屏幕、打开应用、系统音频和文本输入等。 40 、mem0:增强 LLM 上下文连续性的 Python 库。该项目能为多种主流的大型语言模型提供记忆层,它支持保存用户与 LLM 交互时的会话和上下文,并能实时动态更新和调整,从而增强 AI 的个性化,适用于学习助手、医疗助理和虚拟伴侣等需要长期记忆的个性化 LLM 应用。 from mem0 import Memory m = Memory() # Add result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"}) # Search related_memories = m.search(query="What are Alice's hobbies?", user_id="alice") # Update result = m.update(memory_id="m1", data="Likes to play tennis on weekends") 41 、Retrieval-based-Voice-Conversion-WebUI:开箱即用的 AI 变声器。该项目是基于 VITS 的变声框架,仅需少量语音数据和普通的显卡,就能快速训练出高质量的语音转换模型。它提供了简单易用的 Web 和 GUI 界面,支持实时变声、人声和伴奏分离等功能。 最后 感谢参与分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧! 感谢您的阅读! 引用 意见的链接 分享到其他网站 More sharing options...
已推荐帖子
加入讨论
您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.