sourcery
sourcery copied to clipboard
Default python version code action to create project-level config rather than user-level
Issue description or question
I have to work on a project that is still Python 2 for work, but all the other projects I work on are Python 3.8 or better. However, when I open up the Python 2 project in VS Code I get refactoring suggestions from Sourcery showing things like switch .format()
calls to f-strings, or use the walrus operator, etc, which is not helpful. I can turn those off by picking "Do Not Show Proposals requiring 3.8 or better" in the Quick Fix menu, but then that seems to disable 3.8+ suggestions for all projects I open in VS Code.
I just want to disable the Python 3 suggestions in this single project, not all projects I open.
Sourcery Version
Sourcery v0.10.3 (according to the VS Code extension page)
Code editor or IDE name and version
Version: 1.65.0 Commit: b5205cc8eb4fbaa726835538cd82372cc0222d43 Date: 2022-03-02T11:11:20.886Z (5 days ago) Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0
OS name and version
OSX: Darwin x64 19.6.0
Hi @pzelnip, thanks for opening this issue!
I totally agree, setting a maximum Python version should be project-specific. I added this to our roadmap.
The good news is that you can solve this already by manually creating a .sourcery.yaml
file in your Python 2 project with the following contents:
refactor:
python_version: '3.3'
If .sourcery.yaml
already exists, just make sure that the python_version
field is included in refactor
with an appropriate value.
Please let me know if this works for you.
That does work for me, thanks!
Alongside .sourcery.yaml
, the second place sourcery could look for settings could be PEP 518's pyproject.toml
perhaps?
@diceroll123 that's definitely something we want to have in the future! Actually, there's already an open issue to track this enhancement proposal: https://github.com/sourcery-ai/sourcery/issues/159.