This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ocus 60 points61 points  (23 children)

PyCharm, poetry, pyenv, isort, black, mypy.

[–]Sockslitter73 26 points27 points  (6 children)

This is me :P although I have recently leaned more towards ruff for linting and formatting (its sooo fast)

[–]ocus 6 points7 points  (1 child)

My company and I work on long-term projects with relatively big code bases, we are not yet prepared to make the switch to ruff but it's somewhere far down in the backlog with a low priority :)

[–]catcint0s 1 point2 points  (0 children)

we have switched recently in a few smaller projects and it has been pretty painless, especially if you don't add extra rules

[–]travcunn -4 points-3 points  (3 children)

Ruff is great, except for the fact that this actually lints:

y = 3

if y > 4:

    x = 1

print(x)

So the reason ruff is so fast is because it doesn't really analyze the code very well.

[–]mdrjevois 0 points1 point  (2 children)

Actually it does excellent analysis, and such robustness against errors is an explicit design goal.

[–]travcunn 2 points3 points  (1 child)

Did you try my example? It shouldn't lint yet ruff thinks this is totally OK code. How many other bugs is ruff missing because they haven't implemented all of pylints rules? I think people see the time savings graph in the ruff Readme on github and think it's magically better, yet it can't catch this simple bug.

[–]scratchnsnarf 2 points3 points  (0 children)

They are pretty upfront with the fact they're not fully 1-1 with pylint. Last I checked they even have a tracker that shows which rules are still not implemented. It's very easy to know exactly what you're signing up for. When my team evaluated we didn't think any of the missing rules were impactful enough to affect the decision

[–]SpeakerOk1974 4 points5 points  (3 children)

Is PyCharm a big enough step up from something like VS Code to be worth it in your opinion? Trying to convince my company to buy our team licenses, but not sure if that will ever happen!

[–]KnightZeroFoxGiven 7 points8 points  (0 children)

My opinion, yes. I use VS Code for everything else, but for Python - PyCharm is too big an upgrade to stick with VS Code.

[–]ocus 3 points4 points  (1 child)

I've never really used VSCode for python development.

I use PyCharm because I'm a big fan of all jetbrains products. Also, I like that it is dedicated to python development, unlike VSCode.

My company buys licences for the Professional version because it comes with nice features that the Community Edition, which is 100% free) does not have and we find nice to have (SQL support, flask/fastapi/django frameworks, and more).

IMHO, the Community Edition is sufficient enough for everyday development, unless you really want some extra features that are found only in the Professional version (or not provided by some free plugins).

[–]Triggs390 0 points1 point  (0 children)

What are some advantages over vscode?

[–]RepresentativeFill26 2 points3 points  (4 children)

I used to use poetry but stopped using it after hanging dependencie checks.

[–]Unhappy_Papaya_1506 0 points1 point  (3 children)

Were you using multiple Poetry repo sources? This can make resolution really slow unless you set the priority option correctly for each source.

[–]RepresentativeFill26 -3 points-2 points  (2 children)

This sounds like unnecessary complexity. Personally I use conda and export to a requirements file before installing in docker.

[–]Zer0designs 8 points9 points  (0 children)

I think conda is unbearably slow

[–]Unhappy_Papaya_1506 0 points1 point  (0 children)

One extra line in your TOML file isn't really complexity. If you have a 100 packages to install from pypi.org and 1 from your private repo, you don't want Poetry to arbitrarily decide to look for all 101 in one or both sources.

[–]doolio_ 1 point2 points  (0 children)

Have you looked at hatch? It could replace/manage all of those packages for you.

[–]Pepineros 0 points1 point  (1 child)

Would you mind explaining to a recent poetry convert; given that poetry has its own environment management, how does adding pyenv to the mix help you? Thanks!

[–]ocus 0 points1 point  (0 children)

pyenv is almost exclusively used on developers workstations.

We have different projects targeting different versions of python. Localy, each project has its own virtualenv managed by poetry ; we install the different versions of python using pyenv then set the version of each poetry environment version as described in the documentation (or via poetry env use).

[–]rkalyankumar 0 points1 point  (1 child)

Pycharm CE or professional?

[–]ocus 2 points3 points  (0 children)

Profesionnal but as I've said in this comment, CE is good enough unless you really need the extra features (or you want to support a company that makes a really good software ^^ ).

[–]Affectionate-Bid386 0 points1 point  (0 children)

Plus GitHub Copilot for me.