Top 50 Awesome List

vinta/awesome-python

Programming Languages  2 months ago  143.2k
A curated list of awesome Python frameworks, libraries, software and resources
View byDAY/WEEK/README
View on Github

Awesome Python Awesome

A curated list of awesome Python frameworks, libraries, software and resources.

Inspired by awesome-phpstars27.4k.


Admin Panels

Libraries for administrative interfaces.

Algorithms and Design Patterns

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

ASGI Servers

ASGI-compatible web servers.

  • daphnestars1.8k - A HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP.
  • uvicornstars5.7k - A lightning-fast ASGI server implementation, using uvloop and httptools.

Asynchronous Programming

Audio

Libraries for manipulating audio and its metadata.

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.
  • PlatformIOstars6.1k - A console tool to build code with different development platforms.
  • pybuilderstars1.4k - A continuous build tool written in pure Python.
  • SCons - A software construction tool.

Built-in Classes Enhancement

Libraries for enhancing Python built-in classes.

  • attrsstars4.4k - Replacement for __init__, __eq__, __repr__, etc. boilerplate in class definitions.
  • bidictstars1.2k - Efficient, Pythonic bidirectional map data structures and related functionality..
  • Boxstars2.1k - Python dictionaries with advanced dot notation access.
  • dataclasses - (Python standard library) Data classes.
  • DottedDictstars150 - 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.
  • feincmsstars840 - One of the most advanced Content Management Systems built on Django.
  • indicostars1.4k - A feature-rich event management system, made @ CERN.
  • Kottistars391 - A high-level, Pythonic web application framework built on Pyramid.
  • mezzaninestars4.5k - A powerful, consistent, and flexible content management platform.
  • plone - A CMS built on top of the open source application server Zope.
  • quokkastars2.2k - Flexible, extensible, small CMS powered by Flask and MongoDB.
  • wagtail - A Django content management system.

Caching

Libraries for caching data.

ChatOps Tools

Libraries for chatbot development.

  • errbotstars2.8k - The easiest and most popular chatbot to implement ChatOps.

Code Analysis

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

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.
    • python-firestars23.1k - A library for creating command line interfaces from absolutely any Python object.
    • python-prompt-toolkitstars7.9k - A library for building powerful interactive command lines.
  • Terminal Rendering
    • alive-progressstars3.8k - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
    • asciimaticsstars3.1k - A package to create full-screen text UIs (from interactive forms to ASCII animations).
    • bashplotlibstars1.7k - Making basic plots in the terminal.
    • colorama - Cross-platform colored terminal text.
    • richstars39.9k - Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.
    • tqdmstars23k - Fast, extensible progress bar for loops and CLI.

Command-line Tools

Useful CLI-based tools for productivity.

Compatibility

Libraries for migrating from Python 2 to 3.

  • python-future - The missing compatibility layer between Python 2 and Python 3.
  • modernizestars295 - Modernizes Python code for eventual Python 3 migration.
  • 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-asynciostars3.6k.

Configuration

Libraries for storing and parsing configuration options.

Cryptography

  • cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
  • paramikostars7.9k - The leading native Python SSHv2 protocol library.
  • passlib - Secure password storage/hashing library, very high level.
  • pynaclstars923 - Python binding to the Networking and Cryptography (NaCl) library.

Data Analysis

Libraries for data analyzing.

  • AWS Data Wranglerstars3.1k - Pandas on AWS.
  • Blazestars3.1k - NumPy and Pandas interface to Big Data.
  • Open Miningstars1.2k - Business Intelligence (BI) in Pandas interface.
  • Optimusstars1.3k - Agile Data Science Workflows made easy with PySpark.
  • 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.

Data Visualization

Libraries for visualizing data. Also see awesome-javascriptstars28.9k.

Database

Databases implemented in Python.

  • pickleDBstars707 - A simple and lightweight key-value store for Python.
  • tinydbstars5.4k - A tiny, document-oriented database.
  • ZODBstars552 - A native object database for Python. A key-value and object graph database.

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.
  • Chronykstars338 - A Python 3 library for parsing human-written times and dates.
  • dateutilstars1.9k - Extensions to the standard Python datetime module.
  • deloreanstars1.8k - A library for clearing up the inconvenient truths that arise dealing with datetimes.
  • mayastars3.4k - Datetimes for Humans.
  • momentstars706 - A Python library for dealing with dates/times. Inspired by Moment.js.
  • Pendulumstars5.1k - Python datetimes made easy.
  • PyTimestars146 - An easy-to-use Python module which aims to operate date/time/datetime by string.
  • pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
  • when.pystars192 - Providing user-friendly functions to help perform common date and time actions.

Debugging Tools

Libraries for debugging code.

Deep Learning

Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learningstars19.5k.

  • caffestars32.9k - A fast open framework for deep learning..
  • kerasstars56.3k - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
  • mxnetstars20.1k - A deep learning framework designed for both efficiency and flexibility.
  • pytorchstars59.2k - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
  • SerpentAIstars6.3k - Game agent framework. Use any video game as a deep learning sandbox.
  • tensorflowstars168.1k - The most popular Deep Learning framework created by Google.
  • Theanostars9.6k - A library for fast numerical computation.

DevOps Tools

Software and libraries for DevOps.

Distributed Computing

Frameworks and libraries for Distributed Computing.

Distribution

Libraries to create packaged executables for release distribution.

  • dh-virtualenvstars1.5k - Build and distribute a virtualenv as a Debian package.
  • Nuitka - Compile scripts, modules, packages to an executable or extension module.
  • py2app - Freezes Python scripts (Mac OS X).
  • py2exe - Freezes Python scripts (Windows).
  • pyarmorstars1.8k - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
  • PyInstallerstars9.6k - Converts Python programs into stand-alone executables (cross-platform).
  • pynsist - A tool to build Windows installers, installers bundle Python itself.
  • shivstars1.5k - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.

Documentation

Libraries for generating project documentation.