Python资源列表-Awesome P

发布时间:2019-08-31 09:44:53编辑:auto阅读(1717)

    记得当初学C/C++,留下的深刻印象就是严肃、谨慎,特别关注功能函数实现,写代码前会经常看书,怕自己犯低级又不可知的错误,像那些经典《C和指针》、《C缺陷和陷阱》、《编程之美》等等,读到最后感觉这些书已经不是在写编程了,而是在写哲学,设计的美学,虽然现在都忘的一干二净了....


    然后,接触Python,刚开始别扭的要命,单这一条把函数代码块的大括号换成冒号+缩进就看不过去,太随意太任性啦。但是,后来居然渐渐觉得这家伙真美,真洒脱,要搞个什么出来都有一大堆架子,似乎不用再费心思细节实现,只要把注意力放在设计好整体功能逻辑,直接找现成框架、库、有时连相关文档都不想看,就急着开始拼装,边拼边看文档,很快就能达成目的,所以,面试时遇到有的候选人,么有任何计算机基础都说自己会python,会Python啊,只能说入门太简单了。


    不过,任何事情想精进、精通都不是那么容易的,只是入门有难易之别,给人的错觉罢了。


    Python关注解决问题的方法,而不在具体的底层细节实现,所以,架子很多,这要感谢Python社区、爱好者的无私奉献,比如这哥们儿,Kenneth Reitz。


    扯了这么多,回到正题,其实,本文就是想介绍Python在各个领域的框架、第三方库或工具资源,混个眼熟,说不定什么时候用上了,谁让python手那么长呢,哈哈


    资源列表来源:

    https://awesome-python.com/



    管理面板

    Libraries for administrative interfaces.

    • ajenti - The admin panel your servers deserve.

    • django-grappelli - A jazzy skin for the Django Admin-Interface.

    • 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.

    • wooey - A Django app which creates automatic web UIs for Python scripts



    算法计模式

    Python implementation of 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.



    音频

    Libraries for manipulating audio and its metadata.

    • 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 - Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

      • pydub - Manipulate audio with a simple and easy high level interface.

      • TimeSide - Open web audio processing framework.

    • Metadata

      • 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.



    视频


    Libraries for manipulating video and GIFs.

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

    • scikit-video - Video processing routines for SciPy.



    认证

    Libraries for implementing authentications schemes.

    • OAuth

      • authlib - JavaScript Object Signing and Encryption draft implementation.

      • django-allauth - Authentication app for Django that "just works."

      • django-oauth-toolkit - OAuth 2 goodies for Django.

      • 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.

    • JWT

      • pyjwt - JSON Web Token implementation in Python.

      • python-jose - A JOSE implementation in Python.

      • python-jwt - A module for generating and verifying JSON Web Tokens.



    加密


    • cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.

    • 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.

    • pynacl - Python binding to the Networking and Cryptography (NaCl) library.



    构建工具

    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.



    DevOps工具

    Software and libraries for DevOps.

    • ansible - A radically simple IT automation platform.

    • cloudinit - A multi-distribution package that handles early initialization of a cloud instance.

    • cuisine - Chef-like functionality for Fabric.

    • docker-compose - Fast, isolated development environments using Docker.

    • fabric - A simple, Pythonic tool for remote execution and deployment.

    • fabtools - Tools for writing awesome Fabric files.

    • honcho - A Python clone of Foreman, for managing Procfile-based applications.

    • OpenStack - Open source software for building private and public clouds.

    • pexpect - Controlling interactive programs in a pseudo-terminal like GNU expect.

    • psutil - A cross-platform process and system utilities module.

    • saltstack - Infrastructure automation and management system.

    • supervisor - Supervisor process control system for UNIX.



    内容管理系统

    Content Management Systems.

    • wagtail - A Django content management system.

    • django-cms - An Open source enterprise CMS based on the Django.

    • 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.

    • plone - A CMS built on top of the open source application server Zope.

    • quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.



    ORM

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

    • Relational Databases

      • awesome-sqlalchemy

      • Django Models - A part of Django.

      • SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.

      • dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.

      • orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.

      • peewee - A small, expressive ORM.

      • pony - ORM that provides a generator-oriented interface to SQL.

      • pydal - A pure Python Database Abstraction Layer.

    • NoSQL Databases

      • hot-redis - Rich Python data types for Redis.

      • mongoengine - A Python Object-Document-Mapper for working with MongoDB.

      • PynamoDB - A Pythonic interface for Amazon DynamoDB.

      • redisco - A Python Library for Simple Models and Containers Persisted in Redis.



    缓存

    Libraries for caching data.

    • 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.

    • 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.

    • pylibmc - A Python wrapper around the libmemcached interface.

    • python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.



    聊天机器人


    Libraries for chatbot development.

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



    推荐系统

    Libraries for building recommender systems.

    • annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.

    • fastFM - A library for Factorization Machines.

    • implicit - A fast Python implementation of collaborative filtering for implicit datasets.

    • libffm - A library for Field-aware Factorization Machine (FFM).

    • lightfm - A Python implementation of a number of popular recommendation algorithms.

    • spotlight - Deep recommender models using PyTorch.

    • Surprise - A scikit for building and analyzing recommender systems.

    • tensorrec - A Recommendation Engine Framework in TensorFlow.



    代码分析

    Tools of static analysis, linters and code quality checkers. See: awesome-static-analysis.

    • Code Analysis

      • coala - Language independent and easily extendable code analysis application.

      • 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.

    • Code Linters

      • flake8 - A wrapper around pycodestyle, pyflakes and McCabe.

      • pylint - A fully customizable source code analyzer.

      • pylama - A code audit tool for Python and JavaScript. Code Formatters

      • black - The uncompromising Python code formatter.

      • yapf - Yet another Python code formatter from Google.

    • Static Type Checkers

      • mypy - Check variable types during compile time.

      • pyre-check - Performant type checking.

    • Static Type Annotations Generators

      • MonkeyType - A system for Python that generates static type annotations by collecting runtime types



    代码质量

    • Codacy - Automated Code Review to ship better code, faster.

    • Codecov - Code coverage dashboard.

    • CodeFactor - Automated Code Review for Git.

    • Landscape - Hosted continuous Python code metrics.



    持续集成

    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.



    命令行工具

    Libraries for building command-line application.

    • 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.

      • 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.

      • python-prompt-toolkit - A library for building powerful interactive command lines.

    • Terminal Rendering

      • asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).

      • bashplotlib - Making basic plots in the terminal.

      • colorama - Cross-platform colored terminal text.

    • Productivity Tools

      • 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.

      • 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.

      • tmuxp - A tmux session manager.

      • try - A dead simple CLI to try out python packages - it's never been easier.

    • CLI Enhancements

      • 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.



    配置

    Libraries for storing and parsing configuration options.

    • configobj - INI file parser with validation.

    • configparser - (Python standard library) INI file parser.

    • profig - Config from multiple formats with value conversion.

    • python-decouple - Strict separation of settings from code.



    文档工具

    Libraries for generating project documentation.

    • sphinx - Python Documentation generator.

    • pdoc - Epydoc replacement to auto generate API documentation for Python libraries.

    • pycco - The literate-programming-style documentation generator.



    下载工具

    Libraries for downloading.

    • s3cmd - A command line tool for managing Amazon S3 and CloudFront.

    • s4cmd - 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.



    调试工具

    Libraries for debugging code.

    • pdb-like Debugger

      • ipdb - IPython-enabled pdb.

      • pdb++ - Another drop-in replacement for pdb.

      • pudb - A full-screen, console-based Python debugger.

      • wdb - An improbable web debugger through WebSockets.

    • Tracing

      • lptrace - strace for Python programs.

      • manhole - Debug service that will accept unix domain 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.

    • Profiler

      • 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.

      • pyflame - A ptracing profiler For Python.

      • vprof - Visual Python profiler.



    深度学习

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

    • caffe - A fast open framework for deep learning..

    • keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.

    • mxnet - A deep learning framework designed for both efficiency and flexibility.

    • pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.

    • SerpentAI - Game agent framework. Use any video game as a deep learning sandbox.

    • tensorflow - The most popular Deep Learning framework created by Google.

    • Theano - A library for fast numerical computation.



    机器学习

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

    • H2O - Open Source Fast Scalable Machine Learning Platform.

    • Metrics - Machine learning evaluation metrics.

    • NuPIC - Numenta Platform for Intelligent Computing.

    • scikit-learn - The most popular Python library for Machine Learning.

    • Spark ML - Apache Spark's scalable Machine Learning library.

    • vowpal_porpoise - A lightweight Python wrapper for Vowpal Wabbit.

    • xgboost - A scalable, portable, and distributed gradient boosting library.



    计算机视觉

    Libraries for computer vision.



    分布式计算

    Frameworks and libraries for Distributed Computing.

    • Batch Processing

      • PySpark - Apache Spark Python API.

      • dask - A flexible parallel computing library for analytic computing.

      • luigi - A module that helps you build complex pipelines of batch jobs.

      • mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services.

      • Ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.

    • Stream Processing



    数据分析

    Libraries for data analyzing.

    • 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.

    • Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.

    • Optimus - Cleansing, pre-processing, feature engineering, exploratory data analysis and easy Machine Learning with a PySpark backend.



    数据验证


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

    • Cerberus - A lightweight and extensible data validation library.

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

    • Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.

    • 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.



    并发与并行开发

    Libraries for concurrent and parallel execution. See awesome-asyncio.

    • 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.

    • uvloop - Ultra fast implementation of asyncio event loop on top of libuv.

    • scoop - Scalable Concurrent Operations in Python.



    任务调度

    Libraries for scheduling jobs.

    • APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.

    • django-schedule - A calendaring app for Django.

    • doit - A task runner and build tool.

    • gunnery - Multipurpose task execution tool for distributed systems with web-based interface.

    • Joblib - A set of tools to provide lightweight pipelining in Python.

    • Plan - Writing crontab file in Python like a charm.

    • schedule - Python job scheduling for humans.

    • Spiff - A powerful workflow engine implemented in pure Python.

    • TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.

    • Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.



    数据库驱动

    Libraries for connecting and operating databases.

    • MySQL - awesome-mysql

    • PostgreSQL - awesome-postgres

      • psycopg2 - The most popular PostgreSQL adapter for Python.

      • queries - A wrapper of the psycopg2 library for interacting with PostgreSQL.

    • Other Relational Databases

      • pymssql - A simple database interface to Microsoft SQL Server.

    • NoSQL Databases

      • cassandra-driver - The Python Driver for Apache Cassandra.

      • happybase - A developer-friendly library for Apache HBase.

      • kafka-python - The Python client for Apache Kafka.

      • py2neo - Python wrapper client for Neo4j's restful interface.

      • pymongo - The official Python client for MongoDB.

      • redis-py - The Python client for Redis.

    • Asynchronous Clients

      • 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.



    GUI编程

    Libraries for working with graphical user interface applications.

    • curses - Built-in wrapper for ncurses used to create terminal GUI applications.

    • Eel - Little library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries.

    • enaml - Creating beautiful user-interfaces with Declaratic Syntax like QML.

    • Flexx - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.

    • Gooey - Turn command line programs into a full GUI application with one line.

    • 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.

    • PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi that creates a unified, easy to understand & more Python-like interface for beginner and intermediate level custom GUIs.

    • pywebview - A lightweight cross-platform native wrapper around a webview component that allows to display HTML content in its own native dedicated window.

    • Tkinter - Tkinter is Python's de-facto standard GUI package.

    • Toga - 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.



    游戏开发

    Awesome game development libraries.

    • Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.

    • Harfang3D - Python framework for 3D, VR and game development. Manage and display complex 3D scenes, with physics, video, sound and music, access VR devices. All written in C++.

    • 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.



    HTML操作

    Libraries for working with HTML and XML.

    • BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.

    • bleach - A whitelist-based HTML sanitization and text linkification library.

    • cssutils - A CSS library for Python.

    • html5lib - 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.

    • MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python.

    • pyquery - A jQuery-like library for parsing HTML.

    • untangle - 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.

    • xmltodict - Working with XML feel like you are working with JSON.



    HTTP处理

    Libraries for working with HTTP.

    • grequests - requests + gevent for asynchronous HTTP requests.

    • httplib2 - Comprehensive HTTP client library.

    • requests - HTTP Requests for Humans™.

    • treq - Python requests like API built on top of Twisted's HTTP client.

    • urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.



    图片处理


    Libraries for manipulating images.

    • hmap - Image histogram remapping.

    • imgSeek - A project for searching a collection of images using visual similarity.

    • nude.py - Nudity detection.

    • pagan - Retro identicon (Avatar) generation based on input string and hash.

    • pillow - Pillow is the friendly PIL fork.

    • pyBarcode - Create barcodes in Python without needing PIL.

    • pygram - Instagram-like image filters.

    • python-qrcode - A pure Python QR Code generator.

    • Quads - Computer art based on quadtrees.

    • scikit-image - A Python library for (scientific) image processing.

    • thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.

    • wand - Python bindings for MagickWand, C API for ImageMagick.



    自然语言处理

    Libraries for working with human languages.

    • General

      • gensim - Topic Modelling for Humans.

      • langid.py - 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.

      • polyglot - Natural language pipeline supporting hundreds of languages.

      • pytext - A natural language modeling framework based on PyTorch.

      • PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.

      • spacy - A library for industrial-strength natural language processing in Python and Cython.

      • stanfordnlp - The Stanford NLP Group's official Python library, supporting 50+ languages.

    • Chinese

      • jieba - The most popular Chinese text segmentation library.

      • pkuseg-python - A toolkit for Chinese word segmentation in various domains.

      • snownlp - A library for processing Chinese text.

      • funNLP - A collection of tools and datasets for Chinese NLP.



    日志

    Libraries for generating and working with logs.

    • Eliot - Logging for complex & distributed systems.

    • logbook - Logging replacement for Python.

    • logging - (Python standard library) Logging facility for Python.

    • raven - Python client for Sentry, a log/error tracking, crash reporting and aggregation platform for web applications.



    文件格式处理

    Libraries for parsing and manipulating specific text formats.

    • General

      • tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.

    • Office

      • openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

      • pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.

      • python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.

      • python-pptx - Python library for creating and updating PowerPoint (.pptx) files.

      • unoconv - 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.

      • xlwt / xlrd - Writing and reading data and formatting information from Excel files.

    • PDF

      • PDFMiner - A tool for extracting information from PDF documents.

      • PyPDF2 - A library capable of splitting, merging and transforming PDF pages.

      • ReportLab - Allowing Rapid creation of rich PDF documents.

    • Markdown

      • Mistune - Fastest and full featured pure Python parsers of Markdown.

      • Python-Markdown - A Python implementation of John Gruber’s Markdown.

    • YAML

      • PyYAML - YAML implementations for Python.

    • CSV

      • csvkit - Utilities for converting to and working with CSV.

    • Archive

      • unp - A command line tool that can unpack archives easily.



    文本处理

    Libraries for parsing and manipulating plain texts.

    • General

      • chardet - Python 2/3 compatible character encoding detector.

      • difflib - (Python standard library) Helpers for computing deltas.

      • ftfy - Makes Unicode text less broken and more consistent automagically.

      • fuzzywuzzy - Fuzzy String Matching.

      • Levenshtein - Fast computation of Levenshtein distance and string similarity.

      • pangu.py - Paranoid text spacing.

      • pyfiglet - An implementation of figlet written in Python.

      • pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).

      • textdistance - Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

      • unidecode - ASCII transliterations of Unicode text.

    • Slugify

      • awesome-slugify - A Python slugify library that can preserve unicode.

      • python-slugify - A Python slugify library that translates unicode to ASCII.

      • unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.

    • Unique identifiers

      • hashids - Implementation of hashids in Python.

      • shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.

    • Parser

      • ply - Implementation of lex and yacc parsing tools for Python.

      • pygments - A generic syntax highlighter.

      • pyparsing - A general purpose framework for generating parsers.

      • python-nameparser - Parsing human names into their individual components.

      • python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.

      • python-user-agents - Browser user agent parser.

      • sqlparse - A non-validating SQL parser.



    硬件

    Libraries for programming with hardware.

    • ino - Command line toolkit for working with Arduino.

    • keyboard - Hook and simulate global keyboard events on Windows and Linux.

    • mouse - Hook and simulate global mouse events on Windows and Linux.

    • Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.

    • PyUserInput - A module for cross-platform control of the mouse and keyboard.

    • scapy - A brilliant packet manipulation library.

    • wifi - A Python library and command line tool for working with WiFi on Linux.



    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.

    • PythonNet - Python Integration with the .NET Common Language Runtime (CLR).

    • PyWin32 - Python Extensions for Windows.

    • WinPython - Portable development environment for Windows 7/8.



    数据搜索

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



    WEB内容提取

    Libraries for extracting web contents.

    • html2text - Convert HTML to Markdown-formatted text.

    • lassie - Web Content Retrieval for Humans.

    • micawber - A small library for extracting rich content from URLs.

    • newspaper - News extraction, article extraction and content curation in Python.

    • python-readability - Fast Python port of arc90's readability tool.

    • requests-html - Pythonic HTML Parsing for Humans.

    • sumy - A module for automatic summarization of text documents and HTML pages.

    • textract - Extract text from any document, Word, PowerPoint, PDFs, etc.

    • toapi - Every web site provides APIs.



    WEB网页爬取

    Libraries to automate data extraction from websites.

    • cola - A distributed crawling framework.

    • feedparser - Universal feed parser.

    • grab - Site scraping framework.

    • MechanicalSoup - A Python library for automating interaction with websites.

    • portia - Visual scraping for Scrapy.

    • pyspider - A powerful spider system.

    • robobrowser - 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框架

    Full stack web frameworks.



    WebSocket

    Libraries for working with WebSocket.



    RESTful API

    Libraries for developing RESTful APIs.

    • Django

    • Flask

      • eve - REST API framework powered by Flask, MongoDB and good intentions.

      • flask-api-utils - Taking care of API representation and authentication for Flask.

      • flask-api - Browsable Web APIs for Flask.

      • flask-restful - Quickly building REST APIs for Flask.

      • flask-restless - Generating RESTful APIs for database models defined with SQLAlchemy.

    • Pyramid

      • cornice - A RESTful framework for Pyramid.

    • Framework agnostic

      • apistar - A smart Web API framework, designed for Python 3.

      • falcon - A high-performance framework for building cloud APIs and web app backends.

      • hug - A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation.

      • restless - Framework agnostic REST framework based on lessons learned from Tastypie.

      • ripozo - Quickly creating REST/HATEOAS/Hypermedia APIs.

      • sandman - Automated REST APIs for existing database-driven systems.



    模板引擎

    Libraries and tools for templating and lexing.

    • Jinja2 - A modern and designer friendly templating language.

    • Genshi - Python templating toolkit for generation of web-aware output.

    • Mako - Hyperfast and lightweight templating for the Python platform.



    测试相关

    Libraries for testing codebases and generating test data.

    • Testing Frameworks

      • pytest - A mature full-featured Python testing tool.

      • hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.

      • nose2 - The successor to nose, based on `unittest2.

      • Robot Framework - A generic test automation framework.

      • unittest - (Python standard library) Unit testing framework.

    • Test Runners

      • green - A clean, colorful test runner.

      • 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

      • locust - Scalable user load testing tool written in Python.

      • PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.

      • Selenium - Python bindings for Selenium WebDriver.

      • sixpack - A language-agnostic A/B Testing framework.

      • splinter - Open source tool for testing web applications.

    • Mock

      • doublex - Powerful test doubles framework for Python.

      • freezegun - Travel through time by mocking the datetime module.

      • httmock - A mocking library for requests for Python 2.6+ and 3.2+.

      • httpretty - HTTP request mock tool for Python.

      • mock - (Python standard library) A mocking and patching library.

      • Mocket - Socket Mock Framework plus HTTP[S]/asyncio/gevent mocking library with recording/replaying capability.

      • responses - A utility library for mocking out the requests Python library.

      • VCR.py - Record and replay HTTP interactions on your tests.

    • Object Factories

      • factory_boy - A test fixtures replacement for Python.

      • mixer - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.

      • model_mommy - Creating random fixtures for testing in Django.

    • Code Coverage

    • Fake Data

      • mimesis - is a Python library that help you generate fake data.

      • fake2db - Fake database generator.

      • faker - A Python package that generates fake data.

      • radar - Generate random datetime / time.

    • Error Handler

      • FuckIt.py - FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not.


    RPC Servers

    RPC-compatible servers.



    WSGI Servers

    WSGI-compatible web servers.

    • bjoern - Asynchronous, very fast and written in C.

    • gunicorn - Pre-forked, partly written in C.

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

    • waitress - Multi-threaded, powers Pyramid.

    • werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.


    其他资源

    关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学python。


关键字