A curated list with Github stars and forks stats based on awesome awesome-python Inspired by fucking-awesome-go.
Go to file
2023-07-16 14:57:49 +07:00
LICENSE update 2015-09-20 00:33:08 +07:00
README.md "update 2023-07-16T14:57:49.206403" 2023-07-16 14:57:49 +07:00

Fucking Awesome Python

A curated list with Github stars and forks stats based on awesome awesome-python

Inspired by fucking-awesome-go.


Admin Panels

Libraries for administrative interfaces.

  • :octocat: ajenti - 7157 🍴 832 - The admin panel your servers deserve.
  • 🌎 django-grappelli - A jazzy skin for the Django Admin-Interface.
  • :octocat: django-jet - 3445 🍴 786 - Modern responsive template for the Django admin interface with improved functionality.
  • 🌎 django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
  • :octocat: django-xadmin - 4709 🍴 1428 - Drop-in replacement of Django admin comes with lots of goodies.
  • :octocat: flask-admin - 5409 🍴 1548 - Simple and extensible administrative interface framework for Flask.
  • :octocat: flower - 5764 🍴 1022 - Real-time monitor and web admin for Celery.
  • :octocat: jet-bridge - 1415 🍴 136 - Admin panel framework for any application with nice UI (ex Jet Django)
  • :octocat: wooey - 1973 🍴 187 - A Django app which creates automatic web UIs for Python scripts.

Algorithms and Design Patterns

Python implementation of data structures, algorithms and design patterns. Also see awesome-algorithms.

ASGI Servers

ASGI-compatible web servers.

  • :octocat: daphne - 2050 🍴 242 - A HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP.
  • :octocat: uvicorn - 6752 🍴 596 - A lightning-fast ASGI server implementation, using uvloop and httptools.

Asynchronous Programming

Audio

Libraries for manipulating audio and its metadata.

  • Audio
    • :octocat: audioread - 442 🍴 107 - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
    • :octocat: dejavu - 6081 🍴 1405 - Audio fingerprinting and recognition.
    • :octocat: kapre - 892 🍴 146 - Keras Audio Preprocessors
    • :octocat: librosa - 6052 🍴 888 - Python library for audio and music analysis
    • :octocat: matchering - 994 🍴 132 - A library for automated reference audio mastering.
    • 🌎 mingus - An advanced music theory and notation package with MIDI file and playback support.
    • :octocat: pyAudioAnalysis - 5352 🍴 1150 - Audio feature extraction, classification, segmentation and applications.
    • :octocat: pydub - 7435 🍴 952 - Manipulate audio with a simple and easy high level interface.
    • :octocat: TimeSide - 351 🍴 62 - Open web audio processing framework.
  • Metadata
    • :octocat: beets - 11754 🍴 1808 - A music library manager and MusicBrainz tagger.
    • :octocat: eyeD3 - 481 🍴 58 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
    • :octocat: mutagen - 1293 🍴 143 - A Python module to handle audio metadata.
    • :octocat: tinytag - 607 🍴 100 - A library for reading music meta data of MP3, OGG, FLAC and Wave files.

Authentication

Libraries for implementing authentications schemes.

Build Tools

Compile software from source code.

  • 🌎 BitBake - A make-like build tool for embedded Linux.
  • 🌎 buildout - A build system for creating, assembling and deploying applications from multiple parts.
  • :octocat: PlatformIO - 6886 🍴 768 - A console tool to build code with different development platforms.
  • :octocat: pybuilder - 1555 🍴 257 - A continuous build tool written in pure Python.
  • 🌎 SCons - A software construction tool.

Built-in Classes Enhancement

Libraries for enhancing Python built-in classes.

  • :octocat: attrs - 4826 🍴 343 - Replacement for __init__, __eq__, __repr__, etc. boilerplate in class definitions.
  • :octocat: bidict - 1310 🍴 57 - Efficient, Pythonic bidirectional map data structures and related functionality..
  • :octocat: Box - 2231 🍴 104 - Python dictionaries with advanced dot notation access.
  • 🌎 dataclasses - (Python standard library) Data classes.
  • :octocat: DottedDict - 168 🍴 25 - A library that provides a method of accessing lists and dicts with a dotted path notation.

CMS

