Giter VIP home page Giter VIP logo

fucking-awesome-python's Introduction

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 - โญ 213 ๐Ÿด 43 - The admin panel your servers deserve.
  • ๐ŸŒŽ django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
  • :octocat: django-xadmin - โญ 3061 ๐Ÿด 925 - Drop-in replacement of Django admin comes with lots of goodies.
  • :octocat: flask-admin - โญ 2998 ๐Ÿด 897 - Simple and extensible administrative interface framework for Flask.
  • :octocat: flower - โญ 3022 ๐Ÿด 539 - Real-time monitor and web admin for Celery.
  • ๐ŸŒŽ Grappelli - A jazzy skin for the Django Admin-Interface.
  • :octocat: Wooey - โญ 1074 ๐Ÿด 108 - A Django app which creates automatic web UIs for Python scripts.

Algorithms and Design Patterns

Python implementation of algorithms and design patterns.

  • :octocat: algorithms - โญ 2861 ๐Ÿด 702 - A module of algorithms for Python.
  • :octocat: PyPattyrn - โญ 566 ๐Ÿด 45 - A simple yet effective library for implementing common design patterns.
  • :octocat: python-patterns - โญ 16349 ๐Ÿด 3731 - A collection of design patterns in Python.
  • ๐ŸŒŽ sortedcontainers - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.

Anti-spam

Libraries for fighting spam.

Asset Management

Tools for managing, compressing and minifying website assets.

  • :octocat: django-compressor - โญ 2052 ๐Ÿด 532 - Compresses linked and inline JavaScript or CSS into a single cached file.
  • :octocat: django-pipeline - โญ 1254 ๐Ÿด 315 - An asset packaging library for Django.
  • :octocat: django-storages - โญ 928 ๐Ÿด 442 - A collection of custom storage back ends for Django.
  • ๐ŸŒŽ fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
  • ๐ŸŒŽ fileconveyor - A daemon to detect and sync files to CDNs, S3 and FTP.
  • :octocat: flask-assets - โญ 351 ๐Ÿด 79 - Helps you integrate webassets into your Flask app.
  • :octocat: jinja-assets-compressor - โญ 75 ๐Ÿด 12 - A Jinja extension to compile and compress your assets.
  • :octocat: webassets - โญ 831 ๐Ÿด 236 - Bundles, optimizes, and manages unique cache-busting URLs for static resources.

Audio

Libraries for manipulating audio.

  • :octocat: audiolazy - โญ 410 ๐Ÿด 55 - Expressive Digital Signal Processing (DSP) package for Python.
  • :octocat: audioread - โญ 207 ๐Ÿด 55 - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
  • ๐ŸŒŽ beets - A music library manager and MusicBrainz tagger.
  • :octocat: dejavu - โญ 3903 ๐Ÿด 844 - Audio fingerprinting and recognition.
  • :octocat: django-elastic-transcoder - โญ 48 ๐Ÿด 29 - Django + Amazon Elastic Transcoder.
  • ๐ŸŒŽ eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
  • ๐ŸŒŽ id3reader - A Python module for reading MP3 meta data.
  • :octocat: m3u8 - โญ 422 ๐Ÿด 147 - A module for parsing m3u8 file.
  • ๐ŸŒŽ mingus - An advanced music theory and notation package with MIDI file and playback support.
  • ๐ŸŒŽ mutagen - A Python module to handle audio metadata.
  • :octocat: pydub - โญ 2685 ๐Ÿด 358 - Manipulate audio with a simple and easy high level interface.
  • :octocat: pyechonest - โญ 613 ๐Ÿด 1012 - Python client for the Echo Nest API.
  • ๐ŸŒŽ talkbox - A Python library for speech/signal processing.
  • :octocat: TimeSide - โญ 218 ๐Ÿด 35 - Open web audio processing framework.
  • :octocat: tinytag - โญ 297 ๐Ÿด 51 - A library for reading music meta data of MP3, OGG, FLAC and Wave files.

Authentication

Libraries for implementing authentications schemes.

  • OAuth
    • ๐ŸŒŽ Authomatic - Simple but powerful framework agnostic authentication/authorization client.
    • :octocat: django-allauth - โญ 3872 ๐Ÿด 1397 - Authentication app for Django that "just works."
    • :octocat: django-oauth-toolkit - โญ 1333 ๐Ÿด 424 - OAuth 2 goodies for Django.
    • :octocat: Flask-OAuthlib - โญ 1246 ๐Ÿด 382 - OAuth 1.0/a, 2.0 implementation of client and provider for Flask.
    • :octocat: OAuthLib - โญ 1612 ๐Ÿด 348 - A generic and thorough implementation of the OAuth request-signing logic.
    • :octocat: python-oauth2 - โญ 2747 ๐Ÿด 1020 - A fully tested, abstract interface to creating OAuth clients and servers.
    • :octocat: python-social-auth - โญ 2741 ๐Ÿด 1175 - An easy-to-setup social authentication mechanism.
    • :octocat: rauth - โญ 1520 ๐Ÿด 158 - A Python library for OAuth 1.0/a, 2.0, and Ofly.
    • :octocat: sanction - โญ 172 ๐Ÿด 39 - A dead simple OAuth2 client implementation.
  • Others
    • :octocat: jose - โญ 70 ๐Ÿด 21 - JavaScript Object Signing and Encryption draft implementation.
    • :octocat: PyJWT - โญ 2050 ๐Ÿด 268 - Implementation of the JSON Web Token draft 01.
    • :octocat: python-jws - โญ 52 ๐Ÿด 26 - Implementation of JSON Web Signatures draft 02.
    • :octocat: python-jwt - โญ 143 ๐Ÿด 19 - Module for generating and verifying JSON Web Tokens.

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 - โญ 2476 ๐Ÿด 331 - A console tool to build code with different development platforms.
  • :octocat: PyBuilder - โญ 1017 ๐Ÿด 196 - A continuous build tool written in pure Python.
  • ๐ŸŒŽ SCons - A software construction tool.

CMS

Content Management Systems.

Caching

Libraries for caching data.

  • :octocat: Beaker - โญ 367 ๐Ÿด 114 - A library for caching and sessions for use with web applications and stand-alone Python scripts and applications.
  • ๐ŸŒŽ DiskCache - SQLite and file backed cache backend with faster lookups than memcached and redis.
  • :octocat: django-cache-machine - โญ 705 ๐Ÿด 142 - Automatic caching and invalidation for Django models.
  • :octocat: django-cacheops - โญ 895 ๐Ÿด 130 - A slick ORM cache with automatic granular event-driven invalidation.
  • :octocat: django-viewlet - โญ 56 ๐Ÿด 15 - Render template parts with extended cache control.
  • ๐ŸŒŽ 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.
  • :octocat: johnny-cache - โญ 278 ๐Ÿด 94 - A caching framework for django applications.
  • :octocat: pylibmc - โญ 389 ๐Ÿด 116 - A Python wrapper around the libmemcached interface.

ChatOps Tools

Libraries for chatbot development.

Code Analysis and Linter

