Pyupgrade wrapper to supply configuration via pyproject.toml
Project description
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
toxconfig to run them for all supported python versions - Add option to specify custom
pyupgradecommand. 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
pythonversion >=3.11use tomllib forpyproject.tomlparsing - Support adding custom options or key-value arguments to
pyupgradeCLI - Support storing configuration in
pyupgrade.ini - Support storing configuration in
tox.ini - Support storing configuration in
setup.cfg
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyproject_pyupgrade-0.1.1.tar.gz.
File metadata
- Download URL: pyproject_pyupgrade-0.1.1.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.5.0-18-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9f810666ddff91cbd697c948aabb1f1bbad115508d9b0be1b2f3828d0d2c298
|
|
| MD5 |
1f627bcdd969246fa4cdc41895ec0fbb
|
|
| BLAKE2b-256 |
06682050a3325079a652e5690c84ae40f64292d7a27dca8088ee4f8dc86c95e5
|
File details
Details for the file pyproject_pyupgrade-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pyproject_pyupgrade-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.5.0-18-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29b1551dbe9feec33a3d3f1df8778c05ab45319cc5b38002e8da3c520fae5b49
|
|
| MD5 |
b0f8c7882ea13d5a41172d5d0af559bb
|
|
| BLAKE2b-256 |
0e2ce68dc8843b40e81f49457e755b8f42ab1c58e857e79f8754f4fe50c74aea
|