HelloGitHub Vol.97
HelloGitHub shares interesting and beginner-friendly open source projects on GitHub, updated on the 28th of each month. Here you will find fun and beginner-level open source projects, open source books, practical projects, and enterprise-level projects, allowing you to quickly appreciate the charm of open source and develop an interest in it.
Carrier-grade Open Source Telephony Platform. This is an open source communication framework that supports various communication protocols such as SIP and WebRTC. Serving as a multipurpose soft switch, it can be used to create a variety of voice and messaging services, such as enterprise telephone systems, virtual call centers, and video conferencing services.
A Time-Honored Roguelike Game. This is a classic single-player Roguelike game where players take on the role of a dungeon explorer in search of the mystical Amulet of Yendor. The game interface is composed of ASCII characters and is characterized by its high degree of freedom, difficulty, randomly generated maps, and permanent death, making it a game that players refer to as one that can be played for a lifetime.
Compact and Beautiful IoT Operating System. This is an open-source IoT operating system initiated by Chinese developers, featuring excellent scalability and extensibility. It can run on a minimal kernel on an ARM Cortex-M0 chip, to a medium-sized ARM Cortex-M3/4/7 system, and even on different processor architectures such as multi-core 64-bit ARM Cortex-A, MIPS32/64. It also provides a rich set of components and software packages that can help developers quickly build embedded system products.
A Lightweight Alternative to ASUS Armoury Crate. This project is an open-source alternative to the ASUS Armoury Crate (a control software for gaming notebook). It features a clean interface and minimal system resource usage, supporting seamless switching between GPU modes, adjusting screen refresh rates, fan curves, power consumption settings, and keyboard lighting functions.
User Interface for Windows Package Manager. This project is a user interface designed for commonly used command-line package management tools for Windows, such as Winget, Scoop, Pip, NPM, .NET Tool, and so on. It offers a friendly interface, aesthetically pleasing design, and supports Chinese language, allowing you to easily download, install, update, and uninstall any software published on the package manager as well as other daily applications like browsers and PDF readers.
C++ Code from a Compiler's Perspective. This is a development tool based on Clang that can transform source code into the compiler's deduction results, allowing users to deeply understand the internal mechanisms of the code from the perspective of the compiler. It can be used to demonstrate and explain abstract syntax trees (ASTs) and new features of the C++ language.
An Open-Source Planetarium Simulation Software. This project is an essential tool for astronomy enthusiasts. It can accurately simulate and display the celestial scenery overhead, including stars, constellations, planets, comets, and other celestial bodies. It supports functions such as selecting time and location, zooming in to observe, and graphical representation of constellations. Client software for multiple platforms including Windows, Linux, macOS, iOS, and Android is provided.
Cross-Platform Video Structurization and Analysis Framework. This is a framework for video analysis and structurization, written in C++ with few dependencies and easy to get started. It works like a pipeline where each node is independent, allowing for the creation of various types of video analysis pipelines. It is suitable for scenarios such as video structurization, image search, facial recognition, and behavioral analysis in security fields (e.g., traffic incident detection).
Terminal Tool for Generating Code Image. This project can convert code snippets and terminal outputs into images in PNG, SVG, and WebP formats. It is developed using the Go language, characterized by simple installation and ease of use. It supports generating images with a single command and can also create customized images through an interactive mode.
# macOS or Linux brew install charmbracelet/tap/freeze # Arch Linux (btw) pacman -S freeze # Nix nix-env -iA nixpkgs.charm-freeze
Open Source Distributed Tracing Platform. Inspired by Dapper and OpenZipkin, this project is a distributed call chain tracing platform created and open-sourced by Uber. It can be used for monitoring and diagnosing distributed applications (microservices), with features including multi-language support, full linkage tracing, context propagation, performance metrics, visualization, and alerting.
Open Source Alternative to GitHub Gist. This project stores code or text snippets in a Git repository, allowing users to view and modify content via Git commands or a web interface, similar to GitHub's Gist service. It is open-source, self-hostable, supports the creation of public/private snippets, syntax highlighting, code search, embedding on other websites, and version history features.
Free, Open-Source Face Recognition System. This project provides a REST API service for face recognition, detection, verification, head pose estimation, gender, and age identification, allowing easy integration into any system without the need for knowledge of machine learning. It is written in Java for the backend, with face recognition implemented using FaceNet and InsightFace, and also supports Docker deployment.
Free and Open Source Android App Store. This project is the Android client for F-Droid, an app store specifically collecting various open-source Android software (FOSS). Most applications within are free and ad-free, and if you encounter slow resource loading, you can resolve this by changing the mirror source settings.
Fast, Style-agnostic Command Menu React Component. This project enables developers to easily implement an intuitive and function-rich command menu, similar to the interactive menu invoked by the ⌘K shortcut, thereby enhancing the user's interactive experience and suitable for a variety of web applications.
import { Command } from 'cmdk' const CommandMenu = () => { return ( <Command label="Command Menu"> <Command.Input /> <Command.List> <Command.Empty>No results found.</Command.Empty> <Command.Group heading="Letters"> <Command.Item>a</Command.Item> <Command.Item>b</Command.Item> <Command.Separator /> <Command.Item>c</Command.Item> </Command.Group> <Command.Item>Apple</Command.Item> </Command.List> </Command> ) }
Open Source Documentation and Team Knowledge Base Management Tool. This is an online document editing and collaboration tool developed with React and Node.js. It features a beautiful interface, rich functionality, and Markdown compatibility, and supports Chinese language and Docker deployment. Moreover, it offers clients for Windows, macOS, iOS, and Android, and can serve as a private wiki or an internal documentation and knowledge base platform for small and medium-sized companies.
JavaScript Library for Displaying 360° Spherical Panoramas. This is a panoramic image viewer developed based on Three.js, providing friendly interaction and a wealth of features. It supports various formats of panoramic images and functions, including 2:1 spherical panoramas, cubemap panoramas, tiled panoramic images, displaying text, and video panoramas.
The World's Leading Open-Source Headless CMS. This is a completely free, headless content management system developed with JavaScript/TypeScript. It comes with out-of-the-box APIs and a user-friendly management panel, featuring built-in permission management, default security, SEO-friendliness, and more. As one of the most popular open-source content management systems on GitHub, Strapi has become the preferred CMS for many Fortune 500 companies.
Free and Open Source Landing Page Template. This project is a landing page template built with TailwindCSS, React, and Next.js, featuring an aesthetically pleasing interface, straightforward code, and modern design, suitable for rapidly creating company home pages, event landing pages, and more.
git clone 项目 yarn install yarn dev # http://localhost:3000
Minimalist Android Weather App. This is a weather application that highly emphasizes design, adopting the Material Design language. It is simple and clean, free of ads, supports Chinese, and can display precipitation in the next hour, air quality, hourly forecasts, real-time weather data, pollen, humidity, and various other weather data.
Tool for Converting Untrusted Documents to Secure PDFs. This is an open-source project that ensures document security by converting PDF files, office documents, or images that pose potential risks (of unknown origin, email attachments) in an isolated sandbox environment, generating secure PDF files.
Create Beautiful Tables with Python. This Python library is used for crafting practical and visually appealing tables. It provides a set of table components that can be combined in various ways, such as table headers, footers, row labels (stub), and spanner labels, assisting Python developers in effortlessly creating attractive data tables.
from great_tables import GT from great_tables.data import sp500 # Define the start and end dates for the data range start_date = "2010-06-07" end_date = "2010-06-14" # Filter sp500 using Pandas to dates between `start_date` and `end_date` sp500_mini = sp500[(sp500["date"] >= start_date) & (sp500["date"] <= end_date)] # Create a display table based on the `sp500_mini` table data ( GT(sp500_mini) .tab_header(title="S&P 500", subtitle=f"{start_date} to {end_date}") .fmt_currency(columns=["open", "high", "low", "close"]) .fmt_date(columns="date", date_style="wd_m_day_year") .fmt_number(columns="volume", compact=True) .cols_hide(columns="adj_close") )
Python Library for Controlling Xiaomi Smart Home Appliances. This project offers a Python library and command-line tool designed to control devices that use Xiaomi's miIO and MIoT protocols. With it, users can easily communicate with and remotely control Xiaomi smart devices, including robotic vacuum cleaners, light bulbs, air purifiers, and more, making it an ideal solution for developers who enjoy building DIY smart home systems.
Python Library to Bypass Anti-Scraping Detection. This is an optimized Selenium WebDriver patch specifically designed to prevent triggering anti-robot mechanisms during browser automation. It can hide browser characteristics (fingerprints) and is very convenient to use, just like a third-party Python library.
import undetected_chromedriver as uc driver = uc.Chrome(headless=True,use_subprocess=False) driver.get('https://nowsecure.nl') driver.save_screenshot('nowsecure.png')
Comprehensive WeChat Reading Assistant for Notes. This is a desktop client for WeChat Reading, written based on PySide6, which not only supports the function of reading books but also has a note mode that allows you to view all your reading notes and popular highlights, among other content.
Command-line Tool for Automatically Generating Regular Expressions. When you're unsure of how to write a regular expression, this tool might be of help. This project is a command-line tool developed in Rust that generates the corresponding regular expression based on the user-provided sample content. It can be used as either a library or a command-line utility.
Powerful Rust Asynchronous SQL Toolkit. This is a genuine asynchronous SQL library developed entirely in Rust language, supporting PostgreSQL, MySQL, MariaDB, and SQLite databases. It provides features such as compile-time checking of query statements and automatic statement caching, making interactions between Rust and SQL databases easy and efficient.
use sqlx::postgres::PgPoolOptions; // use sqlx::mysql::MySqlPoolOptions; // etc. #[async_std::main] // Requires the `attributes` feature of `async-std` // or #[tokio::main] // or #[actix_web::main] async fn main() -> Result<(), sqlx::Error> { // Create a connection pool // for MySQL/MariaDB, use MySqlPoolOptions::new() // for SQLite, use SqlitePoolOptions::new() // etc. let pool = PgPoolOptions::new() .max_connections(5) .connect("postgres://postgres:password@localhost/test").await?; // Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB) let row: (i64,) = sqlx::query_as("SELECT $1") .bind(150_i64) .fetch_one(&pool).await?; assert_eq!(row.0, 150); Ok(()) }
Build an Email Communication Service from Scratch with Rust. This project is solely the accompanying source code for the book 'Zero To Production In Rust' and does not include the book itself. The book introduces the full process of building an email communication service from scratch using Rust, including development environment setup, continuous integration processes, backend API development, error handling, and deployment.
Native Color Picker for macOS. This is a color picker tool specifically designed for macOS. It is free, fast, and user-friendly, allowing you to quickly identify color values on your screen.
Minimal macOS Menu Bar Reminder Tool. This is a small tool developed with SwiftUI that can display and remind you of to-do items in the macOS menu bar. It is compact in size, simple in interaction, and has a fresh interface. It supports features such as startup at boot, multi-language support (including Chinese), menu bar count display, and hotkeys.
Framework for LLM-based Applications. The LLM refers to large deep learning models that are pre-trained on big data. This project enables LLM to access new datasets without further training. It provides a variety of modules required for developing LLM applications, including context source connection and inference based on LLM. This simplifies the development of various applications supported by LLMs, such as chatbots, knowledge bases, and information extraction.
Framework for Fine-tuning Large Language Models. This is an open-source project that makes fine-tuning large language models easy. It supports various models such as LLaMA, Mistral, and ChatGLM, as well as features like incremental pre-training, reward model training, and precision levels. It introduces advanced algorithms and practical fine-tuning techniques, while also providing convenient monitoring tools to help users track the progress of their experiments.
Tool for Running Various Large Language Models Locally. This is a tool written in Go designed to install, launch, and manage large language models on a local machine with a single command. It supports models such as Llama 3, Gemma, Mistral, and is compatible with Windows, macOS, and Linux operating systems.
Chat with Your SQL Database. This project utilizes technologies such as Language Models (LLM), Retrieval-Augmented Generation (RAG), and database techniques, enabling users to query SQL databases through natural language, with answers provided by the generated SQL.
Open Source Media Sniffer Browser Extension. This browser extension named 'Cat Claw' can help you list the download addresses of music and video resources on the current page.
Collection of Container Images for Various Open Source Software. This project is a collection of Docker containers maintained and open-sourced by BitNami, encompassing a variety of open-source software, systems, and web applications. They have all been optimized and scanned for vulnerabilities, enabling one-click deployment with Docker, making it easy to deploy applications without the hassle of installation and configuration processes.
docker pull bitnami/APP docker pull bitnami/APP:[TAG]
Adorably Cute Logo Collection. This repository is a collection of various logo derivatives created by Sawaratsuki. These logos are exquisitely crafted and feature adorable artwork, including logos for programming languages, frameworks, tools, and major social media trademarks™️. They can be freely used for non-commercial purposes, such as for stickers, app icons, and other personal uses.
Purer Chrome Browser. This project is a browser that has removed Google services from the Chrome browser, while retaining full browser functionality.
A Browser Extension to Track Your Online Activity Time. This is an ad-free, open-source browser extension that records the time you spend browsing on different websites and provides intuitive statistics. It supports tracking browsing time by day and hour, filtering disruptive sites, and exporting data.
A Self-Study Guide to Robotics. This guide is specifically designed for individuals without a formal background in the field, aiming to direct them on how to learn robotics. It encompasses essential knowledge, recommended introductory textbooks, practical projects, and advanced methods to help readers progressively develop into outstanding robotic engineers.
Learn to Develop Large Model Applications. This project is a large model application development tutorial designed specifically for novice developers. It covers concepts of large models, how to call large model APIs, the construction of knowledge bases, building RAG (Retrieval-Augmented Generation) applications, and evaluation methods.
- C
- C#
- C++
- Go
- Java
- JavaScript
- Kotlin
- Python
- Rust
- Swift
- AI
- Other
- Book