Content Management Systems.

  • 🌎 django-cms - An Open source enterprise CMS based on the Django.
  • :octocat: feincms - 870 🍴 229 - One of the most advanced Content Management Systems built on Django.
  • :octocat: indico - 1502 🍴 371 - A feature-rich event management system, made @ CERN.
  • :octocat: Kotti - 401 🍴 116 - A high-level, Pythonic web application framework built on Pyramid.
  • :octocat: mezzanine - 4637 🍴 1636 - A powerful, consistent, and flexible content management platform.
  • 🌎 plone - A CMS built on top of the open source application server Zope.
  • :octocat: quokka - 2227 🍴 457 - Flexible, extensible, small CMS powered by Flask and MongoDB.
  • 🌎 wagtail - A Django content management system.

Caching

Libraries for caching data.

  • 🌎 dogpile.cache - dogpile.cache is next generation replacement for Beaker made by same authors.
  • 🌎 HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
  • 🌎 python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.

ChatOps Tools

Libraries for chatbot development.

Code Analysis

Tools of static analysis, linters and code quality checkers. Also see awesome-static-analysis.

  • Code Analysis
  • Code Linters
    • 🌎 flake8 - A wrapper around pycodestyle, pyflakes and McCabe.
    • 🌎 pylint - A fully customizable source code analyzer.
  • Code Formatters
  • Static Type Checkers, also see awesome-python-typing
    • 🌎 mypy - Check variable types during compile time.
  • Static Type Annotations Generators

Command-line Interface Development

Libraries for building command-line applications.

  • Command-line Application Development
    • 🌎 cement - CLI Application Framework for Python.
    • 🌎 click - A package for creating beautiful command line interfaces in a composable way.
    • 🌎 cliff - A framework for creating command-line programs with multi-level commands.
    • 🌎 docopt - Pythonic command line arguments parser.
  • Terminal Rendering

Command-line Tools

Useful CLI-based tools for productivity.

  • Productivity Tools
  • CLI Enhancements

Compatibility

Libraries for migrating from Python 2 to 3.

  • 🌎 python-future - The missing compatibility layer between Python 2 and Python 3.
  • 🌎 six - Python 2 and 3 compatibility utilities.

Computer Vision

Libraries for Computer Vision.

Concurrency and Parallelism

Libraries for concurrent and parallel execution. Also see awesome-asyncio.

Configuration

Libraries for storing and parsing configuration options.

Cryptography

  • 🌎 cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
  • 🌎 passlib - Secure password storage/hashing library, very high level.

Data Analysis

Libraries for data analyzing.

  • 🌎 Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
  • 🌎 Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.

Data Validation

Libraries for validating data. Used for forms in many cases.

  • 🌎 colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.

Data Visualization

Libraries for visualizing data. Also see awesome-javascript.

Database

Databases implemented in Python.

Database Drivers

Libraries for connecting and operating databases.

Date and Time

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.
  • 🌎 pytz - World timezone definitions, modern and historical. Brings the tz database into Python.

Debugging Tools

Libraries for debugging code.

  • pdb-like Debugger
  • Tracing
  • Profiler
  • Others

Deep Learning

Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learning.

DevOps Tools

Software and libraries for DevOps.

  • Configuration Management
    • 🌎 cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
    • 🌎 OpenStack - Open source software for building private and public clouds.
  • SSH-style Deployment
  • Process Management
  • Monitoring
  • Backup
    • 🌎 BorgBackup - A deduplicating archiver with compression and encryption.
  • Others

Distributed Computing

Frameworks and libraries for Distributed Computing.

Distribution

Libraries to create packaged executables for release distribution.

  • 🌎 Nuitka - Compile scripts, modules, packages to an executable or extension module.
  • 🌎 py2app - Freezes Python scripts (Mac OS X).
  • 🌎 py2exe - Freezes Python scripts (Windows).
  • 🌎 pynsist - A tool to build Windows installers, installers bundle Python itself.

Documentation

Libraries for generating project documentation.

Downloader

Libraries for downloading.

  • 🌎 you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
  • 🌎 youtube-dl - A small command-line program to download videos from YouTube.

E-commerce

Frameworks and libraries for e-commerce and payments.

Editor Plugins and IDEs

  • Emacs
  • Sublime Text
  • Vim
  • Visual Studio
  • Visual Studio Code
    • 🌎 Python - The official VSCode extension with rich support for Python.
  • IDE
    • 🌎 PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.