Libraries and tools for analysing, parsing and manipulation codebases.

  • Code Analysis
    • ๐ŸŒŽ coala - Language independent and easily extendable code analysis application.
    • :octocat: code2flow - โญ 503 ๐Ÿด 80 - Turn your Python and JavaScript code into DOT flowcharts.
    • :octocat: pycallgraph - โญ 1117 ๐Ÿด 158 - A library that visualises the flow (call graph) of your Python application.
  • Linter
    • ๐ŸŒŽ Flake8 - The modular source code checker: pep8, pyflakes and co.
    • :octocat: pylama - โญ 427 ๐Ÿด 48 - Code audit tool for Python and JavaScript.
    • ๐ŸŒŽ Pylint - A Fully customizable source code analyzer.

Command-line Tools

Libraries for building command-line application.

  • Command-line Application Development
    • :octocat: asciimatics - โญ 1071 ๐Ÿด 96 - Cross-platform, full-screen terminal package (i.e. mouse/keyboard input and coloured, positioned text output) complete with high-level API for complex animations and special effects.
    • ๐ŸŒŽ 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.
    • :octocat: clint - โญ 2423 ๐Ÿด 225 - Python Command-line Application Tools.
    • ๐ŸŒŽ colorama - Cross-platform colored terminal text.
    • ๐ŸŒŽ docopt - Pythonic command line arguments parser.
    • :octocat: Gooey - โญ 5898 ๐Ÿด 350 - Turn command line programs into a full GUI application with one line
    • :octocat: python-prompt-toolkit - โญ 4527 ๐Ÿด 301 - A Library for building powerful interactive command lines.
  • Productivity Tools
    • :octocat: aws-cli - โญ 6635 ๐Ÿด 1335 - A universal command-line interface for Amazon Web Services.
    • :octocat: bashplotlib - โญ 878 ๐Ÿด 59 - Making basic plots in the terminal.
    • :octocat: caniusepython3 - โญ 348 ๐Ÿด 39 - Determine what projects are blocking you from porting to Python 3.
    • :octocat: cookiecutter - โญ 7400 ๐Ÿด 813 - A command-line utility that creates projects from cookiecutters (project templates).
    • :octocat: doitlive - โญ 2163 ๐Ÿด 63 - A tool for live presentations in the terminal.
    • :octocat: howdoi - โญ 6432 ๐Ÿด 591 - Instant coding answers via the command line.
    • :octocat: httpie - โญ 35983 ๐Ÿด 2426 - A command line HTTP client, a user-friendly cURL replacement.
    • :octocat: mycli - โญ 5966 ๐Ÿด 346 - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
    • :octocat: PathPicker - โญ 3848 ๐Ÿด 250 - Select files out of bash output.
    • :octocat: percol - โญ 2562 ๐Ÿด 127 - Adds flavor of interactive selection to the traditional pipe concept on UNIX.
    • :octocat: pgcli - โญ 6884 ๐Ÿด 315 - Postgres CLI with autocompletion and syntax highlighting.
    • :octocat: SAWS - โญ 3649 ๐Ÿด 180 - A Supercharged AWS CLI.
    • :octocat: thefuck - โญ 36140 ๐Ÿด 1822 - Correcting your previous console command.
    • :octocat: try - โญ 425 ๐Ÿด 21 - A dead simple CLI to try out python packages - It's never been easier.

Compatibility

Libraries for migrating from Python 2 to 3.

Computer Vision

Libraries for computer vision.

Concurrency and Parallelism

Libraries for concurrent and parallel execution.

  • ๐ŸŒŽ eventlet - Asynchronous framework with WSGI support.
  • :octocat: gevent - โญ 907 ๐Ÿด 161 - A coroutine-based Python networking library that uses greenlet.
  • ๐ŸŒŽ multiprocessing - (Python standard library) Process-based "threading" interface.
  • ๐ŸŒŽ threading - (Python standard library) Higher-level threading interface.
  • :octocat: Tomorrow - โญ 1366 ๐Ÿด 90 - Magic decorator syntax for asynchronous code.
  • :octocat: uvloop - โญ 4871 ๐Ÿด 285 - Ultra fast implementation of asyncio event loop on top of libuv.

Configuration

Libraries for storing and parsing configuration options.

Cryptography

  • ๐ŸŒŽ cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
  • :octocat: hashids - โญ 775 ๐Ÿด 68 - Implementation of hashids in Python.
  • ๐ŸŒŽ Paramiko - A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.
  • ๐ŸŒŽ Passlib - Secure password storage/hashing library, very high level.
  • ๐ŸŒŽ PyCrypto - The Python Cryptography Toolkit.
  • :octocat: PyNacl - โญ 493 ๐Ÿด 102 - Python binding to the Networking and Cryptography (NaCl) library.

Data Analysis

Libraries for data analyzing.

  • :octocat: Blaze - โญ 2413 ๐Ÿด 315 - NumPy and Pandas interface to Big Data.
  • :octocat: Open Mining - โญ 889 ๐Ÿด 172 - Business Intelligence (BI) in Pandas interface.
  • ๐ŸŒŽ 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.

  • :octocat: Cerberus - โญ 1315 ๐Ÿด 144 - A lightweight and extensible data validation library.
  • ๐ŸŒŽ colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
  • :octocat: jsonschema - โญ 1695 ๐Ÿด 300 - An implementation of JSON Schema for Python.
  • :octocat: schema - โญ 1448 ๐Ÿด 126 - A library for validating Python data structures.
  • :octocat: Schematics - โญ 1990 ๐Ÿด 258 - Data Structure Validation.
  • :octocat: valideer - โญ 204 ๐Ÿด 15 - Lightweight extensible data validation and adaptation library.
  • :octocat: voluptuous - โญ 1238 ๐Ÿด 155 - A Python data validation library.

Data Visualization

Libraries for visualizing data. See: awesome-javascript.

  • :octocat: Altair - โญ 2537 ๐Ÿด 240 - Declarative statistical visualization library for Python.
  • :octocat: Bokeh - โญ 7858 ๐Ÿด 2080 - Interactive Web Plotting for Python.
  • :octocat: ggplot - โญ 3336 ๐Ÿด 514 - Same API as ggplot2 for R.
  • ๐ŸŒŽ Matplotlib - A Python 2D plotting library.
  • ๐ŸŒŽ Pygal - A Python SVG Charts Creator.
  • ๐ŸŒŽ PyGraphviz - Python interface to Graphviz.
  • ๐ŸŒŽ PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
  • :octocat: Seaborn - โญ 5035 ๐Ÿด 770 - Statistical data visualization using Matplotlib.
  • :octocat: VisPy - โญ 1688 ๐Ÿด 384 - High-performance scientific visualization based on OpenGL.

Database

Databases implemented in Python.

  • ๐ŸŒŽ pickleDB - A simple and lightweight key-value store for Python.
  • ๐ŸŒŽ PipelineDB - The Streaming SQL Database.
  • :octocat: TinyDB - โญ 2249 ๐Ÿด 223 - A tiny, document-oriented database.
  • ๐ŸŒŽ ZODB - A native object database for Python. A key-value and object graph database.

Database Drivers

