https://github.com/bigbuildbench/csachs_pyproject-flake8
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: BigBuildBench
- License: unlicense
- Language: Python
- Default Branch: master
- Size: 7.81 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
pyproject-flake8 (pflake8)
A monkey patching wrapper to connect flake8 with pyproject.toml configuration.
Update concerning versioning:
pyproject-flake8 so far came without explicit pinning of a flake8 version. Since a recent update broke compatibility – not unexpectedly – the issue arose, how to handle incompatible versions of flake8 and pyproject-flake8. Since there are good reasons for and against version pinning, this project now tries to follow a mix of both: Release versions will follow and pin identical flake8 versions, alpha versions (specific to pyproject-flake8) will pin to the similar non-alpha version of flake8, or later. That way, users of pyproject-flake8 can decide, whether they want a fixed version known to work, or a minimum version, getting later versions, at the risk of future breakage.
Versions 0.0.1x are pyproject-flake8 internal versions and do not correspond to flake8. Furthermore, flake8 3.8.0 was chosen as the first flake8 version to mirror this way.
tl;dr:
```bash
e.g., suggested installation / dependency ... depending on flake8==5.0.4
for Python 3.8+
pip install pyproject-flake8==5.0.4
for Python 3.6+
pip install pyproject-flake8==5.0.4.post1 ```
Rationale
flake8 is one of the most popular Python linters, pyproject.toml has become the standard for Python project metadata.
More and more tools are able to utilize a shared pyproject.toml, alleviating the need for many individual configuration files cluttering a project repository.
Since excellent flake8 is not aimed to support pyproject.toml, this wrapper script tries to fix the situation.
Installation
From github
bash
pip install .
From PyPI
bash
pip install pyproject-flake8
Building packages
Use your favorite PEP517 compliant builder, e.g.: ```bash
install first via: pip install build
python -m build
packages will reside in dist/
```
Usage
Call pflake8 instead of flake8.
Configuration goes into the tool.flake8 section of pyproject.toml:
toml
[tool.flake8]
max-line-length = 88
extend-ignore = ["E203"]
max-complexity = 10
See also
Two other projects aim to address the same problem:
Both seem to try to do a lot more than just getting pyproject.toml support. pyproject-flake8 tries to stay minimal while solving its task.
flake8-pyproject adds only pyproject.toml support, and does this as a Flake8 plugin, allowing
the original flake8 command to work (rather than using pflake8).
Caveat
This script monkey-patches flake8 and the configparser library of Python, therefore loading it as a module may have unforeseen consequences. Alpha quality. Use at your own risk. It will likely break if either Python or flake8 restructure their code significantly. No guarantees for stability between versions.
License
Unlicense
Owner
- Name: BigBuildBench
- Login: BigBuildBench
- Kind: organization
- Repositories: 1
- Profile: https://github.com/BigBuildBench
abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.
GitHub Events
Total
- Create event: 4
Last Year
- Create event: 4
Dependencies
- actions/checkout v4 composite
- psf/black stable composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- pypa/gh-action-pypi-publish v1.8.14 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite