Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

venomlab/pyproject-pyupgrade

Open more actions menu

Repository files navigation

pyproject pyupgrade

pyproject.toml configuration wrapper for pyupgrade

Installation

Via pip

pip install pyproject-pyupgrade

Via poetry

poetry add --group dev pyproject-pyupgrade

Via pipx

pipx install -f pyproject-pyupgrade

Usage

Make sure you have a desired version of pyupgrade installed in your python environment.

Add the following section in your pyproject.toml:

[tool.pyupgrade]
# for example, if you're using python 3.10
py310-plus = true

And then just execute it via CLI

pyproject-pyupgrade [filename [filenames...]]

or shorter version

ppyupgrade [filename [filenames...]]

So, basically you specify flags that you want to add to pyupgrade CLI arguments specifying them without leading two dashes (--). This is the way how you can supply any option that your version of pyupgrade receives

There is also one additional parameter provided exclusively by pyproject-pyupgrade wrapper:

[tool.pyupgrade]
pyproject-pyupgrade-debug = true

Or directly via CLI

ppyupgrade --pyproject-pyupgrade-debug ...

This option is going to output debug information about pyproject-pyupgrade. Info about parsed configuration from pyproject.toml (if there is one) and all the flags

As a pre-commit hook

See pre-commit for instructions.

Sample .pre-commit-config.yaml:

repos:
  - repo: https://github.com/venomlab/pyproject-pyupgrade
    rev: v0.1.1
    hooks:
      - id: ppyupgrade

ToDo

  • Add tests and tox config to run them for all supported python versions
  • Add option to specify custom pyupgrade command. It allows in case if you want to chain pyupgrade wrappers (for instance, with pyupgrade-directories)
  • Add better parser for TOML. Right now the parser is ultra primitive and might lead to errors if used improperly
  • If python version >= 3.11 use tomllib for pyproject.toml parsing
  • Support adding custom options or key-value arguments to pyupgrade CLI
  • Support storing configuration in pyupgrade.ini
  • Support storing configuration in tox.ini
  • Support storing configuration in setup.cfg

About

pyproject.toml configuration wrapper for pyupgrade

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.