Skip to content

A curated list with useful Python programming tools and libraries, as well as other noteworthy resources.

License

Notifications You must be signed in to change notification settings

geru-scotland/pylib-atlas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pylib Atlas

PyAtlas

Welcome to my Python toolbox!

This repository is dedicated to organizing and documenting useful Python programming tools and libraries across various categories, as well as other noteworthy resources. It is still a work in progress.

Initially, this list started as a personal collection—a way for me to keep track of references and tools that I found invaluable in my coding journey. As the list grew and evolved, I decided to make it public with help from ChatGPT in hopes that it could serve as a resource for other developers.

Whether you're a seasoned developer or just starting out, I hope you find this repository useful.

As I continue to discover and learn about new tools and libraries, I plan to extend this list, making it an ever-growing resource for the programming community.

Table of Contents


🌐 Web Frameworks

Library Description Stars GitHub
Flask A lightweight WSGI web application framework in Python, designed for quick and easy web development. 66k Flask
Django A high-level Python web framework that encourages rapid development and clean, pragmatic design. 76.2k Django
Pyramid A lightweight Python web framework aimed at taking small web apps into big web apps. It is known for its flexibility and fine-grained control. 3.9k Pyramid
Tornado A Python web framework and asynchronous networking library, originally developed at FriendFeed. It is designed to handle asynchrony, enabling the development of real-time web applications. 21.5k Tornado
FastAPI A modern, fast (high-performance) web framework for building APIs with Python 3.7+ based on standard Python type hints, offering automatic Swagger UI documentation. 69.4k FastApi
Bottle A fast, simple, and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library. 8.3k Bottle
CherryPy A minimalist Python web framework, making it easy to build web applications much like you would build any other object-oriented Python program. This results in smaller source code developed in less time. 1.8k CherryPy

🤖 Machine Learning and AI

Library Description Stars GitHub
TensorFlow An end-to-end open source platform for machine learning that enables researchers and developers to easily build and deploy ML powered applications. 181k TensorFlow
PyTorch An open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing. 76.7k PyTorch
Scikit-learn A free software machine learning library for the Python programming language. It features various classification, regression, and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy. 57.7k Scikit-learn
Keras An open-source software library that provides a Python interface for artificial neural networks. Keras acts as an interface for the TensorFlow library. 60.7k Keras
XGBoost A scalable, portable and distributed gradient boosting library, designed to efficiently perform the gradient boosting decision tree algorithm, popular for structured or tabular data. 25.4k XGBoost
LightGBM A gradient boosting framework that uses tree-based learning algorithms. It is designed for distributed and efficient training, particularly for high-dimensional data. 15.9k LightGBM
CatBoost An open-source gradient boosting on decision trees library with categorical feature support out of the box, for machine learning. It yields state-of-the-art results without extensive data training typically required by other machine learning methods. 7.7k CatBoost
spaCy An open-source library for advanced Natural Language Processing (NLP) in Python. It's designed specifically for production use and helps you build applications that process and "understand" large volumes of text. 28.5k spaCy
NLTK A leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries. 12.9k NLTK
Hugging Face Transformers A library for natural language processing (NLP) that provides thousands of pre-trained models to perform tasks on texts such as classification, information extraction, question answering, and more, implemented in TensorFlow and PyTorch. 122k Hugging Face Transformers

📊 Data Science and analysis

Library Description Stars GitHub
Pandas An open source data analysis and manipulation tool, built on top of the Python programming language. 41.6k Pandas
NumPy A fundamental package for scientific computing with Python, providing support for large, multi-dimensional arrays and matrices. 26.1k NumPy
Matplotlib A plotting library for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications. 19k Matplotlib
SciPy An open-source Python library used for scientific computing and technical computing. It builds on NumPy and provides a large number of higher-level functions that operate on numpy arrays and are useful for different types of scientific and engineering applications. 12.3k SciPy
Seaborn A Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics. 11.8k Seaborn
Plotly An open-source graphing library that makes interactive, publication-quality graphs online. Offers over 40 unique chart types covering a wide range of statistical, financial, geographic, scientific, and 3-dimensional use-cases. 15k Plotly
Bokeh A Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of versatile graphics, and to extend this capability with high-performance interactivity over very large or streaming datasets. 18.7k Bokeh
Dask An open-source library for parallel computing written in Python. Designed to scale from a single computer to a cluster, Dask provides advanced parallelism for analytics, enabling performance at scale for the tools you love. 11.9k Dask


