Python开源框架、库、软件和资源大集合

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

Inspired by awesome-php.

Admin Panels

Libraries for administrative interfaces.

  • Ajenti - The admin panel your servers deserve.
  • django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
  • django-xadmin - Drop-in replacement of Django admin comes with lots of goodies.
  • flask-admin - Simple and extensible administrative interface framework for Flask.
  • flower - Real-time monitor and web admin for Celery.
  • Grappelli - A jazzy skin for the Django Admin-Interface.
  • Wooey - A Django app which creates automatic web UIs for Python scripts.

Algorithms and Design Patterns

Python implementation of algorithms and design patterns.

  • algorithms - A module of algorithms for Python.
  • PyPattyrn - A simple yet effective library for implementing common design patterns.
  • python-patterns - 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.

  • django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
  • django-pipeline - An asset packaging library for Django.
  • django-storages - 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.
  • flask-assets - Helps you integrate webassets into your Flask app.
  • jinja-assets-compressor - A Jinja extension to compile and compress your assets.
  • webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.

Audio

Libraries for manipulating audio.

  • audiolazy - Expressive Digital Signal Processing (DSP) package for Python.
  • audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
  • beets - A music library manager and MusicBrainz tagger.
  • dejavu - Audio fingerprinting and recognition.
  • django-elastic-transcoder - 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.
  • m3u8 - 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.
  • pyAudioAnalysis - Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
  • pydub - Manipulate audio with a simple and easy high level interface.
  • pyechonest - Python client for the Echo Nest API.
  • talkbox - A Python library for speech/signal processing.
  • TimeSide - Open web audio processing framework.
  • tinytag - 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.
    • django-allauth - Authentication app for Django that "just works."
    • django-oauth-toolkit - OAuth 2 goodies for Django.
    • Flask-OAuthlib - OAuth 1.0/a, 2.0 implementation of client and provider for Flask.
    • OAuthLib - A generic and thorough implementation of the OAuth request-signing logic.
    • python-oauth2 - A fully tested, abstract interface to creating OAuth clients and servers.
    • python-social-auth - An easy-to-setup social authentication mechanism.
    • rauth - A Python library for OAuth 1.0/a, 2.0, and Ofly.
    • sanction - A dead simple OAuth2 client implementation.
  • Others
    • jose - JavaScript Object Signing and Encryption draft implementation.
    • PyJWT - Implementation of the JSON Web Token draft 01.
    • python-jws - Implementation of JSON Web Signatures draft 02.
    • python-jwt - 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.
  • PlatformIO - A console tool to build code with different development platforms.
  • PyBuilder - A continuous build tool written in pure Python.
  • SCons - A software construction tool.

CMS

Content Management Systems.

  • django-cms - An Open source enterprise CMS based on the Django.
  • djedi-cms - A lightweight but yet powerful Django CMS with plugins, inline editing and performance in mind.
  • FeinCMS - One of the most advanced Content Management Systems built on Django.
  • Kotti - A high-level, Pythonic web application framework built on Pyramid.
  • Mezzanine - A powerful, consistent, and flexible content management platform.
  • Opps - A Django-based CMS for magazines, newspapers websites and portals with high-traffic.
  • Plone - A CMS built on top of the open source application server Zope.
  • Quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
  • Wagtail - A Django content management system.
  • Widgy - Last CMS framework, based on Django.

Caching

Libraries for caching data.

  • Beaker - 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.
  • django-cache-machine - Automatic caching and invalidation for Django models.
  • django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
  • django-viewlet - 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.
  • johnny-cache - A caching framework for django applications.
  • pylibmc - A Python wrapper around the libmemcached interface.

ChatOps Tools

Libraries for chatbot development.

  • Errbot - The easiest and most popular chatbot to implement ChatOps.

Code Analysis and Linter

Libraries and tools for analysing, parsing and manipulation codebases.

  • Code Analysis
    • coala - Language independent and easily extendable code analysis application.
    • code2flow - Turn your Python and JavaScript code into DOT flowcharts.
    • pycallgraph - A library that visualises the flow (call graph) of your Python application.
    • pysonar2 - A type inferencer and indexer for Python.
  • Linter
    • Flake8 - The modular source code checker: pep8, pyflakes and co.
    • pylama - 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
    • asciimatics - 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.
    • clint - Python Command-line Application Tools.
    • colorama - Cross-platform colored terminal text.
    • docopt - Pythonic command line arguments parser.
    • Gooey - Turn command line programs into a full GUI application with one line
    • Python-Fire - A library for creating command line interfaces (CLIs) from absolutely any Python object.
    • python-prompt-toolkit - A Library for building powerful interactive command lines.
  • Productivity Tools
    • aws-cli - A universal command-line interface for Amazon Web Services.
    • bashplotlib - Making basic plots in the terminal.
    • caniusepython3 - Determine what projects are blocking you from porting to Python 3.
    • cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
    • doitlive - A tool for live presentations in the terminal.
    • howdoi - Instant coding answers via the command line.
    • httpie - A command line HTTP client, a user-friendly cURL replacement.
    • mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
    • PathPicker - Select files out of bash output.
    • percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX.
    • pgcli - Postgres CLI with autocompletion and syntax highlighting.
    • SAWS - A Supercharged AWS CLI.
    • thefuck - Correcting your previous console command.
    • try - A dead simple CLI to try out python packages - It's never been easier.

Compatibility

Libraries for migrating from Python 2 to 3.

  • Python-Future - The missing compatibility layer between Python 2 and Python 3.
  • Python-Modernize - 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.

  • eventlet - Asynchronous framework with WSGI support.
  • gevent - 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.
  • Tomorrow - Magic decorator syntax for asynchronous code.
  • uvloop - Ultra fast implementation of asyncio event loop on top of libuv.

Configuration

Libraries for storing and parsing configuration options.

  • config - Hierarchical config