Libraries for connecting and operating databases.

  • MySQL - awesome-mysql
    • ๐ŸŒŽ mysql-python - The MySQL database connector for Python.
    • :octocat: mysqlclient - โญ 1143 ๐Ÿด 182 - mysql-python fork supporting Python 3.
    • ๐ŸŒŽ oursql - A better MySQL connector with support for native prepared statements and BLOBs.
    • :octocat: PyMySQL - โญ 4138 ๐Ÿด 930 - Pure Python MySQL driver compatible to mysql-python.
  • PostgreSQL
    • ๐ŸŒŽ psycopg2 - The most popular PostgreSQL adapter for Python.
    • :octocat: queries - โญ 185 ๐Ÿด 19 - A wrapper of the psycopg2 library for interacting with PostgreSQL.
    • :octocat: txpostgres - โญ 97 ๐Ÿด 24 - Twisted based asynchronous driver for PostgreSQL.
  • Other Relational Databases
    • ๐ŸŒŽ apsw - Another Python SQLite wrapper.
    • :octocat: dataset - โญ 3132 ๐Ÿด 202 - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
    • ๐ŸŒŽ pymssql - A simple database interface to Microsoft SQL Server.
  • NoSQL Databases
    • :octocat: cassandra-python-driver - โญ 888 ๐Ÿด 377 - Python driver for Cassandra.
    • :octocat: HappyBase - โญ 406 ๐Ÿด 129 - A developer-friendly library for Apache HBase.
    • :octocat: Plyvel - โญ 207 ๐Ÿด 35 - A fast and feature-rich Python interface to LevelDB.
    • ๐ŸŒŽ py2neo - Python wrapper client for Neo4j's restful interface.
    • :octocat: pycassa - โญ 501 ๐Ÿด 144 - Python Thrift driver for Cassandra.
    • ๐ŸŒŽ PyMongo - The official Python client for MongoDB.
    • :octocat: redis-py - โญ 6327 ๐Ÿด 1503 - The Redis Python Client.
    • :octocat: telephus - โญ 92 ๐Ÿด 30 - Twisted based client for Cassandra.
    • :octocat: txRedis - โญ 116 ๐Ÿด 36 - Twisted based client for Redis.

Date and Time

Libraries for working with dates and times.

  • :octocat: arrow - โญ 5068 ๐Ÿด 417 - Better dates & times for Python.
  • :octocat: Chronyk - โญ 254 ๐Ÿด 11 - A Python 3 library for parsing human-written times and dates.
  • :octocat: dateutil - โญ 730 ๐Ÿด 225 - Extensions to the standard Python datetime module.
  • :octocat: delorean - โญ 1453 ๐Ÿด 83 - A library for clearing up the inconvenient truths that arise dealing with datetimes.
  • :octocat: moment - โญ 506 ๐Ÿด 30 - A Python library for dealing with dates/times. Inspired by Moment.js.
  • :octocat: Pendulum - โญ 2706 ๐Ÿด 112 - Python datetimes made easy.
  • :octocat: PyTime - โญ 118 ๐Ÿด 18 - A easy-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.
  • :octocat: when.py - โญ 173 ๐Ÿด 15 - Providing user-friendly functions to help perform common date and time actions.

Debugging Tools

Libraries for debugging code.

  • Debugger
    • :octocat: django-debug-toolbar - โญ 4873 ๐Ÿด 786 - Display various debug information for Django.
    • :octocat: django-devserver - โญ 1235 ๐Ÿด 166 - A drop-in replacement for Django's runserver.
    • :octocat: flask-debugtoolbar - โญ 647 ๐Ÿด 97 - A port of the django-debug-toolbar to flask.
    • ๐ŸŒŽ ipdb - IPython-enabled pdb.
    • ๐ŸŒŽ pudb - A full-screen, console-based Python debugger.
    • :octocat: pyringe - โญ 1459 ๐Ÿด 60 - Debugger capable of attaching to and injecting code into Python processes.
    • :octocat: wdb - โญ 1291 ๐Ÿด 82 - An improbable web debugger through WebSockets.
    • ๐ŸŒŽ winpdb - A Python Debugger with GUI, capable of remote debugging based on rpdb2.
  • Profiler
    • :octocat: line_profiler - โญ 2141 ๐Ÿด 159 - Line-by-line profiling.
    • :octocat: memory_profiler - โญ 1 ๐Ÿด 1 - Monitor Memory usage of Python code.
    • :octocat: profiling - โญ 2714 ๐Ÿด 103 - An interactive Python profiler.
  • Others
    • :octocat: pyelftools - โญ 644 ๐Ÿด 248 - Parsing and analyzing ELF files and DWARF debugging information.
    • :octocat: python-statsd - โญ 96 ๐Ÿด 39 - Python Client for the statsd server.

Deep Learning

Frameworks for Neural Networks and Deep Learning. See: awesome-deep-learning.

  • :octocat: Caffe - โญ 24792 ๐Ÿด 15193 - A fast open framework for deep learning..
  • :octocat: Keras - โญ 31420 ๐Ÿด 11770 - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
  • ๐ŸŒŽ Neupy - Running and testing different Artificial Neural Networks algorithms.
  • :octocat: TensorFlow - โญ 104627 ๐Ÿด 65203 - The most popular Deep Learning framework created by Google.
  • :octocat: Theano - โญ 8360 ๐Ÿด 2446 - A library for fast numerical computation.

DevOps Tools

Software and libraries for DevOps.

  • :octocat: Ansible - โญ 31247 ๐Ÿด 11935 - A radically simple IT automation platform.
  • ๐ŸŒŽ Cloud-Init - A multi-distribution package that handles early initialization of a cloud instance.
  • :octocat: cuisine - โญ 1230 ๐Ÿด 157 - Chef-like functionality for Fabric.
  • ๐ŸŒŽ Docker Compose - Fast, isolated development environments using Docker.
  • ๐ŸŒŽ Fabric - A simple, Pythonic tool for remote execution and deployment.
  • :octocat: Fabtools - โญ 1159 ๐Ÿด 219 - Tools for writing awesome Fabric files.
  • :octocat: honcho - โญ 1131 ๐Ÿด 108 - A Python clone of Foreman, for managing Procfile-based applications.
  • ๐ŸŒŽ OpenStack - Open source software for building private and public clouds.
  • :octocat: pexpect - โญ 1255 ๐Ÿด 302 - Controlling interactive programs in a pseudo-terminal like GNU expect.
  • :octocat: psutil - โญ 3832 ๐Ÿด 635 - A cross-platform process and system utilities module.
  • :octocat: SaltStack - โญ 8997 ๐Ÿด 4206 - Infrastructure automation and management system.
  • :octocat: supervisor - โญ 4481 ๐Ÿด 816 - Supervisor process control system for UNIX.

Distribution

Libraries to create packaged executables for release distribution.

  • :octocat: dh-virtualenv - โญ 1181 ๐Ÿด 125 - 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).
  • :octocat: PyInstaller - โญ 4187 ๐Ÿด 941 - Converts Python programs into stand-alone executables (cross-platform).
  • ๐ŸŒŽ pynsist - A tool to build Windows installers, installers bundle Python itself.

Documentation

Libraries for generating project documentation.

  • ๐ŸŒŽ Sphinx - Python Documentation generator.
  • ๐ŸŒŽ MkDocs - Markdown friendly documentation generator.
  • :octocat: pdoc - โญ 401 ๐Ÿด 69 - Epydoc replacement to auto generate API documentation for Python libraries.
  • :octocat: Pycco - โญ 600 ๐Ÿด 124 - The literate-programming-style documentation generator.

Downloader