Email

Libraries for sending and parsing email.

  • Mail Servers
  • Clients
  • Others

Environment Management

Libraries for Python version and virtual environment management.

Files

Libraries for file manipulation and MIME type detection.

  • 🌎 mimetypes - (Python standard library) Map filenames to MIME types.
  • 🌎 pathlib - (Python standard library) An cross-platform, object-oriented path library.

Foreign Function Interface

Libraries for providing foreign function interface.

  • 🌎 cffi - Foreign Function Interface for Python calling C code.
  • 🌎 ctypes - (Python standard library) Foreign Function Interface for Python calling C code.
  • 🌎 PyCUDA - A Python wrapper for Nvidia's CUDA API.
  • 🌎 SWIG - Simplified Wrapper and Interface Generator.

Forms

Libraries for working with forms.

Functional Programming

Functional Programming with Python.

GUI Development

Libraries for working with graphical user interface applications.

  • 🌎 curses - Built-in wrapper for ncurses used to create terminal GUI applications.
  • 🌎 kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
  • 🌎 PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
  • 🌎 PyQt - Python bindings for the Qt cross-platform application and UI framework.
  • 🌎 Tkinter - Tkinter is Python's de-facto standard GUI package.
  • 🌎 urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
  • 🌎 wxPython - A blending of the wxWidgets C++ class library with the Python.

GraphQL

Libraries for working with GraphQL.

  • 🌎 tartiflette - SDL-first GraphQL engine implementation for Python 3.6+ and asyncio.

Game Development

Awesome game development libraries.

  • 🌎 Arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
  • 🌎 Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
  • 🌎 Harfang3D - Python framework for 3D, VR and game development.
  • 🌎 Panda3D - 3D game engine developed by Disney.
  • 🌎 Pygame - Pygame is a set of Python modules designed for writing games.
  • 🌎 PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
  • 🌎 PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
  • 🌎 PySDL2 - A ctypes based wrapper for the SDL2 library.
  • 🌎 RenPy - A Visual Novel engine.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

HTML Manipulation

Libraries for working with HTML and XML.

  • 🌎 BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
  • 🌎 cssutils - A CSS library for Python.
  • 🌎 lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
  • 🌎 WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
  • 🌎 xmldataset - Simple XML Parsing.

HTTP Clients

Libraries for working with HTTP.

Hardware

Libraries for programming with hardware.

  • 🌎 ino - Command line toolkit for working with Arduino.
  • 🌎 Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.

Image Processing

Libraries for manipulating images.

Implementations

Implementations of Python.

  • 🌎 Cython - Optimizing Static Compiler for Python.
  • 🌎 Jython - Implementation of Python programming language written in Java for the JVM.
  • 🌎 Numba - Python JIT compiler to LLVM aimed at scientific Python.
  • 🌎 PyPy - A very fast and compliant implementation of the Python language.

Interactive Interpreter

Interactive Python interpreters (REPL).

Internationalization

Libraries for working with i18n.

  • 🌎 Babel - An internationalization library for Python.

Job Scheduler

Libraries for scheduling jobs.

  • 🌎 Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
  • 🌎 APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
  • 🌎 doit - A task runner and build tool.
  • 🌎 Joblib - A set of tools to provide lightweight pipelining in Python.
  • 🌎 TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.

Logging

Libraries for generating and working with logs.

Machine Learning

Libraries for Machine Learning. Also see awesome-machine-learning.

Microsoft Windows

Python programming on Microsoft Windows.

  • 🌎 Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
  • 🌎 pythonlibs - Unofficial Windows binaries for Python extension packages.
  • 🌎 WinPython - Portable development environment for Windows 7/8.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

Natural Language Processing

Libraries for working with human languages.

  • General
    • 🌎 nltk - A leading platform for building Python programs to work with human language data.
    • 🌎 spacy - A library for industrial-strength natural language processing in Python and Cython.
  • Chinese

Network Virtualization

Tools and libraries for Virtual Networking and SDN (Software Defined Networking).

News Feed

Libraries for building user's activities.

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

Package Management

Libraries for package and dependency management.

Package Repositories

Local PyPI repository server and proxies.

Penetration Testing

Frameworks and tools for penetration testing.

Permissions

Libraries that allow or deny users access to data or functionality.

