DEV Community

Discussion on: What do you use for Python development?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

For Python:

  • Code formatter: Black: It doesn't bother you with all the settings, like PyLint does, but assumes you want to comply with the majority of the PEP-8 official style guide. Which is usually a good idea.

  • Linter: flake8: A combination of three linters (PyFlakes, pycodestyle, and McCabe). You can add many more besides.

  • Type checker: mypy: yes, this exists for Python 3, if you want to use type annotation (optional).

  • Package manager: pip: It works. Just keep it simple.

Also, be sure you're using virtual environments! venv is probably more than suitable. (Here's a guide.)

As to IDE, I prefer Visual Studio Code with the official Python extension, but PyCharm CE is good too.

P.S. I recommend you keep both the latest versions of Python (a.k.a. CPython) and Pypy around. The former always has the latest features, but the latter is comparable to native languages thanks to bootstrapping and its JIT compiler. Also, stick with Python 3.