8488 Repositories
Python tanks-and-temples Libraries
A flask extension for managing permissions and scopes
Flask-Pundit A simple flask extension to organize resource authorization and scoping. This extension is heavily inspired by the ruby Pundit library. I
Quick and simple security for Flask applications
Note This project is non maintained anymore. Consider the Flask-Security-Too project as an alternative. Flask-Security It quickly adds security featur
Flask-Potion is a RESTful API framework for Flask and SQLAlchemy, Peewee or MongoEngine
Flask-Potion Description Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. Potion features include validation, model resource
Fully featured framework for fast, easy and documented API development with Flask
Flask RestPlus IMPORTANT NOTICE: This project has been forked to Flask-RESTX and will be maintained by by the python-restx organization. Flask-RESTPlu
Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.
The Mixer is a helper to generate instances of Django or SQLAlchemy models. It's useful for testing and fixture replacement. Fast and convenient test-
Implements authentication and authorization as FastAPI dependencies
FastAPI Security Implements authentication and authorization as dependencies in FastAPI. Features Authentication via JWT-based OAuth 2 access tokens a
Opentracing support for Starlette and FastApi
Starlette-OpenTracing OpenTracing support for Starlette and FastApi. Inspired by: Flask-OpenTracing OpenTracing implementations exist for major distri
Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automatically use request headers such as x-request-id or x-correlation-id.
starlette context Middleware for Starlette that allows you to store and access the context data of a request. Can be used with logging so logs automat
Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
Diamond Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory,
Scalene: a high-performance, high-precision CPU and memory profiler for Python
scalene: a high-performance CPU and memory profiler for Python by Emery Berger 中文版本 (Chinese version) About Scalene % pip install -U scalene Scalen
Development tool to measure, monitor and analyze the memory behavior of Python objects in a running Python application.
README for pympler Before installing Pympler, try it with your Python version: python setup.py try If any errors are reported, check whether your Pyt
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.
Glances - An eye on your system Summary Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information thr
Cross-platform lib for process and system monitoring in Python
Home Install Documentation Download Forum Blog Funding What's new Summary psutil (process and system utilities) is a cross-platform library for retrie
Buildout is a deployment automation tool written in and extended with Python
Buildout Buildout is a project designed to solve 2 problems: Application-centric assembly and deployment Assembly runs the gamut from stitching togeth
A modern Python application packaging and distribution tool
PyOxidizer PyOxidizer is a utility for producing binaries that embed Python. The over-arching goal of PyOxidizer is to make complex packaging and dist
Create standalone executables from Python scripts, with the same performance and is cross-platform.
About cx_Freeze cx_Freeze creates standalone executables from Python scripts, with the same performance, is cross-platform and should work on any plat
py2app is a Python setuptools command which will allow you to make standalone Mac OS X application bundles and plugins from Python scripts.
py2app is a Python setuptools command which will allow you to make standalone Mac OS X application bundles and plugins from Python scripts. py2app is
A library and tool for generating .pex (Python EXecutable) files
PEX Contents Overview Installation Simple Examples Integrating pex into your workflow Documentation Development Contributing Overview pex is a library
Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, and 3.9. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
Nuitka User Manual Contents Overview Usage Requirements Command Line Installation License Tutorial Setup and build on Windows Setup Install Python Ins
pytest plugin that let you automate actions and assertions with test metrics reporting executing plain YAML files
pytest-play pytest-play is a codeless, generic, pluggable and extensible automation tool, not necessarily test automation only, based on the fantastic
pytest plugin for manipulating test data directories and files
pytest-datadir pytest plugin for manipulating test data directories and files. Usage pytest-datadir will look up for a directory with the name of your
Local continuous test runner with pytest and watchdog.
pytest-watch -- Continuous pytest runner pytest-watch a zero-config CLI tool that runs pytest, and re-runs it when a file in your project changes. It
:game_die: Pytest plugin to randomly order tests and control random.seed
pytest-randomly Pytest plugin to randomly order tests and control random.seed. Features All of these features are on by default but can be disabled wi
Python version of the Playwright testing and automation library.
🎭 Playwright for Python Docs | API Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright del
a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)
pytest-sugar pytest-sugar is a plugin for pytest that shows failures and errors instantly and shows a progress bar. Requirements You will need the fol
pytest plugin for distributed testing and loop-on-failures testing modes.
xdist: pytest distributed testing plugin The pytest-xdist plugin extends pytest with some unique test execution modes: test run parallelization: if yo
Command line driven CI frontend and development task automation tool.
tox automation project Command line driven CI frontend and development task automation tool At its core tox provides a convenient way to run arbitrary
An MkDocs plugin that simplifies configuring page titles and their order
MkDocs Awesome Pages Plugin An MkDocs plugin that simplifies configuring page titles and their order The awesome-pages plugin allows you to customize
Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server.
sphinx-autobuild Rebuild Sphinx documentation on changes, with live-reload in the browser. Installation sphinx-autobuild is available on PyPI. It can
ReStructuredText and Sphinx bridge to Doxygen
Breathe Packagers: PGP signing key changes for Breathe = v4.23.0. https://github.com/michaeljones/breathe/issues/591 This is an extension to reStruct
A new kind of Progress Bar, with real time throughput, eta and very cool animations!
alive-progress :) A new kind of Progress Bar, with real-time throughput, eta and very cool animations! Ever found yourself in a remote ssh session, do
Pretty and useful exceptions in Python, automatically.
better-exceptions Pretty and more helpful exceptions in Python, automatically. Usage Install better_exceptions via pip: $ pip install better_exception
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"
Text progress bar library for Python. Travis status: Coverage: Install The package can be installed through pip (this is the recommended method): pip
Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate.
python-tabulate Pretty-print tabular data in Python, a library and a command-line utility. The main use cases of the library are: printing small table
Rich is a Python library for rich text and beautiful formatting in the terminal.
Rich 中文 readme • lengua española readme • Läs på svenska Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API
A Fast, Extensible Progress Bar for Python and CLI
tqdm tqdm derives from the Arabic word taqaddum (تقدّم) which can mean "progress," and is an abbreviation for "I love you so much" in Spanish (te quie
A Python application for tracking, reporting on timing and complexity in Python code
A command-line application for tracking, reporting on complexity of Python tests and applications. wily [a]: quick to think of things, having a very g
Inspects Python source files and provides information about type and location of classes, methods etc
prospector About Prospector is a tool to analyse Python code and output information about errors, potential problems, convention violations and comple
An installation and dependency system for Python
Pyflow Simple is better than complex - The Zen of Python Pyflow streamlines working with Python projects and files. It's an easy-to-use CLI app with a
Install and Run Python Applications in Isolated Environments
pipx — Install and Run Python Applications in Isolated Environments Documentation: https://pipxproject.github.io/pipx/ Source Code: https://github.com
Python dependency management and packaging made easy.
Poetry: Dependency Management for Python Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right sta
OS-agnostic, system-level binary package manager and ecosystem
Conda is a cross-platform, language-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for
This tool is used to install `pyenv` and friends.
pyenv installer This tool installs pyenv and friends. It is inspired by rbenv-installer. Prerequisites In general, compiling your own Python interpret
Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure.
Dlint Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure. The most important thing I have done as a progra
Automatic SQL injection and database takeover tool
sqlmap sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of
A tool (and pre-commit hook) to automatically add trailing commas to calls and literals.
add-trailing-comma A tool (and pre-commit hook) to automatically add trailing commas to calls and literals. Installation pip install add-trailing-comm
A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.
pyupgrade A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language. Installation pip install pyupgrade As a pre
Removes unused imports and unused variables as reported by pyflakes
autoflake Introduction autoflake removes unused imports and unused variables from Python code. It makes use of pyflakes to do this. By default, autofl
Awesome autocompletion, static analysis and refactoring library for python
Jedi - an awesome autocompletion, static analysis and refactoring library for Python Jedi is a static analysis tool for Python that is typically used
Extensible memoizing collections and decorators
cachetools This module provides various memoizing collections and decorators, including variants of the Python Standard Library's @lru_cache function
Automated security testing using bandit and flake8.
flake8-bandit Automated security testing built right into your workflow! You already use flake8 to lint all your code for errors, ensure docstrings ar
Mypy stubs, i.e., type information, for numpy, pandas and matplotlib
Mypy type stubs for NumPy, pandas, and Matplotlib This is a PEP-561-compliant stub-only package which provides type information for matplotlib, numpy
coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." ― John F. Woods coala provides a
The strictest and most opinionated python linter ever!
wemake-python-styleguide Welcome to the strictest and most opinionated python linter ever. wemake-python-styleguide is actually a flake8 plugin with s
A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle.
flake8-bugbear A plugin for Flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycode
Optional static typing for Python 3 and 2 (PEP 484)
Mypy: Optional Static Typing for Python Got a question? Join us on Gitter! We don't have a mailing list; but we are always happy to answer questions o
Toolkit for storing files and attachments in web applications
DEPOT - File Storage Made Easy DEPOT is a framework for easily storing and serving files in web applications on Python2.6+ and Python3.2+. DEPOT suppo
Pandas on AWS - Easy integration with Athena, Glue, Redshift, Timestream, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer and S3 (Parquet, CSV, JSON and EXCEL).
AWS Data Wrangler Pandas on AWS Easy integration with Athena, Glue, Redshift, Timestream, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretMana
A Python library for Cloudant and CouchDB
Cloudant Python Client This is the official Cloudant library for Python. Installation and Usage Getting Started API Reference Related Documentation De
Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API
Apache Libcloud - a unified interface for the cloud Apache Libcloud is a Python library which hides differences between different cloud provider APIs
Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.
dataset: databases for lazy people In short, dataset makes reading and writing data in databases as simple as reading and writing JSON files. Read the
a small, expressive orm -- supports postgresql, mysql and sqlite
peewee Peewee is a simple and small ORM. It has few (but expressive) concepts, making it easy to learn and intuitive to use. a small, expressive ORM p
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
(This library is available under a free and permissive license however, if you Enjoy Dear PyGui please consider becoming a Sponsor) Dear PyGui is a si
Write desktop and web apps in pure Python
Flexx Want to stay up-to-date about (changes to) Flexx? Subscribe to the NEWS issue. Introduction Flexx is a pure Python toolkit for creating graphica
Open source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
Kivy Innovative user interfaces made easy. Kivy is an open source, cross-platform Python framework for the development of applications that make use o
Cleo allows you to create beautiful and testable command-line interfaces.
Cleo Create beautiful and testable command-line interfaces. Cleo is mostly a higher level wrapper for CliKit, so a lot of the components and utilities
A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
ASCIIMATICS Asciimatics is a package to help people create full-screen text UIs (from interactive forms to ASCII animations) on any platform. It is li
A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables.
ConfigArgParse Overview Applications with more than a handful of user-settable options are best configured through a combination of command line args,
Python and tab completion, better together.
argcomplete - Bash tab completion for argparse Tab complete all the things! Argcomplete provides easy, extensible command line tab completion of argum
Rich is a Python library for rich text and beautiful formatting in the terminal.
Rich 中文 readme • lengua española readme • Läs på svenska Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API
Define and run multi-container applications with Docker
Docker Compose Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is us
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
Tink A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. Ubuntu
keyring MITkeyring (🥉27 · ⭐ 630) - Store and access your passwords safely. MIT
The Python keyring library provides an easy way to access the system keyring service from python. It can be used in any application that needs safe pa
Python ASN.1 library with a focus on performance and a pythonic API
asn1crypto A fast, pure Python library for parsing and serializing ASN.1 structures. Features Why Another Python ASN.1 Library? Related Crypto Librari
Modern(-ish) password hashing for your software and your servers
bcrypt Good password hashing for your software and your servers Installation To install bcrypt, simply: $ pip install bcrypt Note that bcrypt should b
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
pyca/cryptography cryptography is a package which provides cryptographic recipes and primitives to Python developers. Our goal is for it to be your "c
Better directory iterator and faster os.walk(), now in the Python 3.5 stdlib
scandir, a better directory iterator and faster os.walk() scandir() is a directory iteration function like os.listdir(), except that instead of return
Generate and work with holidays in Python
python-holidays A fast, efficient Python library for generating country, province and state specific sets of holidays on the fly. It aims to make dete
pytz Python historical timezone library and database
pytz Brings the IANA tz database into Python. This library allows accurate and cross platform timezone calculations. pytz contains generated code, and
Lightweight data validation and adaptation Python library.
Valideer Lightweight data validation and adaptation library for Python. At a Glance: Supports both validation (check if a value is valid) and adaptati
Type-safe YAML parser and validator.
StrictYAML StrictYAML is a type-safe YAML parser that parses and validates a restricted subset of the YAML specification. Priorities: Beautiful API Re
Param: Make your Python code clearer and more reliable by declaring Parameters
Param Param is a library providing Parameters: Python attributes extended to have features such as type and range checking, dynamically generated valu
Data parsing and validation using Python type hints
pydantic Data validation and settings management using Python type hinting. Fast and extensible, pydantic plays nicely with your linters/IDE/brain. De
Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
orjson orjson is a fast, correct JSON library for Python. It benchmarks as the fastest Python library for JSON and is more correct than the standard j
Python library for serializing any arbitrary object graph into JSON. It can take almost any Python object and turn the object into JSON. Additionally, it can reconstitute the object back into Python.
jsonpickle jsonpickle is a library for the two-way conversion of complex Python objects and JSON. jsonpickle builds upon the existing JSON encoders, s
A lightweight library for converting complex objects to and from simple Python datatypes.
marshmallow: simplified object serialization marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, t
Ultra fast JSON decoder and encoder written in C with Python bindings
UltraJSON UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 3.6+. Install with pip: $ python -m pip insta
Automatic caching and invalidation for Django models through the ORM.
Cache Machine Cache Machine provides automatic caching and invalidation for Django models through the ORM. For full docs, see https://cache-machine.re
Plug and play continuous integration with django and jenkins
django-jenkins Plug and play continuous integration with Django and Jenkins Installation From PyPI: $ pip install django-jenkins Or by downloading th
Full-text multi-table search application for Django. Easy to install and use, with good performance.
django-watson django-watson is a fast multi-model full-text search plugin for Django. It is easy to install and use, and provides high quality search
Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards and optional settings files.
Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards in settings file paths and mark setti
Automatically deletes old file for FileField and ImageField. It also deletes files on models instance deletion.
Django Cleanup Features The django-cleanup app automatically deletes files for FileField, ImageField and subclasses. When a FileField's value is chang
Management commands to help backup and restore your project database and media files
Django Database Backup This Django application provides management commands to help backup and restore your project database and media files with vari
A django model and form field for normalised phone numbers using python-phonenumbers
django-phonenumber-field A Django library which interfaces with python-phonenumbers to validate, pretty print and convert phone numbers. python-phonen
Simple yet powerful and really extendable application for managing a blog within your Django Web site.
Django Blog Zinnia Simple yet powerful and really extendable application for managing a blog within your Django Web site. Zinnia has been made for pub
A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.
Django Countries A Django application that provides country choices for use with forms, flag icons static files, and a country field for models. Insta
Money fields for Django forms and models.
django-money A little Django app that uses py-moneyed to add support for Money fields in your models and forms. Django versions supported: 1.11, 2.1,
Store model history and view/revert changes from admin site.
django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D
Tweak the form field rendering in templates, not in python-level form definitions. CSS classes and HTML attributes can be altered.
django-widget-tweaks Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is su
Compresses linked and inline javascript or CSS into a single cached file.
Django Compressor Django Compressor processes, combines and minifies linked and inline Javascript or CSS in a Django template into cacheable static fi