🖼️ Image processing and computer vision

Tool Description Stars GitHub
OpenCV A robust library offering open-source computer vision and machine learning software. Designed to provide a common infrastructure for computer vision applications, OpenCV accelerates the use of machine perception in the commercial realm. 78.4k OpenCV
scikit-image Part of the SciPy ecosystem, this library presents a rich collection of image processing algorithms accessible in Python. It's aimed at researchers, educators, and industry professionals alike. 5.8k scikit-image
SimpleCV Offering a straightforward framework for building computer vision applications, SimpleCV simplifies image acquisition, processing, and analysis through a consistent Python interface. 2.7k SimpleCV
Mahotas This library serves as a comprehensive toolkit for computer vision and image processing in Python, featuring numerous algorithms for segmentation, feature extraction, and more. 824 Mahotas

🛜 Networking and communication

Library Description Stars GitHub
Requests A simple, yet elegant HTTP library for Python, built for human beings. 51.2k Requests
aiohttp An asynchronous HTTP client/server framework for asyncio and Python. 14.5k aiohttp
HTTPx A fully featured HTTP client for Python 3, which provides synchronous and asynchronous APIs, and support for HTTP/2. 6.6k HTTPx
urllib3 A powerful, user-friendly HTTP client for Python. Much of the Python ecosystem uses urllib3 and makes HTTP requests. It brings many critical features that are missing from the Python standard libraries. 3.6k urllib3
gRPC A high performance, open-source universal RPC framework that uses HTTP/2 as transport protocol, enabling client and server applications to communicate transparently and build connected systems. 40.4k gRPC
WebSocket-client A WebSocket client for Python with a focus on correctness and simplicity, providing easy access to WebSocket services. 3.4k WebSocket-client
Paramiko A Python implementation of the SSHv2 protocol, providing both client and server functionality. It allows for easy SSH connections to remote servers. 8.8k Paramiko
Netmiko A multi-vendor library to simplify Paramiko SSH connections to network devices. It's used extensively in network automation scripts. 3.4k Netmiko
Scapy A powerful Python program that enables the user to send, sniff, dissect and forge network packets. This capability allows for a wide range of networking tasks. 9.9k Scapy
Twisted An event-driven networking engine written in Python. Twisted runs on Python 2 and 3, and provides modules to deal with various protocols. 5.4k Twisted

🖥️ GUI Development

Library Description Stars GitHub/web
Tkinter The standard GUI toolkit for Python, providing a powerful object-oriented interface to the Tk GUI toolkit. - Tkinter Documentation
ttkbootstrap A modern and themeable GUI library for Tkinter. ttkbootstrap extends Tkinter with a collection of widgets styled using Bootstrap themes for beautiful and responsive applications. 1.5k ttkbootstrap
customTkinter An extension to Tkinter that provides custom widgets with advanced styling capabilities and a more modern look, improving the visual appearance and user experience of applications. 9.9k customTkinter
PyQt A set of Python bindings for The Qt Company’s Qt application framework, used for developing GUI applications. - PyQt
Kivy An open-source Python library for developing multitouch application software with a natural user interface (NUI). 16.8k Kivy
wxPython A cross-platform GUI toolkit for the Python language, allowing Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. 2.2k wxPython
PyGTK A set of Python wrappers for the GTK graphical user interface library, facilitating the creation of graphical interfaces in Python. - PyGTK
PySide The official set of Python bindings for the Qt Company’s Qt application framework, similar to PyQt but under a more liberal license. - PySide
Dear PyGui A simple to use (but powerful) Python GUI framework. DPG is a GPU Accelerated Python GUI framework for making quick, but advanced GUI applications. 12k Dear PyGui

🗃️ Database and ORM

Library Description Stars GitHub
SQLAlchemy A SQL toolkit and Object-Relational Mapping (ORM) library for Python that provides a full suite of well known enterprise-level persistence patterns. 8.6k SQLAlchemy
Django ORM Django's Object-Relational Mapper; a powerful tool for bridging the gap between the high-level Python code and the low-level database query. 76.2k Django ORM
Peewee A small, expressive ORM that provides a simple and intuitive way to interact with databases using Python. 10.7k Peewee
SQLObject A popular ORM that provides an object-oriented interface to your database, with tables as classes, rows as instances, and columns as attributes. 145 SQLObject
Tortoise ORM An easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django, designed for use with asyncio and Python. 4.2k Tortoise ORM
Pony ORM A Python ORM that provides a generator-based interface to write queries. It translates Python functions into SQL syntax and is designed for ease of use. 3.5k Pony ORM
MongoEngine A Document-Object Mapper for working with MongoDB from Python. It uses a simple declarative API, similar to the Django ORM. 4.1k MongoEngine
Django REST Framework A powerful and flexible toolkit for building Web APIs on top of Django, including ORM capabilities for working with databases through RESTful APIs. 27.3k Django REST Framework
Alembic A lightweight database migration tool for use with SQLAlchemy. It allows for version control for database schemas, enabling fine-grained and database-independent migration scripting. 2.4k Alembic

🔒 Security and authentication

Library Description Stars GitHub
OAuthLib A generic, spec-compliant, thorough implementation of the OAuth request-signing logic for Python. 2.7k OAuthLib
PyJWT A Python library which allows you to encode and decode JSON Web Tokens (JWT). 4.9k PyJWT
Authlib A comprehensive, ready-to-use library for OAuth 1, OAuth 2, OpenID clients, JWT, and other authentication protocols. 4.2k Authlib
python-social-auth A social authentication/registration mechanism with support for several frameworks and auth providers. 1.9k python-social-auth
Passlib A password hashing library for Python, providing over 30 schemes and a simple framework for managing existing password hashes. 14 Passlib
Paramiko A module for Python 2.7/3.4+ that implements the SSHv2 protocol for secure (encrypted and authenticated) connections to remote machines. 8.8k Paramiko

📜 Data parsing and serialization

Library Description Stars GitHub/Web
Beautiful Soup A library that makes it easy to scrape information from web pages, providing Pythonic idioms for iterating, searching, and modifying the parse tree. - Beautiful Soup
lxml A powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. 2.6k lxml
json The built-in JSON library in Python for encoding and decoding JSON data. - json - Python Documentation
Pandas While primarily a data analysis library, Pandas offers robust IO tools for reading and writing data in various formats, including CSV, Excel, JSON, HTML, and SQL databases. 41.6k Pandas IO Tools
PyYAML A YAML parser and emitter for Python, allowing for the serialization and deserialization of complex data structures to and from YAML, a human-friendly data serialization standard. 2.4k PyYAML
Marshmallow An ORM/ODM/framework-agnostic library for converting complex data types, such as objects, to and from native Python datatypes. 6.9k Marshmallow
Protobuf Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data, similar to XML but smaller, faster, and simpler. 63.2k Protobuf
pickle The built-in Python library for serializing and deserializing Python object structures, turning Python objects into byte streams and vice versa. - pickle - Python Documentation

🧪 Testing and QA

Library Description Stars GitHub/Web
pytest A framework that makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. 11.2k pytest
Selenium A portable framework for testing web applications, providing a playback tool for authoring functional tests. 29k Selenium
unittest The built-in Python framework for writing and running tests, based on the xUnit pattern. - unittest - Python Documentation
nose2 The successor to nose, extends unittest to make testing easier. It's less popular now due to pytest's rise, but it's still a powerful tool. 771k nose2
Robot Framework A generic open source automation framework for acceptance testing, acceptance test-driven development (ATDD), and robotic process automation (RPA). 8.9k Robot Framework
Locust An easy-to-use, distributed user load testing tool. It's intended for load testing web sites (or other systems) and figuring out how many concurrent users a system can handle. 23.4k Locust
Tox A generic virtualenv management and test command-line tool you can use for checking your package installs correctly with different Python versions and interpreters. 63.2k Tox
Hypothesis A powerful, flexible, and easy-to-use library for property-based testing. It lets you write tests that are parameterized by a source of examples. 3.5k Hypothesis
Behave For behavior-driven development (BDD), Behave uses tests written in a natural language style, backed up by Python code. 3k Behave

⚡ Async and concurrency

Library Description Stars GitHub/Web
asyncio The asyncio library is used to write concurrent code using the async/await syntax in Python. 3k asyncio
gevent A coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev or libuv event loop. 6.2k gevent
concurrent.futures A high-level interface for asynchronously executing callables. It provides a framework for asynchronously executing functions using threads or processes. - concurrent.futures
Twisted An event-driven networking engine written in Python, which can be used for asynchronous programming. 5.4k Twisted
Tornado A Python web framework and asynchronous networking library that can handle thousands of connections at the same time. 21.5k Tornado
Celery An asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. 23.2k Celery

🔐 Cryptography and hashing

