- ruff for linting and all the other stuff it does.
- mypy for type hint checking
- VS Code (although I'm playing with zed.dev too)
31–35 of 35 posts
- ruff for linting and all the other stuff it does.
- mypy for type hint checking
- VS Code (although I'm playing with zed.dev too)
VS Code and local Python virtual environments. Packages managed with pip and versions pinned with pipcompile. One ML production environment forces us to use conda we inherit from the pip environment and try to have as much done by pip as possible. Formatted with black and flake8 Unit tests with unittest Azure Dev Ops for running tests, security screening, and CI The happy path for deployment is build docker images in…
Not a python developer, just casually curious about the discourse. But I wanted to say that I completely agree with the point on letting dynamic languages be dynamic. Otherwise, you reduce the benefit of a dynamic language to the point where I feel like the value proposition comes too close to disappearing. Really at that point, you're just trading performance for compile time or lack there of.
I'm sorry, can't suggest much, I just use `Neovim` and `ripgrep` search. No AI, no autocompletion, no fancy plugins. At the moment I'm working for one of the biggest Python codebases: Odoo - a general purpose ERP from Belgium.
Find defs and refs. Master a little bit of regex and you will reduce false positives.
Grep serves as a rudimentary autocomplete. find the definition, open in a buffer, observe fields. This is analogous to an autocomplete popup displayed inline. The buffer can now power your contextual completions, similar to an inline popup.