Life is short,you need Python
-- Bruce Eckel
Python makes your life easy, but these Python frameworks, libraries, software and resources make it even easier.
If you want a more comprehensive list, go to Awesome Python
- Elite Python
- Admin Panels
- Code Analysis
- Command-line Interface Development
- Command-line Tools
- Cryptography
- Data Analysis
- Data Visualization
- Database
- Date and Time
- DevOps Tools
- Downloader
- Editor Plugins and IDEs
- Environment Management
- Logging
- Package Management
- Package Repositories
- Penetration Testing
- Processes
- Refactoring
- RESTful API
- Search
- Shell
- Specific Formats Processing
- Static Site Generator
- Tagging
- Template Engine
- web content extracting
- web crawling
- web frameworks
- websocket
- wsgi servers
Libraries for administrative interfaces.
- ajenti - The admin panel your servers deserve.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- jet-bridge - Admin panel framework for any application with nice UI (ex Jet Django).
- Code Analysis
- vulture - A tool for finding and analysing dead Python code.
- Code Linters
- flake8 - A wrapper around
pycodestyle,pyflakesand McCabe.
- flake8 - A wrapper around
- Code Formatters
- black - The uncompromising Python code formatter.
- Static Type Checkers, also see awesome-python-typing
- mypy - Check variable types during compile time.
Libraries for building command-line applications.
- Command-line Application Development
- click - A package for creating beautiful command line interfaces in a composable way.
- typer - Based on Python type hints.
- python-fire - A library for creating command line interfaces from absolutely any Python object.
- python-prompt-toolkit - A library for building powerful interactive command lines.
- Terminal Rendering
- alive-progress - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
- asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).
- bashplotlib - Making basic plots in the terminal.
- colorama - Cross-platform colored terminal text.
- rich - Python library for rich text and beautiful formatting in the terminal. Also provides a great
RichHandlerlog handler. - tqdm - Fast, extensible progress bar for loops and CLI.
Useful CLI-based tools for productivity.
- httpie - A command line HTTP client, a user-friendly cURL replacement.
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- paramiko - The leading native Python SSHv2 protocol library.
Libraries for data analyzing.
- Numpy - A fundamental package for scientific computing with Python.
- Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
Libraries for visualizing data. Also see awesome-javascript.
- Matplotlib - A Python 2D plotting library.
- mplfinance - matplotlib utilities for the visualization, and visual analysis, of financial data.
- Seaborn - Statistical data visualization using Matplotlib.
- Bokeh - Interactive Web Plotting for Python.
- Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.
Databases implemented in Python.
- pickleDB - A simple and lightweight key-value store for Python.
- TinyDB - A tiny, document-oriented database.
- ZODB - A native object database for Python. A key-value and object graph database.
Libraries for working with dates and times.
- Arrow - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.
- dateutil - Extensions to the standard Python datetime module.
- delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes.
- Pendulum - Python datetimes made easy.
- pytz - Brings the IANA tz database into Python.
Software and libraries for DevOps.
- Configuration Management
- ansible - A radically simple IT automation platform.
- SSH-style Deployment
- fabric - A simple, Pythonic tool for remote execution and deployment.
- Process Management
- supervisor - Supervisor process control system for UNIX.
- Monitoring
- psutil - A cross-platform process and system utilities module.
- Backup
- BorgBackup - A deduplicating archiver with compression and encryption.
- Container
- Docker - Docker helps developers bring their ideas to life by conquering the complexity of app development.
- docker-compose - Fast, isolated development environments using Docker.
Libraries for downloading.
- akshare - A financial data interface library, built for human beings!
- you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
- youtube-dl - A small command-line program to download videos from YouTube.
- Emacs
- elpy - Emacs Python Development Environment.
- Vim
- jedi-vim - Vim bindings for the Jedi auto-completion library for Python.
- python-mode - An all in one plugin for turning Vim into a Python IDE.
- YouCompleteMe - Includes Jedi-based completion engine for Python.
- Visual Studio Code
- Python - The official VSCode extension with rich support for Python.
- IDE
Libraries for Python version and virtual environment management.
- venv - A Standard Python virtual environment module.
- pyenv - Simple Python version management.
- virtualenv - A tool to create isolated Python environments.
Libraries for generating and working with logs.
- logging - (Python standard library) Logging facility for Python.
- loguru - Library which aims to bring enjoyable logging in Python.
- sentry-python - Sentry SDK for Python.
- structlog - Structured logging made easy.
Libraries for package and dependency management.
- pip - The package installer for Python.
- conda - Cross-platform, Python-agnostic binary package manager.
- poetry - Python dependency management and packaging made easy.
Local PyPI repository server and proxies.
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
- devpi - PyPI server and packaging/testing/release tool.
- localshop - Local PyPI server (custom packages and auto-mirroring of pypi).
- warehouse - Next generation Python Package Repository (PyPI).
Frameworks and tools for penetration testing.
- fsociety - A Penetration testing framework.
- setoolkit - A toolkit for social engineering.
- sqlmap - Automatic SQL injection and database takeover tool.
Libraries for starting and communicating with OS processes.
Refactoring tools and libraries for Python
Libraries for building RESTful APIs.
- Django
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- django-tastypie - Creating delicious APIs for Django apps.
- Flask
- eve - REST API framework powered by Flask, MongoDB and good intentions.
- flask-api - Browsable Web APIs for Flask.
- flask-restful - Quickly building REST APIs for Flask.
- Pyramid
- cornice - A RESTful framework for Pyramid.
- Framework agnostic
- falcon - A high-performance framework for building cloud APIs and web app backends.
- fastapi - A modern, fast, web framework for building APIs w(ith Python 3.6+ based on standard Python type hints.
- Starlette - Starlette is a lightweight ASGI framework/toolkit, which is ideal for building async web services in Python.
- sanic - A Python 3.6+ web server and web framework that's written to go fast.
Libraries and software for indexing and performing search queries on data.
- django-haystack - Modular search for Django.
- elasticsearch-dsl-py - The official high-level Python client for Elasticsearch.
- elasticsearch-py - The official low-level Python client for Elasticsearch.
- whoosh - A fast, pure Python search engine library.
Shells based on Python.
- xonsh - A Python-powered, cross-platform, Unix-gazing shell language and command prompt.
Libraries for parsing and manipulating specific text formats.
- General
- tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
- Office
- docxtpl - Editing a docx document by jinja2 template
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
- python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
- unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
- XlsxWriter - A Python module for creating Excel .xlsx files.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
- xlwt / xlrd - Writing and reading data and formatting information from Excel files.
- PDF
- pdfminer.six - A tool for extracting information from PDF documents.
- PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
- ReportLab - Allowing Rapid creation of rich PDF documents.
- Markdown
- Mistune - Fastest and full featured pure Python parsers of Markdown.
- Python-Markdown - A Python implementation of John Gruber’s Markdown.
- Python-Markdown2 - A fast and complete Python implementation of Markdown.
- Marko - Marko is a markdown parser written in pure Python that complies with CommonMark's spec v0.30. It is designed to be highly extensible.
- YAML
- PyYAML - YAML implementations for Python.
- CSV
- csvkit - Utilities for converting to and working with CSV.
- Archive
- unp - A command line tool that can unpack archives easily.
Static site generator is a software that takes some text + templates as input and produces HTML files on the output.
- lektor - An easy to use static CMS and blog engine.
- mkdocs - Markdown friendly documentation generator.
- nikola - A static website and blog generator.
- pelican - Static site generator that supports Markdown and reST syntax.
- makesite - Simple, lightweight, and magic-free static site/blog generator (< 130 lines).
Libraries for tagging items.
- django-taggit - Simple tagging for Django.
Libraries and tools for templating and lexing.
- Jinja2 - A modern and designer friendly templating language.
libraries for extracting web contents.
- python-readability - Fast python port of arc90's readability tool.
- sumy - A module for automatic summarization of text documents and html pages.
libraries to automate web scraping.
- scrapy - A fast high-level screen scraping and web crawling framework.
traditional full stack web frameworks. also see restful api.
- django - The most popular web framework in python.
- flask - A microframework for python.
- pyramid - A small, fast, down-to-earth, open source python web framework.
- Bottle - Bottle is a fast, simple and lightweight WSGI micro web-framework for Python.
libraries for working with websocket.
- channels - Developer-friendly asynchrony for django.
- websockets - A library for building websocket servers and clients with a focus on correctness and simplicity.
wsgi-compatible web servers.
- gunicorn - Pre-forked, ported from ruby's unicorn project.
- uwsgi - A project aims at developing a full stack for building hosting services, written in c.
- waitress - Multi-threaded, powers pyramid.
- werkzeug - A wsgi utility library for python that powers flask and can easily be embedded into your own projects.
- uvicorn - An ASGI web server implementation for Python.