Library Description Stars GitHub/Web
cryptography A package designed to expose cryptographic primitives and recipes to Python developers, offering both high-level recipes and low-level interfaces to common cryptographic algorithms. 6.2k cryptography
hashlib A module that implements a common interface to many secure hash and message digest algorithms, including SHA1, SHA224, SHA256, SHA384, SHA512, and MD5. - hashlib
PyCryptodome A self-contained Python package of low-level cryptographic primitives. It is a fork of PyCrypto that has been enhanced and is actively maintained, designed to replace PyCrypto. 2.6k PyCryptodome
Paramiko While known for its SSH2 protocol support, Paramiko also includes cryptographic functions and utilities as part of its core. 8.8k Paramiko
NaCl (libsodium) A high-level cryptographic library that makes it easy to encrypt, decrypt, sign, and verify signatures without needing to manage nonces, keys, or other cryptographic details. 1k NaCl (PyNaCl)
OpenSSL A robust, full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. The pyOpenSSL library is a thin wrapper around (a subset of) the OpenSSL library. 853k pyOpenSSL

🔌 Dependency Injection

Tool Description Stars GitHub
Wireup A concise, powerful, and type-safe Python DI library, focused on developer experience, ease of use, and type safety 52 Wireup
Dependency Injector A comprehensive dependency injection framework for Python, utilizing containers and providers to simplify dependencies. 3.5k Dependency Injector

⌨️ CLI Utilities

Library Description Stars GitHub
Click A Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. 14.9k Click
argparse The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, and argparse will figure out how to parse those out of sys.argv. - argparse
Typer A library for building CLI applications that users will love using and developers will love creating. Based on Python 3.6+ type hints. 13.3k Typer
Docopt Helps you define your command-line interfaces by parsing the help message that your program prints to the user. 7.9k Docopt
Fire A library for automatically generating command line interfaces (CLIs) with a single line of code. It turns any Python module, class, or object into a CLI. 26.1k Fire
Plumbum Plumbum: Shell Combinators and More. It offers local and remote command execution, including command piping, file and path manipulation, and more, aiming for a more Pythonic interface. 2.7k Plumbum
Rich Although not exclusively a CLI library, Rich can be used to enhance the visual appeal of command line applications with rich text and beautiful formatting. 46.7k Rich

🕸️ Web Scraping

Library Description Stars GitHub
Scrapy An open source and collaborative framework for extracting the data you need from websites in a fast, simple, yet extensible way. 50.5k Scrapy
Beautiful Soup A library for pulling data out of HTML and XML files. It provides idiomatic ways of navigating, searching, and modifying the parse tree. - Beautiful Soup
lxml While also a powerful XML and HTML processing library, lxml's speed and ease of use make it great for web scraping. 2.6k lxml
Requests-HTML An HTML parsing library designed to simplify the process of making requests and parsing HTML documents. It integrates functionality from requests and pyquery/pyppeteer for a comprehensive scraping solution. 13.5k Requests-HTML
Selenium Although primarily a tool for testing web applications, Selenium can be used for scraping dynamic content that other tools can't handle as it allows for rendering JavaScript. 29k Selenium
MechanicalSoup A Python library for automating interaction with websites. It combines the Requests library and BeautifulSoup to simulate a browser without a graphical interface. 4.5k MechanicalSoup
Puppeteer (Pyppeteer) A library for controlling headless Chrome or Chromium over the DevTools Protocol. Pyppeteer is the Python version, perfect for tasks requiring JavaScript rendering. 3.3k Pyppeteer

💾 Caching and in-memory databases

Library Description Official Link
Memcached A high-performance, distributed memory object caching system, intended for use in speeding up dynamic web applications by alleviating database load. Memcached
Redis An open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries, and streams. Redis
pylibmc A Python wrapper around the libmemcached interface, which is a client library for Memcached written in C. It's a fast and efficient way to interface with Memcached from Python. pylibmc
diskcache Python disk-backed cache (Django-compatible). Faster than Redis and Memcached. Pure Python. diskcache
beaker A library for caching and sessions for use with web applications and stand-alone Python scripts and applications. beaker
hiredis A minimalistic C client library for the Redis database. hiredis-py is a Python wrapper for the hiredis C library. It provides a way to communicate with Redis directly from Python, using the C client for speed. hiredis-py
aioredis Asyncio (PEP 3156) Redis client library. It provides an async interface to Redis, built on top of hiredis and compatible with asyncio. aioredis
pymemcache A comprehensive, fast, pure-Python memcached client. pymemcache