Processes

Libraries for starting and communicating with OS processes.

  • 🌎 sarge - Yet another wrapper for subprocess.

Recommender Systems

Libraries for building recommender systems.

Refactoring

Refactoring tools and libraries for Python

RESTful API

Libraries for building RESTful APIs.

Robotics

Libraries for robotics.

  • 🌎 rospy - This is a library for ROS (Robot Operating System).

RPC Servers

RPC-compatible servers.

Science

Libraries for scientific computing. Also see Python-for-Scientists.

  • 🌎 astropy - A community Python library for Astronomy.
  • 🌎 Biopython - Biopython is a set of freely available tools for biological computation.
  • 🌎 cclib - A library for parsing and interpreting the results of computational chemistry packages.
  • 🌎 Colour - Implementing a comprehensive number of colour theory transformations and algorithms.
  • 🌎 NetworkX - A high-productivity software for complex networks.
  • 🌎 NIPY - A collection of neuroimaging toolkits.
  • 🌎 NumPy - A fundamental package for scientific computing with Python.
  • 🌎 Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
  • 🌎 PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
  • 🌎 QuTiP - Quantum Toolbox in Python.
  • 🌎 RDKit - Cheminformatics and Machine Learning Software.
  • 🌎 SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • 🌎 SimPy - A process-based discrete-event simulation framework.

Libraries and software for indexing and performing search queries on data.

Serialization

Libraries for serializing complex data types

Serverless Frameworks

Frameworks for developing serverless Python code.

Shell

Shells based on Python.

Specific Formats Processing

Libraries for parsing and manipulating specific text formats.

  • General
  • Office
    • 🌎 openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
  • PDF
  • Markdown
  • YAML
  • CSV
  • Archive

Static Site Generator

Static site generator is a software that takes some text + templates as input and produces HTML files on the output.

Tagging

Libraries for tagging items.

Task Queues

Libraries for working with task queues.

  • 🌎 celery - An asynchronous task queue/job queue based on distributed message passing.

Template Engine

Libraries and tools for templating and lexing.

  • 🌎 Genshi - Python templating toolkit for generation of web-aware output.
  • 🌎 Mako - Hyperfast and lightweight templating for the Python platform.

Testing

Libraries for testing codebases and generating test data.

  • Testing Frameworks
    • 🌎 pytest - A mature full-featured Python testing tool.
    • 🌎 unittest - (Python standard library) Unit testing framework.
  • Test Runners
    • 🌎 mamba - The definitive testing tool for Python. Born under the banner of BDD.
    • 🌎 tox - Auto builds and tests distributions in multiple Python versions
  • GUI / Web Testing
  • Mock
    • 🌎 doublex - Powerful test doubles framework for Python.
    • 🌎 mock - (Python standard library) A mocking and patching library.
  • Object Factories
  • Code Coverage
  • Fake Data

Text Processing

Libraries for parsing and manipulating plain texts.

  • General
  • Slugify
  • Unique identifiers
  • Parser

Third-party APIs

Libraries for accessing third party services APIs. Also see List of Python API Wrappers and Libraries.

URL Manipulation

Libraries for parsing URLs.

Video

Libraries for manipulating video and GIFs.

  • 🌎 moviepy - A module for script-based movie editing with many formats, including animated GIFs.

Web Asset Management

Tools for managing, compressing and minifying website assets.

  • 🌎 fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
  • 🌎 fileconveyor - A daemon to detect and sync files to CDNs, S3 and FTP.

Web Content Extracting

Libraries for extracting web contents.

Web Crawling

Libraries to automate web scraping.

Web Frameworks

Traditional full stack web frameworks. Also see RESTful API.

  • Synchronous
    • 🌎 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.
  • Asynchronous
    • 🌎 Tornado - A web framework and asynchronous networking library.

WebSocket

Libraries for working with WebSocket.

WSGI Servers

WSGI-compatible web servers.

  • 🌎 uWSGI - A project aims at developing a full stack for building hosting services, written in C.

Resources

Where to discover learning resources or new Python libraries.

Books

Websites

Newsletters

Podcasts

Contributing

Your contributions are always welcome!

If you find out any repo has been outdate or its link has not valid anymore, please open a pull request. I will merge it soon.

If you want to add a new repo, please go to awesome-python and create a pull request first.