Allow installing the plugin with pylint v4#129
Conversation
|
( |
Signed-off-by: Stavros Ntentos <[email protected]>
|
@stdedos looks like you also need to approve the CI run? |
…[email protected]` Signed-off-by: Stavros Ntentos <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #129 +/- ##
=======================================
Coverage 98.24% 98.24%
=======================================
Files 20 20
Lines 571 571
Branches 108 66 -42
=======================================
Hits 561 561
Misses 8 8
Partials 2 2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@stdedos I recommend storing a plain text Codecov token in the repo. It's not that secret but it improves upload stability. Alternatively, try the web UI setting for tokenless uploads in API v5. |
|
Do you have some news 🙏 |
|
It is under work (albeit slowly) 😓 |
bb24b96 to
52850a7
Compare
…5.2` * We need `make upgrade` to pull in _additionally_ the latest `pylint` (v4) * `actions/[email protected]`: Fixes https://github.com/pylint-dev/pylint-pytest/actions/runs/20699276843 * `codecov/[email protected]`: Codecov should be ... deprecated and purged, given their unreliability and un-pin-able practices. But let us give a last Hail-Mary attempt at making it work Signed-off-by: Stavros Ntentos <[email protected]>
… 3.14; `pre-commit autoupdate` + `pyupgrade` Due to the https://results.pre-commit.ci/run/github/602434841/1767562414.bHoKHEk8SOKSdCCfiG_vow: * We need to upgrade to at least 3.9 python (mypy) * `pylint/checkers/variables.py:112: error: Pattern matching is only supported in Python 3.10 and greater [syntax]` ... and because 3.9 is soon-to-be EOL _as of writing this_, let us deprecate this one too. Additionally, adding `https://github.com/asottile/pyupgrade` will help with the transition Signed-off-by: Stavros Ntentos <[email protected]>
Signed-off-by: Stavros Ntentos <[email protected]>
|
@webknjaz anything negative-interesting you are seeing? Idk what resulted in this PR, but - do you want to try an editable install and see "if it works"? |
| # by the following command: | ||
| # | ||
| # pip-compile --generate-hashes --max-rounds=20 --output-file=requirements/dev.txt --strip-extras pyproject.toml requirements/dev.in | ||
| # pip-compile --cert=None --client-cert=None --generate-hashes --index-url=None --max-rounds=20 --output-file=requirements/dev.txt --pip-args=None --strip-extras pyproject.toml requirements/dev.in |
There was a problem hiding this comment.
Urgh.. didn't we fix None in pip-tools? I thought we did. Have you tried the latest version?
| # pip-compile --cert=None --client-cert=None --generate-hashes --index-url=None --max-rounds=20 --output-file=requirements/dev.txt --pip-args=None --strip-extras pyproject.toml requirements/dev.in | |
| # pip-compile --generate-hashes --max-rounds=20 --output-file=requirements/dev.txt --strip-extras pyproject.toml requirements/dev.in |
The settings can live in a .pip-tools.toml, by the way.
There was a problem hiding this comment.
uv also has subcommands for pip-tools. I wouldn't be surprised if it can respect these settings. I'm not moving to it for everything, maybe for a few select features. I'd rather wait until more ecosystem can install from pylock and make sure to always export into a standardized format rather than the vendor-locked one.
This comment was marked as duplicate.
This comment was marked as duplicate.
Sorry, something went wrong.
There was a problem hiding this comment.
... tbh, I wouldn't be interested to switch either.
But recently I've used it, and ... it is SO MAGICAL, yet so well-behaved 😊
... I don't like the "mess" that lockfiles cause (and the complexity that other tools cause in my eyes - like hatchling, poetry) - but (a) EVERYTHING moves towards lockfiles, and I like how uv behaves.
At least I can "wrap this complexity up" with one tool, that is "well supported", and (for the time being) has ppl to ask Qs one gh issue away 🙏
There was a problem hiding this comment.
There be dragons, though. Just well-hidden. The interpreters have known quirks. The depresolver takes shortcuts based on not-always-true assumptions that may hit you later than the deptree is computed (same as poetry, this may be influenced by pubgrub, I imagine; pip could do it too if it didn't care about correctness). The ecosystem highly focuses on monorepos etc.
pip is able to output pylock since the spring, about to be able to install from them. In pip-tools, we're tracking them as well but haven't had a chance to dedicate time to implementing. We fixed the maintenance situation last year, through.
Lock files are great. The only problem is that they are often misunderstood. UV makes things look nice but I don't know if it's capable of handling env separation correctly. Though, as long as you export to pylock files in addition to whatever uv is doing, this should be friendly to arbitrary contributors who might prefer standard-compliant tooling.
There was a problem hiding this comment.
... sounds like a simple fix: https://docs.astral.sh/uv/concepts/projects/layout/#relationship-to-pylocktoml
There was a problem hiding this comment.
Have you tried the latest version?
Now I started understanding wdym by that. I guess the answer is no (
Line 11 in 7271ecc
|
@stdedos I don't think I'll be able to test this anytime soon but I looked at the diff and haven't noticed anything immediately suspicious. So it should be fine to merge. |
|
FWIW using this branch lets one install and run pylint v4+, i.e. Is accepted by |
Signed-off-by: Stavros Ntentos <[email protected]>
* `.github/workflows/tests.yaml`: `codecov` STILL needs `token` for uploads ... apparently on protected branches * Minor touch-up of `CHANGELOG.md` * Add `pyupgrade` in requirements #129 Signed-off-by: Stavros Ntentos <[email protected]>
This fixes compat w/ pylint v4: pylint-dev/pylint-pytest#129.
This fixes compat w/ pylint v4: pylint-dev/pylint-pytest#129.
It's the first one metadata-compatible with pylint 4+ Ref: pylint-dev/pylint-pytest#129
This fixes compat w/ pylint v4: pylint-dev/pylint-pytest#129.
Currently, depresolvers will just fail. But this allows installing newer pylint with this plugin. Let's see what the CI has to say about it...