Libraries for downloading.

  • :octocat: s3cmd - โญ 2718 ๐Ÿด 697 - A command line tool for managing Amazon S3 and CloudFront.
  • :octocat: s4cmd - โญ 730 ๐Ÿด 145 - Super S3 command line tool, good for higher performance.
  • ๐ŸŒŽ 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.

  • :octocat: alipay - โญ 288 ๐Ÿด 94 - Unofficial Alipay API for Python.
  • :octocat: Cartridge - โญ 565 ๐Ÿด 272 - A shopping cart app built using the Mezzanine.
  • ๐ŸŒŽ django-oscar - An open-source e-commerce framework for Django.
  • :octocat: django-shop - โญ 1609 ๐Ÿด 602 - A Django based shop system.
  • :octocat: merchant - โญ 894 ๐Ÿด 162 - A Django app to accept payments from various payment processors.
  • :octocat: money - โญ 131 ๐Ÿด 15 - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
  • :octocat: python-currencies - โญ 33 ๐Ÿด 3 - Display money format and its filthy currencies.
  • ๐ŸŒŽ shoop - An open source E-Commerce platform based on Django.

Editor Plugins and IDEs

  • Emacs
    • :octocat: Elpy - โญ 1237 ๐Ÿด 167 - Emacs Python Development Environment.
  • Sublime Text
    • :octocat: Anaconda - โญ 1831 ๐Ÿด 205 - Anaconda turns your Sublime Text 3 in a full featured Python development IDE.
    • :octocat: SublimeJEDI - โญ 822 ๐Ÿด 90 - A Sublime Text plugin to the awesome auto-complete library Jedi.
  • Vim
    • :octocat: Jedi-vim - โญ 3501 ๐Ÿด 297 - Vim bindings for the Jedi auto-completion library for Python.
    • :octocat: Python-mode - โญ 4227 ๐Ÿด 808 - An all in one plugin for turning Vim into a Python IDE.
    • :octocat: YouCompleteMe - โญ 16864 ๐Ÿด 1899 - Includes Jedi-based completion engine for Python.
  • Visual Studio
    • :octocat: PTVS - โญ 1989 ๐Ÿด 529 - Python Tools for Visual Studio.
  • Visual Studio Code
    • :octocat: Python - โญ 1831 ๐Ÿด 342 - An extension with rich support for the Python language, with features including linting, IntelliSense, formatting, refactoring, debugging, unit tests, and jupyter support.
  • IDE
    • ๐ŸŒŽ LiClipse - Free polyglot IDE based on Eclipse. Uses PyDev for Python support.
    • ๐ŸŒŽ PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
    • :octocat: Spyder - โญ 3270 ๐Ÿด 703 - Open Source Python IDE.

Email

Libraries for sending and parsing email.

  • ๐ŸŒŽ envelopes - Mailing for human beings.
  • :octocat: flanker - โญ 1208 ๐Ÿด 138 - A email address and Mime parsing library.
  • :octocat: imbox - โญ 767 ๐Ÿด 118 - Python IMAP for Humans.
  • :octocat: inbox.py - โญ 1422 ๐Ÿด 118 - Python SMTP Server for Humans.
  • :octocat: lamson - โญ 638 ๐Ÿด 190 - Pythonic SMTP Application Server.
  • :octocat: Marrow Mailer - โญ 157 ๐Ÿด 35 - High-performance extensible mail delivery framework.
  • :octocat: modoboa - โญ 1048 ๐Ÿด 165 - A mail hosting and management platform including a modern and simplified Web UI.
  • :octocat: Nylas Sync Engine - โญ 3444 ๐Ÿด 361 - Providing a RESTful API on top of a powerful email sync platform.
  • :octocat: yagmail - โญ 1098 ๐Ÿด 105 - Yet another Gmail/SMTP client.

Environment Management

Libraries for Python version and environment management.

  • :octocat: p - โญ 720 ๐Ÿด 39 - Dead simple interactive Python version management.
  • :octocat: pyenv - โญ 11697 ๐Ÿด 1012 - Simple Python version management.
  • ๐ŸŒŽ venv - (Python standard library in Python 3.3+) Creating lightweight virtual environments.
  • ๐ŸŒŽ virtualenv - A tool to create isolated Python environments.
  • ๐ŸŒŽ virtualenvwrapper - A set of extensions to virtualenv.

Files

Libraries for file manipulation and MIME type detection.

  • ๐ŸŒŽ imghdr - (Python standard library) Determine the type of an image.
  • ๐ŸŒŽ mimetypes - (Python standard library) Map filenames to MIME types.
  • :octocat: path.py - โญ 806 ๐Ÿด 112 - A module wrapper for os.path.
  • ๐ŸŒŽ pathlib - (Python standard library in Python 3.4+) An cross-platform, object-oriented path library.
  • :octocat: python-magic - โญ 1139 ๐Ÿด 162 - A Python interface to the libmagic file type identification library.
  • :octocat: Unipath - โญ 459 ๐Ÿด 27 - An object-oriented approach to file/directory operations.
  • :octocat: watchdog - โญ 3033 ๐Ÿด 401 - API and shell utilities to monitor file system events.

Foreign Function Interface

Libraries for providing foreign function interface.

Forms

Libraries for working with forms.

  • :octocat: Deform - โญ 295 ๐Ÿด 143 - Python HTML form generation library influenced by the formish form generation library.
  • :octocat: django-bootstrap3 - โญ 2005 ๐Ÿด 676 - Bootstrap 3 integration with Django.
  • :octocat: django-crispy-forms - โญ 3242 ๐Ÿด 564 - A Django app which lets you create beautiful forms in a very elegant and DRY way.
  • :octocat: django-remote-forms - โญ 175 ๐Ÿด 93 - A platform independent Django form serializer.
  • :octocat: WTForms - โญ 821 ๐Ÿด 265 - A flexible forms validation and rendering library.

Functional Programming

Functional Programming with Python.

  • :octocat: CyToolz - โญ 462 ๐Ÿด 42 - Cython implementation of Toolz: High performance functional utilities.
  • :octocat: fn.py - โญ 2619 ๐Ÿด 164 - Functional programming in Python: implementation of missing features to enjoy FP.
  • :octocat: funcy - โญ 1780 ๐Ÿด 86 - A fancy and practical functional tools.
  • :octocat: Toolz - โญ 1833 ๐Ÿด 141 - A collection of functional utilities for iterators, functions, and dictionaries.

GUI

Libraries for working with graphical user interface applications.

  • ๐ŸŒŽ curses - Built-in wrapper for ncurses used to create terminal GUI applications.
  • :octocat: enaml - โญ 619 ๐Ÿด 78 - Creating beautiful user-interfaces with Declaratic Syntax like QML.
  • :octocat: Flexx - โญ 1652 ๐Ÿด 155 - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.
  • ๐ŸŒŽ kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
  • ๐ŸŒŽ pyglet - A cross-platform windowing and multimedia library for Python.
  • ๐ŸŒŽ PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3)
  • ๐ŸŒŽ PyQt - Python bindings for the Qt cross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.
  • ๐ŸŒŽ PySide - Python bindings for the Qt cross-platform application and UI framework, supporting the Qt v4 framework.
  • ๐ŸŒŽ Tkinter - Tkinter is Python's de-facto standard GUI package.
  • :octocat: Toga - โญ 1658 ๐Ÿด 253 - A Python native, OS native GUI toolkit.
  • ๐ŸŒŽ 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.

Game Development