🔍 Code quality and linters

Tool Description Official Link
Flake8 A python tool that glues together pyflakes, pycodestyle, and mccabe scripts to check the quality of Python code. Flake8
Black The uncompromising Python code formatter. By using it, you delegate the responsibility of code formatting to Black, keeping the code style consistent. Black
isort A Python utility / library to sort imports alphabetically and automatically separate them into sections and by type. isort
Pylint A tool that checks for errors in Python code, tries to enforce a coding standard, and looks for code smells. Pylint
Mypy An optional static type checker for Python, aiming to combine the benefits of dynamic (or "duck") typing and static typing. Mypy

📂 File and data manipulation

Library Description Official Link
Pillow The Python Imaging Library adds image processing capabilities to your Python interpreter. This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. Pillow
CSV A module that implements classes to read and write tabular data in CSV format. It allows programmers to write and read data in a format preferred by Excel, without knowing the precise details of the CSV format. CSV Documentation
openpyxl A Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files. openpyxl
Pandas Offers powerful data manipulation and analysis via its DataFrame object. It can read and write data in various formats, including CSV, Excel, JSON, HTML, and SQL databases. Pandas
json The built-in JSON library for Python. It can parse JSON from strings or files and can convert dictionaries into JSON strings. json
PyPDF2 A library capable of splitting, merging together, cropping, and transforming the pages of PDF files. PyPDF2
xlrd/xlwt Libraries for reading data and formatting information from Excel files in the historic .xls format. xlrd / xlwt

🌍 Environment and configuration management

Tool Description Official Link
dotenv Loads environment variables from a .env file into process.env, making it easy to manage environment-specific configurations. dotenv
virtualenv A tool to create isolated Python environments. It can create environments with their own installation directories, that can have different Python versions and packages installed. virtualenv
pipenv Aims to bring the best of all packaging worlds to the Python world. It automatically creates and manages a virtualenv for your projects and adds/removes packages from your Pipfile as you install/uninstall packages. pipenv
Poetry A tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry
Conda An open-source package management system and environment management system that runs on Windows, macOS, and Linux. Conda quickly installs, runs, and updates packages and their dependencies. Conda

🎮 Game development

Library Description Official Link
Pygame A set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. Pygame
Arcade A modern Python framework for crafting games with compelling graphics and sound. Open source and easy to use, it's geared towards teaching programming concepts through game development. Arcade
Panda3D An open-source, completely free-to-use engine for realtime 3D games, visualizations, simulations, experiments — you name it! Its rich feature set readily tailors to your specific workflow and development needs. Panda3D
PyOpenGL The most common cross platform Python binding to OpenGL and related APIs. It provides access to the OpenGL library for creating 2D and 3D graphics. PyOpenGL
Kivy An open source Python library for developing multitouch applications. It's cross-platform (Linux/OS X/Windows/Android/iOS) and released under the MIT license. Though not exclusively for games, it's used widely in game development due to its extensive support for gestures and touch. Kivy
Ren'Py A visual novel engine that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. It's great for both beginning and professional creators, and it supports easy creation of visual novels and life simulation games. Ren'Py

🛠️ Framework extensions and plugins

Library Description Official Link
Flask-Login Provides user session management for Flask. It handles the common tasks of logging in, logging out, and remembering your users' sessions over extended periods of time. Flask-Login
Django REST Framework A powerful and flexible toolkit for building Web APIs. It's a lightweight extension to Django that works well with existing apps and comes bundled with a set of serialization that can be customized and extended. Django REST Framework
Flask-RESTful An extension for Flask that adds support for quickly building REST APIs. It is a lightweight abstraction that works with your existing ORM/libraries. Flask-RESTful
Flask-SQLAlchemy Adds SQLAlchemy support to Flask. It simplifies the use of SQLAlchemy with Flask by providing useful defaults and extra helpers that make it easier to accomplish common tasks. Flask-SQLAlchemy
Django-Allauth Provides authentication, registration, account management as well as 3rd party (social) account authentication. Django-Allauth
React Router While not a Python library, React Router is a powerful routing library for React that allows the creation of single page applications with dynamic page changes without the need to reload. Useful for Django or Flask backends serving React frontends. React Router
Vue Router Similar to React Router but for Vue.js. It enables the development of powerful single-page web applications. This can be useful in projects that use Python backends. Vue Router

🗄️ Databases and time-series data

