Skip to content

Instantly share code, notes, and snippets.

@khiemdoan
Last active August 15, 2024 07:22
Show Gist options
  • Save khiemdoan/7f2e98ce0e11576e584d2bfcfb519623 to your computer and use it in GitHub Desktop.
Save khiemdoan/7f2e98ce0e11576e584d2bfcfb519623 to your computer and use it in GitHub Desktop.
My own awesome list

Python

  • loguru - Loguru is a library which aims to bring enjoyable logging in Python.
  • more-itertools - More routines for operating on iterables, beyond itertools.
  • pydantic - Data validation using Python type hints.
  • msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML.
  • SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
  • Advanced Alchemy - Advanced Alchemy is a carefully crafted, thoroughly tested, optimized companion library for SQLAlchemy, offering useful and easy-to-use features for your database projects.
  • SQLModel - SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
  • Tortoise ORM - Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django.
  • Rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
  • wasabi - A lightweight console printing and formatting toolkit.
  • Redis OM - Redis OM Python makes it easy to model Redis data in your Python applications.
  • FastDepends - FastAPI Dependency Injection system extracted from FastAPI and cleared of all HTTP logic. This is a small library which provides you with the ability to use lovely FastAPI interfaces in your own projects or tools.
  • WireUp - Dependency injection library designed to provide a powerful and flexible way to manage and inject dependencies making it easier to develop, test, and maintain Python codebases.

Javascript/Typescript

  • nvm - nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.
  • MikroORM - About TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases.
  • Drizzle ORM - Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind.
  • Redis OM - Redis OM for Node.js makes it easy to model Redis data in your Node.js applications.

Java

C/C++

  • Asio - Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
  • Boost - Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing.
  • Qt - Qt is the complete software development framework.
  • wxWidgets - wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.
  • wxFormBuilder - wxFormBuilder is a GUI builder for the wxWidgets framework.
  • ImGui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies.
  • OpenCV - OpenCV: Open Source Computer Vision Library.
  • ImageMagick - ImageMagick is a free and open-source software suite for displaying, converting, and editing raster image and vector image files. It can read and write over 200 image file formats, and can support a wide range of image manipulation operations, such as resizing, cropping, and color correction.

Golang

  • gorm - The fantastic ORM library for Golang, aims to be developer friendly.
  • samber/lo - A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...).
  • samber/do - A dependency injection toolkit based on Go 1.18+ Generics.
  • Fyne - Fyne is an easy-to-use UI toolkit and app API written in Go. It is designed to build applications that run on desktop and mobile devices with a single codebase.
  • Wails - Create beautiful applications using Go.

Rust

  • Tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
  • Diesel - A safe, extensible ORM and Query Builder for Rust.
  • Dioxus - Dioxus is a React-inspired library for Rust focused on developer experience. Build fast, beautiful, and fully-featured apps for every platform in less time.

Android

  • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
  • Kotlin Multiplatform Mobile - Kotlin Multiplatform technology simplifies the development of cross-platform projects. The Kotlin applications will work on different operating systems like iOS, Android, macOS, Windows, Linux, watchOS, and others.
  • Compose Multiplatform - Develop stunning shared UIs for Android, iOS, desktop, and web.

.NET

  • Avalonia - A cross-platform .NET framework for building beautiful, modern graphical user interfaces (GUIs).

Backend Development

  • Django - Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.
  • litestar - Starlite is a powerful, flexible, highly performant and opinionated ASGI framework, offering first class typing support and a full Pydantic integration.
  • FastAPI - FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints.
  • Flask - The Python micro framework for building web applications.
  • Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8).
  • Ktor - Ktor is an asynchronous framework for creating microservices, web applications and more. Written in Kotlin from the ground up.
  • Vert.x - Vert.x is a tool-kit for building reactive applications on the JVM.
  • Fresh - Fresh embraces the tried and true design of server side rendering and progressive enhancement on the client side.

Frontend Development

  • Bootstrap - Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.
  • Tailwind CSS - Tailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.
  • UnoCSS - UnoCSS is the instant atomic CSS engine, that is designed to be flexible and extensible. The core is un-opinionated, and all the CSS utilities are provided via presets.
  • MDBootstrap - Open Source UI Kits & Templates built using Bootstrap, Angular, React & Vue JS.
  • Tabler - Tabler is a free and open source web application UI kit based on Bootstrap 5, with hundreds responsive components and multiple layouts.
  • Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
  • htmx - high power tools for HTML.
  • hyperscript - An easy & approachable language for modern web front-ends.
  • Svelte / SvelteKit - Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
  • SolidJS - Simple and performant reactivity for building user interfaces.
  • Astro - Astro is an all-in-one framework for building fast websites faster. Grab content from anywhere, deploy everywhere, and show the web what you've got.
  • MathML - Mathematical Markup Language (MathML) is an XML-based language for describing mathematical notation.
  • MathJax - MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all modern browsers, with built-in support for assistive technology like screen readers.

Data Analysis

  • pandas - pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.
  • Polars - Lightning-fast DataFrame library for Rust and Python.
  • NumPy - NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.