Awesome game development libraries.

  • ๐ŸŒŽ Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.
  • ๐ŸŒŽ Panda3D - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.
  • ๐ŸŒŽ 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.

  • :octocat: django-countries - โญ 546 ๐Ÿด 138 - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models.
  • ๐ŸŒŽ GeoDjango - A world-class geographic web framework.
  • :octocat: GeoIP - โญ 179 ๐Ÿด 45 - Python API for MaxMind GeoIP Legacy Database.
  • :octocat: geojson - โญ 336 ๐Ÿด 50 - Python bindings and utilities for GeoJSON.
  • :octocat: geopy - โญ 1946 ๐Ÿด 392 - Python Geocoding Toolbox.
  • :octocat: pygeoip - โญ 476 ๐Ÿด 101 - Pure Python GeoIP API.

HTML Manipulation

Libraries for working with HTML and XML.

  • ๐ŸŒŽ BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
  • :octocat: bleach - โญ 1517 ๐Ÿด 167 - A whitelist-based HTML sanitization and text linkification library.
  • ๐ŸŒŽ cssutils - A CSS library for Python.
  • :octocat: html5lib - โญ 698 ๐Ÿด 210 - A standards-compliant library for parsing and serializing HTML documents and fragments.
  • ๐ŸŒŽ lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
  • :octocat: MarkupSafe - โญ 214 ๐Ÿด 66 - Implements a XML/HTML/XHTML Markup safe string for Python.
  • :octocat: pyquery - โญ 1507 ๐Ÿด 137 - A jQuery-like library for parsing HTML.
  • :octocat: untangle - โญ 333 ๐Ÿด 48 - Converts XML documents to Python objects for easy access.
  • ๐ŸŒŽ WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
  • ๐ŸŒŽ xmldataset - Simple XML Parsing.
  • :octocat: xmltodict - โญ 3015 ๐Ÿด 287 - Working with XML feel like you are working with JSON.

HTTP

Libraries for working with HTTP.

  • :octocat: grequests - โญ 2649 ๐Ÿด 265 - requests + gevent for asynchronous HTTP requests.
  • :octocat: httplib2 - โญ 388 ๐Ÿด 185 - Comprehensive HTTP client library.
  • ๐ŸŒŽ requests - HTTP Requests for Humans๏ฟฝ.
  • :octocat: treq - โญ 426 ๐Ÿด 115 - Python requests like API built on top of Twisted's HTTP client.
  • :octocat: urllib3 - โญ 1639 ๐Ÿด 555 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.

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.
  • ๐ŸŒŽ Pyro - Python Robotics.
  • :octocat: PyUserInput - โญ 729 ๐Ÿด 172 - A module for cross-platform control of the mouse and keyboard.
  • :octocat: scapy - โญ 2678 ๐Ÿด 621 - A brilliant packet manipulation library.
  • :octocat: wifi - โญ 220 ๐Ÿด 113 - A Python library and command line tool for working with WiFi on Linux.

High Performance

Libraries for making Python faster.

  • ๐ŸŒŽ Cython - Optimizing Static Compiler for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains.
  • ๐ŸŒŽ Numba - Python JIT complier to LLVM aimed at scientific Python.
  • :octocat: PeachPy - โญ 1139 ๐Ÿด 85 - x86-64 assembler embedded in Python. Can be used as inline assembler for Python or as a stand-alone assembler for Windows, Linux, OS X, Native Client and Go.
  • ๐ŸŒŽ PyPy - An implementation of Python in Python. The interpreter uses black magic to make Python very fast without having to add in additional type information.
  • :octocat: Pyston - โญ 4430 ๐Ÿด 300 - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.
  • :octocat: Pyjion - โญ 1200 ๐Ÿด 60 - A JIT for Python based upon CoreCLR
  • ๐ŸŒŽ Stackless Python - An enhanced version of the Python.

Imagery

Libraries for manipulating images.

  • :octocat: hmap - โญ 149 ๐Ÿด 17 - Image histogram remapping.
  • ๐ŸŒŽ imgSeek - A project for searching a collection of images using visual similarity.
  • :octocat: nude.py - โญ 575 ๐Ÿด 92 - Nudity detection.
  • :octocat: pagan - โญ 97 ๐Ÿด 12 - Retro identicon (Avatar) generation based on input string and hash.
  • :octocat: pillow - โญ 5081 ๐Ÿด 1046 - Pillow is the friendly PIL fork.
  • ๐ŸŒŽ pyBarcode - Create barcodes in Python without needing PIL.
  • :octocat: pygram - โญ 69 ๐Ÿด 12 - Instagram-like image filters.
  • :octocat: python-qrcode - โญ 1431 ๐Ÿด 277 - A pure Python QR Code generator.
  • :octocat: Quads - โญ 740 ๐Ÿด 68 - Computer art based on quadtrees.
  • ๐ŸŒŽ scikit-image - A Python library for (scientific) image processing.
  • :octocat: thumbor - โญ 5981 ๐Ÿด 562 - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
  • :octocat: wand - โญ 784 ๐Ÿด 163 - Python bindings for MagickWand, C API for ImageMagick.

Interactive Interpreter

Interactive Python interpreters (REPL).

Internationalization

Libraries for working with i18n.

  • ๐ŸŒŽ Babel - An internationalization library for Python.
  • :octocat: PyICU - โญ 73 ๐Ÿด 33 - A wrapper of International Components for Unicode C++ library (ICU).

Job Scheduler

Libraries for scheduling jobs.

  • ๐ŸŒŽ APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
  • :octocat: django-schedule - โญ 720 ๐Ÿด 275 - A calendaring app for Django.
  • ๐ŸŒŽ doit - A task runner and build tool.
  • :octocat: gunnery - โญ 666 ๐Ÿด 70 - Multipurpose task execution tool for distributed systems with web-based interface.
  • ๐ŸŒŽ Joblib - A set of tools to provide lightweight pipelining in Python.
  • :octocat: Plan - โญ 1038 ๐Ÿด 82 - Writing crontab file in Python like a charm.
  • :octocat: schedule - โญ 4708 ๐Ÿด 450 - Python job scheduling for humans.
  • :octocat: Spiff - โญ 630 ๐Ÿด 143 - A powerful workflow engine implemented in pure Python.
  • ๐ŸŒŽ TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.

Logging

Libraries for generating and working with logs.

  • :octocat: Eliot - โญ 376 ๐Ÿด 27 - Logging for complex & distributed systems.
  • ๐ŸŒŽ logbook - Logging replacement for Python.
  • ๐ŸŒŽ logging - (Python standard library) Logging facility for Python.
  • :octocat: Raven - โญ 1472 ๐Ÿด 778 - The Python client for Sentry.
  • ๐ŸŒŽ Sentry - A realtime logging and aggregation server.

Machine Learning

Libraries for Machine Learning. See: awesome-machine-learning.

MapReduce

Frameworks and libraries for MapReduce.

  • :octocat: dpark - โญ 2345 ๐Ÿด 526 - Python clone of Spark, a MapReduce alike framework in Python.
  • :octocat: dumbo - โญ 1032 ๐Ÿด 162 - Python module that allows one to easily write and run Hadoop programs.
  • :octocat: luigi - โญ 9555 ๐Ÿด 1668 - A module that helps you build complex pipelines of batch jobs.
  • :octocat: mrjob - โญ 2260 ๐Ÿด 559 - Run MapReduce jobs on Hadoop or Amazon Web Services.
  • ๐ŸŒŽ PySpark - The Spark Python API.
  • :octocat: streamparse - โญ 1296 ๐Ÿด 203 - Run Python code against real-time streams of data. Integrates with Apache Storm.

Microsoft Windows

Python programming on Microsoft Windows.

Miscellaneous

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

  • :octocat: blinker - โญ 763 ๐Ÿด 112 - A fast Python in-process signal/event dispatching system.
  • :octocat: itsdangerous - โญ 1455 ๐Ÿด 129 - Various helpers to pass trusted data to untrusted environments.
  • :octocat: pluginbase - โญ 690 ๐Ÿด 108 - A simple but flexible plugin system for Python.
  • :octocat: Pychievements - โญ 101 ๐Ÿด 5 - A framework for creating and tracking achievements.
  • ๐ŸŒŽ Tryton - A general purpose business framework.

Natural Language Processing

Libraries for working with human languages.

  • :octocat: Jieba - โญ 14183 ๐Ÿด 4015 - Chinese text segmentation.
  • :octocat: langid.py - โญ 1055 ๐Ÿด 192 - Stand-alone language identification system.
  • ๐ŸŒŽ NLTK - A leading platform for building Python programs to work with human language data.
  • ๐ŸŒŽ Pattern - A web mining module for the Python.
  • :octocat: SnowNLP - โญ 3284 ๐Ÿด 887 - A library for processing Chinese text.
  • ๐ŸŒŽ spaCy - A library for industrial-strength natural language processing in Python and Cython.
  • :octocat: TextBlob - โญ 5273 ๐Ÿด 690 - Providing a consistent API for diving into common NLP tasks.
  • :octocat: TextGrocery - โญ 557 ๐Ÿด 180 - A simple, efficient short-text classification tool based on LibLinear and Jieba.

Network Virtualization

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

  • ๐ŸŒŽ Mininet - A popular network emulator and API written in Python.
  • :octocat: POX - โญ 399 ๐Ÿด 381 - An open source development platform for Python-based Software Defined Networking (SDN) control applications, such as OpenFlow SDN controllers.
  • ๐ŸŒŽ Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
  • :octocat: SDX Platform - โญ 11 ๐Ÿด 5 - SDN based IXP implementation that leverages Mininet, POX and Pyretic.

Networking

Libraries for networking programming.

  • ๐ŸŒŽ asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
  • :octocat: diesel - โญ 551 ๐Ÿด 57 - Greenlet-based event I/O Framework for Python.
  • :octocat: pulsar - โญ 1630 ๐Ÿด 128 - Event-driven concurrent framework for Python.
  • ๐ŸŒŽ pyzmq - A Python wrapper for the ZeroMQ message library.
  • ๐ŸŒŽ Twisted - An event-driven networking engine.
  • :octocat: txZMQ - โญ 142 ๐Ÿด 46 - Twisted based wrapper for the ZeroMQ message library.

News Feed

Libraries for building user's activities.

  • :octocat: django-activity-stream - โญ 1382 ๐Ÿด 384 - Generating generic activity streams from the actions on your site.
  • :octocat: Stream-Framework - โญ 3716 ๐Ÿด 444 - Building newsfeed and notification systems using Cassandra and Redis.

ORM

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

Package Management

Libraries for package and dependency management.

  • ๐ŸŒŽ pip - The Python package and dependency manager.
  • :octocat: conda - โญ 2245 ๐Ÿด 571 - Cross-platform, Python-agnostic binary package manager.
  • ๐ŸŒŽ Curdling - Curdling is a command line tool for managing Python packages.
  • :octocat: pip-tools - โญ 2812 ๐Ÿด 274 - A set of tools to keep your pinned Python dependencies fresh.
  • ๐ŸŒŽ wheel - The new standard of Python distribution and are intended to replace eggs.

Package Repositories

Local PyPI repository server and proxies.

Permissions

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

  • :octocat: Carteblanche - โญ 32 ๐Ÿด 2 - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
  • :octocat: django-guardian - โญ 1888 ๐Ÿด 401 - Implementation of per object permissions for Django 1.2+
  • :octocat: django-rules - โญ 675 ๐Ÿด 59 - A tiny but powerful app providing object-level permissions to Django, without requiring a database.

Processes

Libraries for starting and communicating with OS processes.

  • :octocat: envoy - โญ 2199 ๐Ÿด 261 - Python subprocess for Humans๏ฟฝ.
  • ๐ŸŒŽ sarge - Yet another wrapper for subprocess.
  • :octocat: sh - โญ 4526 ๐Ÿด 362 - A full-fledged subprocess replacement for Python.

Queue

Libraries for working with event and task queues.

  • ๐ŸŒŽ celery - An asynchronous task queue/job queue based on distributed message passing.
  • :octocat: huey - โญ 1812 ๐Ÿด 188 - Little multi-threaded task queue.
  • :octocat: mrq - โญ 687 ๐Ÿด 82 - Mr. Queue - A distributed worker task queue in Python using Redis & gevent.
  • ๐ŸŒŽ rq - Simple job queues for Python.
  • :octocat: simpleq - โญ 136 ๐Ÿด 15 - A simple, infinitely scalable, Amazon SQS based queue.

RESTful API

Libraries for developing RESTful APIs.

  • Django
  • Flask
    • :octocat: eve - โญ 1 ๐Ÿด 0 - REST API framework powered by Flask, MongoDB and good intentions.
    • :octocat: flask-api-utils - โญ 44 ๐Ÿด 4 - Taking care of API representation and authentication for Flask.
    • ๐ŸŒŽ flask-api - Browsable Web APIs for Flask.
    • :octocat: flask-restful - โญ 3804 ๐Ÿด 660 - Quickly building REST APIs for Flask.
    • :octocat: flask-restless - โญ 899 ๐Ÿด 263 - Generating RESTful APIs for database models defined with SQLAlchemy.
  • Pyramid
    • :octocat: cornice - โญ 325 ๐Ÿด 132 - A RESTful framework for Pyramid.
  • Framework agnostic
    • ๐ŸŒŽ falcon - A high-performance framework for building cloud APIs and web app backends.
    • :octocat: hug - โญ 5214 ๐Ÿด 285 - A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation.
    • :octocat: restless - โญ 683 ๐Ÿด 84 - Framework agnostic REST framework based on lessons learned from Tastypie.
    • :octocat: ripozo - โญ 183 ๐Ÿด 22 - Quickly creating REST/HATEOAS/Hypermedia APIs.
    • :octocat: sandman - โญ 2298 ๐Ÿด 179 - Automated REST APIs for existing database-driven systems.

RPC Servers

RPC-compatible servers.

Science

Libraries for scientific computing.

  • ๐ŸŒŽ astropy - A community Python library for Astronomy.
  • :octocat: bcbio-nextgen - โญ 583 ๐Ÿด 263 - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
  • :octocat: bccb - โญ 407 ๐Ÿด 182 - Collection of useful code related to biological analysis.
  • ๐ŸŒŽ 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.
  • ๐ŸŒŽ 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.
  • :octocat: PyMC - โญ 3432 ๐Ÿด 846 - Markov Chain Monte Carlo sampling toolkit.
  • ๐ŸŒŽ RDKit - Cheminformatics and Machine Learning Software.
  • ๐ŸŒŽ SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • :octocat: statsmodels - โญ 3028 ๐Ÿด 1306 - Statistical modeling and econometrics in Python.
  • :octocat: SymPy - โญ 4930 ๐Ÿด 2302 - A Python library for symbolic mathematics.
  • :octocat: Zipline - โญ 7290 ๐Ÿด 2313 - A Pythonic algorithmic trading library.

Search

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