Tool Description Official Link
Prometheus An open-source system monitoring and alerting toolkit originally built at SoundCloud, now part of the Cloud Native Computing Foundation. It's focused on reliability and scalability, handling multi-dimensional data collected over time. Prometheus
InfluxDB An open-source time series database designed to handle high write and query loads. It is a component of the TICK stack. InfluxDB
SQLite A C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite
PostgreSQL A powerful, open source object-relational database system with over 30 years of active development. PostgreSQL
MongoDB A general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB
GraphQL A query language for APIs and a runtime for executing those queries by using a type system you define for your data. It enables declarative data fetching, allowing clients to specify exactly what data they need. GraphQL

🌊 Stream processing

Tool Description Official Link
Apache Kafka A distributed event streaming platform capable of handling trillions of events a day. Initially conceived as a messaging queue, Kafka is based on an abstraction of a distributed commit log. Apache Kafka
RabbitMQ An open-source message-broker software that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQTT, and other protocols. RabbitMQ
Apache Pulsar A cloud-native, distributed messaging and streaming platform originally created at Yahoo! It's designed to provide a highly scalable, durable, and secure event streaming platform. Apache Pulsar
Redis Streams A new data type introduced in Redis 5.0, which provides a series of features that make it possible to handle streams of data directly within Redis. Redis Streams

📚 Documentation tools

Tool Description Official Link
Swagger (OpenAPI) A set of tools for designing, building, and documenting RESTful APIs. It offers the Swagger Editor for designing API specifications, the Swagger UI for generating interactive API documentation, and the Swagger Codegen for generating server stubs and client libraries from an OpenAPI Specification. Swagger
Sphinx A tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), originally created for the Python documentation. Sphinx
MkDocs A fast and simple static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file. MkDocs
Read the Docs A documentation hosting platform that automates the process of building and deploying your Sphinx or MkDocs documentation after each commit or daily. It integrates well with Git, GitHub, Bitbucket, and similar platforms. Read the Docs
Postman Documentation Postman allows you to generate and host beautiful, machine-readable documentation for your APIs. It offers dynamic examples and mock servers, making API testing and sharing easier. Postman
Docusaurus A project for building, deploying, and maintaining open source project websites easily. It supports Markdown, documentation versioning, and features built specifically for documentation websites. Docusaurus
Redoc An open-source tool that can serve as an alternative to Swagger UI. It's React-based and offers a more customizable and visually appealing way to generate interactive API documentation from OpenAPI (Swagger) Definitions. Redoc

☁️ Cloud and infrastructure, 🚀 DevOps and CI-CD

Tool Description Official Link
AWS CLI The Amazon Web Services command line interface is a unified tool to manage your AWS services from a terminal session on your own client. AWS CLI
Google Cloud SDK A set of tools that you can use to manage resources and applications hosted on Google Cloud. Google Cloud SDK
Azure CLI Designed to make scripting easy, flexible, and powerful, it provides the same capabilities as the portal, making it an essential tool for managing Azure resources. Azure CLI
Kubernetes An open-source system for automating deployment, scaling, and operations of application containers across clusters of hosts. Kubernetes
OpenShift A family of containerization software developed by Red Hat. It's an open source container application platform based on the Kubernetes container orchestrator for enterprise application development and deployment. OpenShift
Puppet A software configuration management tool which includes its own declarative language to describe system configuration. Puppet
Docker An open platform for developing, shipping, and running applications, Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. Docker
Docker Compose A tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Docker Compose
Kubernetes An open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes
Ansible An open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intra-service orchestration, and provisioning. Ansible
Fabric A high-level Python library designed to execute shell commands remotely over SSH, facilitating application deployment and system administration tasks. Fabric
Terraform An open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files. Terraform
GitLab CI/CD A tool built into GitLab for software development through the continuous methodologies: Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CD). GitLab CI/CD
Jenkins An open-source automation server that enables developers around the world to reliably build, test, and deploy their software. Jenkins
Python Jenkins A Python wrapper for the Jenkins REST API which allows you to access Jenkins servers. This can be used to automate Jenkins server management, job configuration, and job execution. Python Jenkins
Minikube Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day. Minikube
Helm The package manager for Kubernetes. Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application. Helm

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this repository better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

Steps to contribute:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/amazing-feature)
  3. Commit your Changes (git commit -m 'Add some amazing-feature')
  4. Push to the Branch (git push origin feature/amazing-feature)
  5. Open a Pull Request