An open API service indexing awesome lists of open source software.

awesome-pyproject

An Awesome List of projects using the pyproject.toml Python configuration file.
https://github.com/carlosperate/awesome-pyproject

Last synced: 18 days ago
JSON representation

Articles

Code Analysis

  • Bandit - A tool designed to find common security issues in Python code.
  • FlakeHell - Flake8 wrapper to make it nice, legacy-friendly, configurable.
  • import-linter - Import Linter defines and enforces rules for the imports within and between Python packages.
  • interrogate - Interrogate a codebase for docstring coverage.
  • Mypy - An optional static type checker for Python (PEP 484).
  • Nitpick - Flake8 plugin to enforce the same tool configuration (flake8, isort, mypy, Pylint...) across multiple Python projects.
  • pydocstyle - A static analysis tool for checking compliance with Python docstring conventions.
  • Pyright - Static type checker for Python.
  • pytest-pylint - A pytest plugin for running pylint against your codebase.
  • Robocop - Tool for static code analysis of Robot Framework language.
  • rstcheck - Checks syntax of reStructuredText and code blocks nested within it.
  • wemake-python-styleguide - The strictest and most opinionated python linter ever!
  • deptry - A command line tool to check for issues with dependencies in a Python project, such as obsolete or missing dependencies.
  • Refurb - A tool for refurbishing and modernizing Python codebases.
  • Unimport - Detects unused python libraries.

Code Formatting

  • Black - The uncompromising Python code formatter.
  • Blue - The slightly less uncompromising Python code formatter.
  • flake8-isort - flake8 plugin that integrates isort.
  • isort - A Python utility / library to sort imports alphabetically, and automatically separated into sections.
  • autoflake - Removes unused imports and unused variables as reported by pyflakes.
  • autoimport - Automatically add missing imports and remove unused imports.
  • Darker - Apply black reformatting to Python files only in regions changed since a given commit.
  • YAPF - A formatter for Python files.
  • autopep8 - A tool that automatically formats Python code to conform to the PEP 8 style guide.

Open PEPs

Rejected/Withdrawn/Superseded

Other Tools

  • Commitizen - Create commiting rules for projects, auto bump versions and auto changelog generation.
  • datamodel-code-generator - Creates Pydantic data-model code from OpenAPI/JSON Schema files.
  • ini2toml - Automatically translates .ini/.cfg files into TOML.
  • Python License Checker - Check python packages from requirement.txt/pyproject.toml and report issues.
  • Tartufo - Searches through git repositories and their history for high entropy strings and secrets.
  • zsh-autoswitch-virtualenv - ZSH plugin to automatically switch python virtualenvs and Pipenvs as you move between directories.
  • django-pyproject - Django package to store some or all of your settings in your pyproject.toml file.
  • Poe the Poet - A task runner that works well with Poetry.
  • Poetrify - Convert a Pipfile (or requirements.txt) to pyproject.toml for Poetry.
  • poetry-version - Python library for extracting version from poetry pyproject.toml file.
  • towncrier - A utility to produce useful, summarised news files for your project.
  • Vendy - A tool for vendoring third-party packages into your project.
  • Autohooks - Library for managing git hooks.
  • poetry-setup - Generate setup.py (setuptools) from pyproject.toml.

Packaging & Project Management

  • BeeWare Briefcase - Tools to support converting a Python project into a standalone native application.
  • DepHell - Project management for Python. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.
  • Hatch - Modern, extensible Python project manager.
  • Maturin - Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages.
  • pip - The package installer for Python. You can use pip to install packages from the Python Package Index and other indexes.
  • check-wheel-contents - Check your wheels have the right contents.
  • FawltyDeps - Find undeclared and unused dependencies in your Python project. Verify that your declared dependencies (in pyproject.toml or elsewhere) match what you actually import in your code.
  • Pyflow - An installation and dependency system for Python.
  • setuptools_scm - Handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file.

Projects discussing the use of `pyproject.toml`

Rejected/Withdrawn/Superseded

  • Alembic - A database migrations tool for SQLAlchemy.
  • Briefcase Bootstrap Template - A template for starting a Python app that will be deployed using briefcase.
  • bumpversion - Version-bump your software with a single command.
  • bump2version - An interim fork with the intent to merge back to the original project.
  • Dependency Parser - A parser for Python dependency files.
  • flake8 - A python tool that glues together pep8, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
  • gitlint - Linting for your git commit messages.
  • Invoke - Library for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
  • mach-nix - Create highly reproducible python environments.
  • nose2 - The successor to nose. Its purpose is to extend unittest to make testing nicer and easier to understand.
  • pycodestyle - A tool to check your Python code against some of the style conventions in PEP 8.
  • pyenv - Simple Python version management.
  • pytest-benchmark - A pytest fixture for benchmarking code.
  • Pylama - Code audit tool for Python and JavaScript. Pylama wraps these tools: pycodestyle, pydocstyle, PyFlakes, Mccabe, Pylint, Radon, gjslint, eradicate, mypy.
  • PyOxidizer - A modern Python application packaging and distribution tool.
  • pypyr - Task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.
  • pytype - A static type analyzer for Python code.
  • pyup - tool to update your project's dependencies on GitHub. Runs on pyup.io, comes with a command line interface.
  • Radon - A Python tool that computes various metrics from the source code.
  • readthedocs.org - Read the Docs hosts documentation for the open source community.
  • Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
  • zest.releaser - Python software releasing made easy and repeatable.
  • prospector - A tool to analyse Python code and output information about errors, potential problems, convention violations and complexity.

Project Templates

Testing

  • Coverage.py - Code coverage measurement for Python.
  • pytest - A testing framework that makes it easy to write small tests, yet scales to support complex functional testing.
  • Ward - A modern Python test framework designed to help you find and fix flaws faster.
  • ptr - Python Test Runner (ptr) was born to run tests in an opinionated way, within arbitrary code repositories.
  • pytest-env - A pytest plugin that enables you to set environment variables in a pyproject.toml file.

Uncategorized

Uncategorized