Serialization

Libraries for serializing complex data types

  • :octocat: marshmallow - โญ 2706 ๐Ÿด 297 - marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.

Serverless Frameworks

Frameworks for developing serverless Python code.

  • :octocat: apex - โญ 7138 ๐Ÿด 486 - Build, deploy, and manage AWS Lambda functions with ease.
  • :octocat: python-lambda - โญ 734 ๐Ÿด 128 - A toolkit for developing and deploying Python code in AWS Lambda.
  • :octocat: Zappa - โญ 7366 ๐Ÿด 761 - A tool for deploying WSGI applications on AWS Lambda and API Gateway.

Specific Formats Processing

Libraries for parsing and manipulating specific text formats.

  • General
    • :octocat: tablib - โญ 3043 ๐Ÿด 459 - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
  • Office
    • :octocat: Marmir - โญ 140 ๐Ÿด 20 - Takes Python data structures and turns them into spreadsheets.
    • ๐ŸŒŽ openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
    • :octocat: pyexcel - โญ 494 ๐Ÿด 82 - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
    • :octocat: python-docx - โญ 1240 ๐Ÿด 417 - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
    • ๐ŸŒŽ relatorio - Templating OpenDocument files.
    • :octocat: unoconv - โญ 1244 ๐Ÿด 288 - 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.
    • :octocat: xlwt / xlrd - โญ 784 ๐Ÿด 238 - Writing and reading data and formatting information from Excel files.
  • PDF
    • :octocat: PDFMiner - โญ 2923 ๐Ÿด 919 - A tool for extracting information from PDF documents.
    • :octocat: PyPDF2 - โญ 1973 ๐Ÿด 521 - A library capable of splitting, merging and transforming PDF pages.
    • ๐ŸŒŽ ReportLab - Allowing Rapid creation of rich PDF documents.
  • Markdown
    • :octocat: Mistune - โญ 1231 ๐Ÿด 129 - Fastest and full featured pure Python parsers of Markdown.
    • :octocat: Python-Markdown - โญ 1409 ๐Ÿด 354 - A Python implementation of John Gruber๏ฟฝs Markdown.
  • YAML
  • CSV
    • :octocat: csvkit - โญ 3312 ๐Ÿด 447 - Utilities for converting to and working with CSV.
  • Archive
    • :octocat: unp - โญ 313 ๐Ÿด 60 - A command line tool that can unpack archives easily.

Static Site Generator

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

  • :octocat: Cactus - โญ 3214 ๐Ÿด 309 - Static site generator for designers.
  • ๐ŸŒŽ Hyde - Jinja2-based static web site generator.
  • ๐ŸŒŽ Lektor - An easy to use static CMS and blog engine.
  • ๐ŸŒŽ Nikola - A static website and blog generator.
  • ๐ŸŒŽ Pelican - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL.
  • ๐ŸŒŽ Tinkerer - Tinkerer is a blogging engine/.static website generator powered by Sphinx.

Tagging

Libraries for tagging items.

  • :octocat: django-taggit - โญ 1909 ๐Ÿด 467 - Simple tagging for Django.

Template Engine

Libraries and tools for templating and lexing.

  • ๐ŸŒŽ Genshi - Python templating toolkit for generation of web-aware output.
  • :octocat: Jinja2 - โญ 5290 ๐Ÿด 1034 - A modern and designer friendly templating language.
  • ๐ŸŒŽ Mako - Hyperfast and lightweight templating for the Python platform.

Testing

Libraries for testing codebases and generating test data.

  • Testing Frameworks
    • :octocat: hypothesis - โญ 2791 ๐Ÿด 241 - Hypothesis is an advanced Quickcheck style property based testing library.
    • ๐ŸŒŽ mamba - The definitive testing tool for Python. Born under the banner of BDD.
    • :octocat: nose - โญ 1208 ๐Ÿด 335 - A nicer unittest for Python.
    • :octocat: nose2 - โญ 461 ๐Ÿด 109 - The successor to nose, based on unittest2.
    • ๐ŸŒŽ pytest - A mature full-featured Python testing tool.
    • :octocat: Robot Framework - โญ 2405 ๐Ÿด 812 - A generic test automation framework.
    • ๐ŸŒŽ unittest - (Python standard library) Unit testing framework.
  • Test Runners
    • :octocat: green - โญ 537 ๐Ÿด 56 - A clean, colorful test runner.
    • ๐ŸŒŽ tox - Auto builds and tests distributions in multiple Python versions
  • GUI / Web Testing
    • :octocat: locust - โญ 7773 ๐Ÿด 1112 - Scalable user load testing tool written in Python.
    • :octocat: PyAutoGUI - โญ 1848 ๐Ÿด 281 - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
    • ๐ŸŒŽ Selenium - Python bindings for Selenium WebDriver.
    • :octocat: sixpack - โญ 1474 ๐Ÿด 164 - A language-agnostic A/B Testing framework.
    • :octocat: splinter - โญ 1784 ๐Ÿด 382 - Open source tool for testing web applications.
  • Mock
    • ๐ŸŒŽ doublex - Powerful test doubles framework for Python.
    • :octocat: freezegun - โญ 1541 ๐Ÿด 128 - Travel through time by mocking the datetime module.
    • :octocat: httmock - โญ 347 ๐Ÿด 35 - A mocking library for requests for Python 2.6+ and 3.2+.
    • :octocat: httpretty - โญ 1551 ๐Ÿด 217 - HTTP request mock tool for Python.
    • ๐ŸŒŽ mock - (Python standard library) A mocking and patching library.
    • :octocat: responses - โญ 1926 ๐Ÿด 177 - A utility library for mocking out the requests Python library.
    • :octocat: VCR.py - โญ 1175 ๐Ÿด 174 - Record and replay HTTP interactions on your tests.
  • Object Factories
    • :octocat: factory_boy - โญ 1499 ๐Ÿด 204 - A test fixtures replacement for Python.
    • :octocat: mixer - โญ 510 ๐Ÿด 57 - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.
    • :octocat: model_mommy - โญ 801 ๐Ÿด 159 - Creating random fixtures for testing in Django.
  • Code Coverage
  • Fake Data
    • :octocat: church - โญ 2016 ๐Ÿด 154 - is a Python library that help you generate fake data.
    • :octocat: fake2db - โญ 1861 ๐Ÿด 90 - Fake database generator.
    • :octocat: faker - โญ 6405 ๐Ÿด 773 - A Python package that generates fake data.
    • ๐ŸŒŽ radar - Generate random datetime / time.
  • Error Handler
    • :octocat: FuckIt.py - โญ 2929 ๐Ÿด 127 - FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not.

Text Processing

