A small pylint update lead into a full-blown dependency updates.
That, additionally, lead to deprecating Python 3.8 and 3.9 support. Technically, as of writing this, https://devguide.python.org/versions/ does NOT show 3.9 as deprecated. However, many dependencies have already dropped support for them - and, according to the page, 3.9's deprecation date is 2025-10.
In the meantime, do some minor CI improvements, and introduce pyupgrade for automatic code modernization.
The project will soon ™️ migrate to uv for anything related to packaging, testing, and building:
#132
- Increased reproducibility of the project, by using
pip-compilefor the development dependencies (#28, small bugfix in #39) - Introduced @dependabot (part of #28)
- Support for Python 3.6 & 3.7 (#23)
- Migrate setup.py to pyproject.toml (#8)
- Support for Python 3.12 (#3, "side effect" of #8)
- Improved reliability of the
FixtureCheckerclass (#29) - Minor CI + License updates (in 29f0c33, e0e529a, 8f56d1c)
This is a small release to support additionally Pylint v3. It should be noted, however, that for linting, Pylint must be v3 or newer (due to backwards-incompatible changes).
- Support pylint v3 and drop v1 (#27)
This is a small bugfix release.
This will probably be the last bugfix release in the v1 series. We MAY support Python 3.12 in the v1 series if support appears to be trivial.
- 🐛 Ignore collection failures in non-tests (#15)
- Minor
.github/ISSUE_TEMPLATE/bug_report.mdimprovement (https://github.com/pylint-dev/pylint-pytest/commit/22650f9912bcdc6a1bc4b3166f70bba7339aba7c)
This is a small bugfix release.
- removes more false positives for unused-argument (#21)
- A collection of minor improvements to tests (#26)
- Windows Artifacts have incorrect Slugification (#25)
This is a small bugfix release.
anis-campos/fix_is_pytest_fixture(#2) Astroid has different semantics when usingimport pytestorfrom pytest import ..., which affects the detection of pytest fixtures.
pre-commit: (#20)- Added more checks to the
pre-commithook.repos: - repo: https://github.com/pre-commit/pre-commit-hooks hooks: - id: check-yaml - id: check-toml - id: check-vcs-permalinks - id: check-shebang-scripts-are-executable - id: name-tests-test - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt - id: yamlfmt - repo: local hooks: - id: python-no-log-fatal name: avoid logger.fatal(
- Unified formatting (always expanded arrays; not covered by linters, sadly)
- Added more checks to the
This is the first release after maintenance was assumed by https://github.com/stdedos.
The focus of this release was to improve automation:
- Fix the continuous integration,
- Run tests as part of branches and PRs,
- Use
.pre-commit-config.yamlfile to upkeep the code quality, and - Automate the release process
There should be no functional changes in this release, although there are changes in the source code.
A heartfelt thank you to https://github.com/Pierre-Sassoulas for his invaluable contributions to the continued maintenance of this project!
- The continuous integration was fixed, as a new maintenance team was assembled.
- Added an extensive
.pre-commit-config.yamlfile to upkeep the code quality. It includes, among others,black,mypy(in non-strict mode yet),ruff, andpylint. - Added an automated release process
- Redirected all repository URLs to the https://github.com/pylint-dev/pylint-pytest.
- Fix #18 plugin crash when test case is marked with a non-pytest.mark decorator
- Fix pytest fixture collection error on non-test modules
- W6402
useless-pytest-mark-decorator: add warning for using pytest.mark on fixtures (thanks to @DKorytkin) - W6403
deprecated-positional-argument-for-pytest-fixture: add warning for positional arguments to pytest.fixture() (thanks to @DKorytkin) - F6401
cannot-enumerate-pytest-fixtures: add fatal error when the plugin cannot enumerate and collect pytest fixtures for analysis (#27)
- Fix #13 regression caused by mangling
sys.modules
- Fix pytest Module already imported so cannot be rewritten warning when the package being linted was used by pytest/conftest already (#10)
- Fix missing Python version constraint (#11)
- Suppressing FP
unused-importwhen fixtures defined elsewhere are imported intoconftest.pybut not directly used (#2)
- Python 3.9 support
- Python 2.7 & 3.5 support
- Fix not able to work with
pytest-xdistplugin when--dist loadfileis set in configuration file (#5)
- W6401
deprecated-pytest-yield-fixture: add warning for yield_fixture functions
- Fix incorrect path separator for Windows (#1)
- Suppressing FP
no-memberfrom using workaround of accessing cls in setup fixture
- Refactor plugin to group patches and augmentations
- Fix fixtures defined with
@pytest.yield_fixturedecorator still showing FP - Fix crashes when using fixture + if + inline import
- Fix crashes when relatively importing fixtures (
from ..conftest import fixture)
- Fix crashes when
*argsor**kwargsis used in FuncDef
- Suppressing FP
unused-importwith tests - Suppressing FP
unused-argumentwith tests - Suppressing FP
redefined-outer-scopewith tests - Add CI/CD configuration with Travis CI