A curated list of awesome Python frameworks, libraries and software. Inspired by awesome-php.
- Awesome Python
- Environment Management
- Package Management
- Package Repositories
- Distribution
- Build Tools
- Interactive Interpreter
- Files
- Date and Time
- Text Processing
- Specific Formats Processing
- Natural Language Processing
- Documentation
- Configuration
- Command-line Tools
- Downloader
- Imagery
- Audio
- Video
- Geolocation
- HTTP
- Database
- Database Drivers
- ORM
- Web Frameworks
- Permissions
- CMS
- E-commerce
- RESTful API
- Authentication
- Template Engine
- Queue
- Search
- News Feed
- Asset Management
- Caching
- Internationalization
- URL Manipulation
- HTML Manipulation
- Web Crawling
- Web Content Extracting
- Forms
- Data Validation
- Anti-spam
- Tagging
- Admin Panels
- Static Site Generator
- Processes and Threads
- Concurrency and Networking
- WebSocket
- WSGI Servers
- RPC Servers
- Cryptography
- GUI
- Game Development
- Logging
- Testing
- Code Analysis and Linter
- Debugging Tools
- Science and Data Analysis
- Data Visualization
- Computer Vision
- Machine Learning
- Functional Programming
- MapReduce
- Third-party APIs
- DevOps Tools
- Job Scheduler
- Foreign Function Interface
- High Performance
- Network Virtualization and SDN
- Hardware
- Miscellaneous
- Algorithms and Design Patterns
- Editor Plugins
- Resources
- Other Awesome Lists
- Contributing
Libraries for Python version and environment management.
- pyenv - Simple Python version management.
- virtualenv - A tool to create isolated Python environments.
- virtualenvwrapper - A set of extensions to virtualenv.
- virtualenv-api - An API for virtualenv and pip.
- pew - A set of tools to manage multiple virtual environments.
- Vex - Run a command in the named virtualenv.
- PyRun - A one-file, no-installation-needed version of Python.
Libraries for package and dependency management.
- pip - The Python package and dependency manager.
- conda - Cross-platform, Python-agnostic binary package manager.
- Curdling - Curdling is a command line tool for managing Python packages.
- wheel - The new standard of Python distribution and are intended to replace eggs.
Local PyPI repository server and proxies.
- warehouse - Next generation Python Package Repository (PyPI).
- devpi - PyPI server and packaging/testing/release tool.
- localshop - PyPI server which mirrors official packages on-demand, and also supports local (private) package uploads.
Libraries to create packaged executables for release distribution.
- cx-Freeze - Freezes Python scripts (cross-platform).
- py2exe - Freezes Python scripts (Windows).
- pynsist - A tool to build Windows installers, installers bundle Python itself.
- py2app - Freezes Python scripts (Mac OS X).
- PyInstaller - Converts Python programs into stand-alone executables (cross-platform).
- dh-virtualenv - Build and distribute a virtualenv as a Debian package.
Compile software from source code.
- buildout - A build system for creating, assembling and deploying applications from multiple parts, some of which may be non-Python-based.
- SCons - A software construction tool.
- PlatformIO - A console tool to build code with different development platforms.
- BitBake - A make-like build tool with the special focus of distributions and packages for embedded Linux.
- fabricate - A build tool that finds dependencies automatically for any language.
Interactive Python interpreters.
- IPython - A rich toolkit to help you make the most out of using Python interactively.
- bpython – A fancy interface to the Python interpreter.
- python-prompt-toolkit - A Library for building powerful interactive command lines.
Libraries for file manipulation and MIME type detection.
- mimetypes - (Python standard library) Map filenames to MIME types.
- imghdr - (Python standard library) Determine the type of an image.
- python-magic - A Python interface to the libmagic file type identification library.
- path.py - A module wrapper for os.path.
- watchdog - API and shell utilities to monitor file system events.
- Unipath - An object-oriented approach to file/directory operations.
- pathlib - (Python standard library in Python 3.4+) An cross-platform, object-oriented path library.
Libraries for working with dates and times.
- arrow - Better dates & times for 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.
- when.py - Providing user-friendly functions to help perform common date and time actions.
- moment - A Python library for dealing with dates/times. Inspired by Moment.js.
- pytz - World timezone definitions, modern and historical. Brings the tz database into Python.