Libraries for parsing and manipulating plain texts.

  • General
    • :octocat: chardet - โญ 954 ๐Ÿด 136 - Python 2/3 compatible character encoding detector.
    • ๐ŸŒŽ difflib - (Python standard library) Helpers for computing deltas.
    • :octocat: ftfy - โญ 2253 ๐Ÿด 70 - Makes Unicode text less broken and more consistent automagically.
    • :octocat: fuzzywuzzy - โญ 4386 ๐Ÿด 474 - Fuzzy String Matching.
    • :octocat: Levenshtein - โญ 467 ๐Ÿด 77 - Fast computation of Levenshtein distance and string similarity.
    • :octocat: pangu.py - โญ 77 ๐Ÿด 12 - Spacing texts for CJK and alphanumerics.
    • :octocat: pyfiglet - โญ 292 ๐Ÿด 42 - An implementation of figlet written in Python.
    • :octocat: shortuuid - โญ 909 ๐Ÿด 69 - A generator library for concise, unambiguous and URL-safe UUIDs.
    • ๐ŸŒŽ unidecode - ASCII transliterations of Unicode text.
    • :octocat: uniout - โญ 147 ๐Ÿด 18 - Print readable chars instead of the escaped string.
    • :octocat: xpinyin - โญ 567 ๐Ÿด 132 - A library to translate Chinese hanzi (??) to pinyin (??).
  • Slugify
    • :octocat: awesome-slugify - โญ 404 ๐Ÿด 25 - A Python slugify library that can preserve unicode.
    • :octocat: python-slugify - โญ 485 ๐Ÿด 51 - A Python slugify library that translates unicode to ASCII.
    • :octocat: unicode-slugify - โญ 267 ๐Ÿด 44 - A slugifier that generates unicode slugs with Django as a dependency.
  • Parser
    • :octocat: phonenumbers - โญ 1890 ๐Ÿด 233 - Parsing, formatting, storing and validating international phone numbers.
    • ๐ŸŒŽ PLY - Implementation of lex and yacc parsing tools for Python
    • ๐ŸŒŽ Pygments - A generic syntax highlighter.
    • ๐ŸŒŽ pyparsing - A general purpose framework for generating parsers.
    • :octocat: python-nameparser - โญ 281 ๐Ÿด 45 - Parsing human names into their individual components.
    • :octocat: python-user-agents - โญ 753 ๐Ÿด 133 - Browser user agent parser.
    • :octocat: sqlparse - โญ 1282 ๐Ÿด 291 - A non-validating SQL parser.

Third-party APIs

Libraries for accessing third party services APIs. See: List of Python API Wrappers and Libraries.

  • ๐ŸŒŽ apache-libcloud - One Python library for all clouds.
  • :octocat: boto3 - โญ 3488 ๐Ÿด 715 - Python interface to Amazon Web Services.
  • :octocat: django-wordpress - โญ 274 ๐Ÿด 66 - WordPress models and views for Django.
  • :octocat: facebook-sdk - โญ 2309 ๐Ÿด 846 - Facebook Platform Python SDK.
  • :octocat: facepy - โญ 767 ๐Ÿด 196 - Facepy makes it really easy to interact with Facebook's Graph API
  • :octocat: gmail - โญ 1512 ๐Ÿด 325 - A Pythonic interface for Gmail.
  • :octocat: google-api-python-client - โญ 2206 ๐Ÿด 1018 - Google APIs Client Library for Python.
  • :octocat: gspread - โญ 3365 ๐Ÿด 532 - Google Spreadsheets Python API.
  • :octocat: twython - โญ 1532 ๐Ÿด 341 - A Python wrapper for the Twitter API.

URL Manipulation

Libraries for parsing URLs.

  • :octocat: furl - โญ 1334 ๐Ÿด 82 - A small Python library that makes manipulating URLs simple.
  • :octocat: purl - โญ 209 ๐Ÿด 23 - A simple, immutable URL class with a clean API for interrogation and manipulation.
  • :octocat: pyshorteners - โญ 199 ๐Ÿด 28 - A pure Python URL shortening lib.
  • :octocat: short_url - โญ 116 ๐Ÿด 21 - Python implementation for generating Tiny URL and bit.ly-like URLs.
  • :octocat: webargs - โญ 621 ๐Ÿด 92 - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid.

Video

Libraries for manipulating video and GIFs.

  • ๐ŸŒŽ moviepy - A module for script-based movie editing with many formats, including animated GIFs.
  • :octocat: scikit-video - โญ 78 ๐Ÿด 13 - Video processing routines for SciPy.

WSGI Servers

WSGI-compatible web servers.

Web Content Extracting

Libraries for extracting web contents.

  • :octocat: Haul - โญ 128 ๐Ÿด 31 - An Extensible Image Crawler.
  • :octocat: html2text - โญ 531 ๐Ÿด 114 - Convert HTML to Markdown-formatted text.
  • :octocat: lassie - โญ 422 ๐Ÿด 32 - Web Content Retrieval for Humans.
  • :octocat: micawber - โญ 396 ๐Ÿด 62 - A small library for extracting rich content from URLs.
  • :octocat: newspaper - โญ 6484 ๐Ÿด 1089 - News extraction, article extraction and content curation in Python.
  • :octocat: opengraph - โญ 132 ๐Ÿด 66 - A Python module to parse the Open Graph Protocol
  • :octocat: python-goose - โญ 3069 ๐Ÿด 687 - HTML Content/Article Extractor.
  • :octocat: python-readability - โญ 1421 ๐Ÿด 253 - Fast Python port of arc90's readability tool.
  • :octocat: sanitize - โญ 53 ๐Ÿด 4 - Bringing sanity to world of messed-up data.
  • :octocat: sumy - โญ 1524 ๐Ÿด 299 - A module for automatic summarization of text documents and HTML pages.
  • :octocat: textract - โญ 2246 ๐Ÿด 260 - Extract text from any document, Word, PowerPoint, PDFs, etc.

Web Crawling

Libraries for scraping websites.

  • :octocat: cola - โญ 1264 ๐Ÿด 528 - A distributed crawling framework.
  • :octocat: Demiurge - โญ 76 ๐Ÿด 12 - PyQuery-based scraping micro-framework.
  • ๐ŸŒŽ feedparser - Universal feed parser.
  • ๐ŸŒŽ Grab - Site scraping framework.
  • :octocat: MechanicalSoup - โญ 2753 ๐Ÿด 186 - A Python library for automating interaction with websites.
  • :octocat: portia - โญ 6158 ๐Ÿด 963 - Visual scraping for Scrapy.
  • :octocat: pyspider - โญ 11599 ๐Ÿด 2914 - A powerful spider system.
  • :octocat: RoboBrowser - โญ 3134 ๐Ÿด 254 - A simple, Pythonic library for browsing the web without a standalone web browser.
  • ๐ŸŒŽ Scrapy - A fast high-level screen scraping and web crawling framework.

Web Frameworks

Full stack web frameworks.

WebSocket

Libraries for working with WebSocket.

  • :octocat: AutobahnPython - โญ 1823 ๐Ÿด 535 - WebSocket & WAMP for Python on Twisted and asyncio.
  • :octocat: Crossbar - โญ 1527 ๐Ÿด 205 - Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn).
  • :octocat: django-socketio - โญ 1131 ๐Ÿด 227 - WebSockets for Django.
  • :octocat: WebSocket-for-Python - โญ 964 ๐Ÿด 233 - WebSocket client and server library for Python 2 and 3 as well as PyPy.

Services

Online tools and APIs to simplify development.

Continuous Integration

See: awesome-CIandCD.

  • ๐ŸŒŽ CircleCI - A CI service that can run very fast parallel testing. (GitHub only)
  • ๐ŸŒŽ Travis CI - A popular CI service for your open source and private projects. (GitHub only)
  • ๐ŸŒŽ Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
  • ๐ŸŒŽ Wercker - A Docker-based platform for building and deploying applications and microservices.

Code Quality

Resources

Where to discover new Python libraries.

Podcasts

Twitter

Websites

Weekly

Other Awesome Lists

List of lists.

fucking-awesome-python's People

Contributors

trananhkma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.