awesome-python
一些Python相关的框架、代码、资源、库的集合
https://github.com/wyfish/awesome-python
Last synced: 20 days ago
JSON representation
Admin Panels
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- ajenti - The admin panel your servers deserve.
- django-jet - Modern responsive template for the Django admin interface with improved functionality.
- django-xadmin - Drop-in replacement of Django admin comes with lots of goodies.
- flower - Real-time monitor and web admin for Celery.
- wooey - A Django app which creates automatic web UIs for Python scripts.
- flask-admin - Simple and extensible administrative interface framework for Flask.
Algorithms and Design Patterns
- algorithms - Minimal examples of data structures and algorithms in 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.
Audio
- audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
- dejavu - Audio fingerprinting and recognition.
- mingus - An advanced music theory and notation package with MIDI file and playback support.
- pyAudioAnalysis - Audio feature extraction, classification, segmentation and applications.
- pydub - Manipulate audio with a simple and easy high level interface.
- TimeSide - Open web audio processing framework.
- beets - A music library manager and MusicBrainz tagger.
- eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
- mutagen - A Python module to handle audio metadata.
- tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.
Authentication
- authlib - JavaScript Object Signing and Encryption draft implementation.
- django-allauth - Authentication app for Django that "just works."
- python-oauth2 - A fully tested, abstract interface to creating OAuth clients and servers.
- python-social-auth - An easy-to-setup social authentication mechanism.
- pyjwt - JSON Web Token implementation in Python.
- python-jwt - A module for generating and verifying JSON Web Tokens.
- python-jose - A JOSE implementation in Python.
- django-oauth-toolkit - OAuth 2 goodies for Django.
Build Tools
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
- 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.
- BitBake - A make-like build tool for embedded Linux.
Built-in Classes Enhancement
- dataclasses - (Python standard library) Data classes.
-
attrs
- Replacement for
__init__,__eq__,__repr__, etc. boilerplate in class definitions. - bidict - Efficient, Pythonic bidirectional map data structures and related functionality..
- Box - Python dictionaries with advanced dot notation access.
- DottedDict - A library that provides a method of accessing lists and dicts with a dotted path notation.
Caching
- HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
- beaker - A WSGI middleware for sessions and caching.
- django-cache-machine - Automatic caching and invalidation for Django models.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- pylibmc - A Python wrapper around the libmemcached interface.
- HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
- dogpile.cache - dogpile.cache is next generation replacement for Beaker made by same authors.
ChatOps Tools
- errbot - The easiest and most popular chatbot to implement ChatOps.
CMS
- django-cms - An Open source enterprise CMS based on the Django.
- plone - A CMS built on top of the open source application server Zope.
- 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.
- wagtail - A Django content management system.
- quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
Code Analysis
- pylint - A fully customizable source code analyzer.
- awesome-static-analysis
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- prospector - A tool to analyse Python code.
- pycallgraph - A library that visualises the flow (call graph) of your Python application.
- pylama - A code audit tool for Python and JavaScript.
- black - The uncompromising Python code formatter.
- yapf - Yet another Python code formatter from Google.
- pyre-check - Performant type checking.
- MonkeyType - A system for Python that generates static type annotations by collecting runtime types
- coala - Language independent and easily extendable code analysis application.
-
flake8
- A wrapper around
pycodestyle,pyflakesand McCabe. - mypy - Check variable types during compile time.
Code Quality
- Codacy - Automated Code Review to ship better code, faster.
- CodeFactor - Automated Code Review for Git.
- Landscape - Hosted continuous Python code metrics.
- PEP 8 Speaks - GitHub integration to review code style.
Command-line Interface Development
- docopt - Pythonic command line arguments parser.
- colorama - Cross-platform colored terminal text.
- clint - Python Command-line Application Tools.
- docopt - Pythonic command line arguments parser.
- python-fire - A library for creating command line interfaces from absolutely any Python object.
- asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).
- bashplotlib - Making basic plots in the terminal.
- tqdm - Fast, extensible progress bar for loops and CLI.
- cliff - A framework for creating command-line programs with multi-level commands.
- colorama - Cross-platform colored terminal text.
- cement - CLI Application Framework for Python.
- python-prompt-toolkit - A library for building powerful interactive command lines.
- click - A package for creating beautiful command line interfaces in a composable way.
Command-line Tools
- doitlive - A tool for live presentations in the terminal.
- howdoi - Instant coding answers via the command line.
- PathPicker - Select files out of bash output.
- percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX.
- thefuck - Correcting your previous console command.
- try - A dead simple CLI to try out python packages - it's never been easier.
- httpie - A command line HTTP client, a user-friendly cURL replacement.
- kube-shell - An integrated shell for working with the Kubernetes CLI.
- mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
- pgcli - Postgres CLI with autocompletion and syntax highlighting.
- saws - A Supercharged aws-cli.
- tmuxp - A tmux session manager.
- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
Compatibility
- six - Python 2 and 3 compatibility utilities.
- python-modernize - Modernizes Python code for eventual Python 3 migration.
- six - Python 2 and 3 compatibility utilities.
Computer Vision
- OpenCV - Open Source Computer Vision Library.
- SimpleCV - An open source framework for building computer vision applications.
- pytesseract - Another wrapper for Google Tesseract OCR.
- SimpleCV - An open source framework for building computer vision applications.
Concurrency and Parallelism
- concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
- multiprocessing - (Python standard library) Process-based parallelism.
- eventlet - Asynchronous framework with WSGI support.
- gevent - A coroutine-based Python networking library that uses greenlet.
- eventlet - Asynchronous framework with WSGI support.
-
uvloop
- Ultra fast implementation of
asyncioevent loop on top oflibuv. - scoop - Scalable Concurrent Operations in Python.
Configuration
- configparser - (Python standard library) INI file parser.
- profig - Config from multiple formats with value conversion.
- configobj - INI file parser with validation.
- python-decouple - Strict separation of settings from code.
Continuous Integration
- CircleCI - A CI service that can run very fast parallel testing.
- Wercker - A Docker-based platform for building and deploying applications and microservices.
- awesome-CIandCD
- Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
- Travis CI - A popular CI service for your open source and private projects. (GitHub only)
Cryptography
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- passlib - Secure password storage/hashing library, very high level.
- paramiko - The leading native Python SSHv2 protocol library.
- pynacl - Python binding to the Networking and Cryptography (NaCl) library.
Data Analysis
- Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- Blaze - NumPy and Pandas interface to Big Data.
- Open Mining - Business Intelligence (BI) in Pandas interface.
- Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
- Optimus - Agile Data Science Workflows made easy with PySpark.
Database
Database Drivers
- awesome-postgres
- psycopg2 - The most popular PostgreSQL adapter for Python.
- pymssql - A simple database interface to Microsoft SQL Server.
- py2neo - Python wrapper client for Neo4j's restful interface.
- awesome-mysql
- PyMySQL - A pure Python MySQL driver compatible to mysql-python.
- queries - A wrapper of the psycopg2 library for interacting with PostgreSQL.
- pymssql - A simple database interface to Microsoft SQL Server.
- cassandra-driver - The Python Driver for Apache Cassandra.
- kafka-python - The Python client for Apache Kafka.
- pymongo - The official Python client for MongoDB.
- motor - The async Python driver for MongoDB.
- Telephus - Twisted based client for Cassandra.
- txpostgres - Twisted based asynchronous driver for PostgreSQL.
- txRedis - Twisted based client for Redis.
- mysqlclient - MySQL connector with Python 3 support (mysql-python fork).
- py2neo - Python wrapper client for Neo4j's restful interface.
- happybase - A developer-friendly library for Apache HBase.
- redis-py - The Python client for Redis.
Data Validation
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- Cerberus - A lightweight and extensible data validation library.
- jsonschema - An implementation of JSON Schema for Python.
- schema - A library for validating Python data structures.
- Schematics - Data Structure Validation.
- valideer - Lightweight extensible data validation and adaptation library.
- voluptuous - A Python data validation library.
Data Visualization
- awesome-javascript
- PyGraphviz - Python interface to Graphviz.
- Altair - Declarative statistical visualization library for Python.
- Bokeh - Interactive Web Plotting for Python.
- awesome-dash
- ggplot - Same API as ggplot2 for R.
- Seaborn - Statistical data visualization using Matplotlib.
- VisPy - High-performance scientific visualization based on OpenGL.
- Matplotlib - A Python 2D plotting library.
- PyGraphviz - Python interface to Graphviz.
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- bqplot - Interactive Plotting Library for the Jupyter Notebook
- Pygal - A Python SVG Charts Creator.
Date and Time
- pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
- Chronyk - A Python 3 library for parsing human-written times and dates.
- dateutil - Extensions to the standard Python datetime module.
- delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes.
- moment - A Python library for dealing with dates/times. Inspired by Moment.js.
- Pendulum - Python datetimes made easy.
- PyTime - A easy-use Python module which aims to operate date/time/datetime by string.
- when.py - Providing user-friendly functions to help perform common date and time actions.
- maya - Datetimes for Humans.
Debugging Tools
- ipdb - IPython-enabled pdb.
- pudb - A full-screen, console-based Python debugger.
- wdb - An improbable web debugger through WebSockets.
- lptrace - strace for Python programs.
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- pyringe - Debugger capable of attaching to and injecting code into Python processes.
- python-hunter - A flexible code tracing toolkit.
- line_profiler - Line-by-line profiling.
- memory_profiler - Monitor Memory usage of Python code.
- profiling - An interactive Python profiler.
- py-spy - A sampling profiler for Python programs. Written in Rust.
- vprof - Visual Python profiler.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- django-debug-toolbar - Display various debug information for Django.
- django-devserver - A drop-in replacement for Django's runserver.
- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
- pdb++ - Another drop-in replacement for pdb.
- pyflame - A ptracing profiler For Python.