Data Visualization

  • matplotlib - Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
  • seaborn - Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.
  • Streamlit - The fastest way to build and share data apps.
  • Plotly - The interactive graphing library for Python (includes Plotly Express).

Database

  • PostgreSQL - PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
  • MariaDB - MariaDB: The open source relational database.
  • TimescaleDB - TimescaleDB is a time-series SQL database providing fast analytics, scalability, with automated data management on a proven storage engine.
  • MongoDB - The MongoDB Database.
  • ArangoDB - Graph database to drive value from connected data, faster.
  • FerretDB - FerretDB was founded to become the de-facto open-source substitute to MongoDB. FerretDB is an open-source proxy, converting the MongoDB 6.0+ wire protocol queries to SQL - using PostgreSQL as a database engine.
  • PgCat - PostgreSQL pooler with sharding, load balancing and failover support.
  • Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
  • Valkey - Valkey is an open source (BSD) high-performance key/value datastore that supports a variety of workloads such as caching, message queues, and can act as a primary database. Valkey can run as either a standalone daemon or in a cluster, with options for replication and high availability.
  • EdgeDB - A graph-relational database with declarative schema, built-in migration system, and a next-generation query language.
  • Cassandra - Open Source NoSQL Database. Manage massive amounts of data, fast, without losing sleep.
  • ScyllaDB - NoSQL data store using the seastar framework, compatible with Apache Cassandra.
  • libSQL - libSQL is SQLite for modern applications.

Search Engine

  • Elasticsearch - Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.
  • OpenSearch - OpenSearch is a family of software consisting of a search engine, and OpenSearch Dashboards, a data visualization dashboard for that search engine.
  • Manticore Search - Manticore Search is an easy to use open source fast database for search. Modern, fast, light-weight, outstanding full-text search capabilities.
  • Meilisearch - Meilisearch is a flexible and powerful user-focused search engine that can be added to any website or application.

Message Queue / Event Streaming

  • RabbitMQ - RabbitMQ is the most widely deployed open source message broker.
  • NATS - NATS is a simple, secure and high performance open source data layer for cloud native applications, IoT messaging, and microservices architectures.
  • Redis - Low-latency message queue & broker software.
  • Kafka - Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
  • Pulsar - Apache® Pulsar™ is an open-source, distributed messaging and streaming platform built for the cloud.
  • Redpanda - Redpanda is a simple, powerful, and cost-efficient streaming data platform that is compatible with Kafka® APIs while eliminating Kafka complexity.

Machine Learning

  • scikit-learn - scikit-learn is a Python module for machine learning built on top of SciPy and is distributed under the 3-Clause BSD license.
  • XGBoost - XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting (also known as GBDT, GBM) that solve many data science problems in a fast and accurate way.
  • LightGBM - LightGBM is a gradient boosting framework that uses tree based learning algorithms.
  • PyTorch - PyTorch is an optimized tensor library for deep learning using GPUs and CPUs.
  • JAX - JAX is Autograd and XLA, brought together for high-performance numerical computing.
  • TensorFlow - TensorFlow makes it easy for beginners and experts to create machine learning models for desktop, mobile, web, and cloud.
  • Keras Core - Keras Core is a full rewrite of the Keras codebase that rebases it on top of a modular backend architecture. It makes it possible to run Keras workflows on top of arbitrary frameworks — starting with TensorFlow, JAX, and PyTorch.
  • PyTorch Ignite - High-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently.

Automation

  • Selenium - Selenium is an umbrella project encapsulating a variety of tools and libraries enabling web browser automation.
  • Puppeteer - Puppeteer is a Node library which provides a high-level API to control Chromium or Chrome over the DevTools Protocol.
  • Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

Tools

  • Code Beautify - Code Formatter, JSON Beautifier, XML Viewer, Hex Converters and more...
  • DBeaver - DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data.
  • Power BI - Create rich, interactive reports with visual analytics at your fingertips.
  • Helix - A post-modern text editor.
  • Zed - Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Distros

  • Kali Linux - Kali Linux is an open-source, Debian-based Linux distribution geared towards various information security tasks, such as Penetration Testing, Security Research, Computer Forensics and Reverse Engineering.
  • ParrotOS - Parrot Security Edition is a special purpose operating system designed for Penetration Test and Red Team operations.
  • Oracle Linux - A highly performant and secure operating environment, Oracle Linux delivers virtualization, management, automation, and cloud native computing tools, along with the operating system, in a single, easy-to-manage support offering. Oracle Linux provides a 100% application binary compatible alternative to Red Hat Enterprise Linux and CentOS Linux and is supported across both hybrid and multicloud environments.
  • Proxmox VE - Proxmox VE is a complete open-source platform for enterprise virtualization. With the built-in web interface you can easily manage VMs and containers, software-defined storage and networking, high-availability clustering, and multiple out-of-the-box tools on a single solution.
  • PrimeOS - PrimeOS, the ideal Android based OS for mobile games on PC/Laptop.
  • OpenBSD - The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system.
  • Redox OS - Redox is a Unix-like Operating System written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment