Live data from Hacker News

Ask HN: Python developers at big companies what is your setup?

news.ycombinator.com

21–30 of 35 posts

Re: Ask HN: Python developers at big companies what is your setup?

#21
Not a big company, however:

- uv (went from pipenv to poetry to uv), which was the right decision imo.

- ruff (replaced black)

- PyCharm, but some people use vscode or neovim.

- mypy for type checking, which I am not 100% happy with. One experienced developer swears by mypy, thats the reason we haven't explored alternatives.

- 'just' as task runner

Re: Ask HN: Python developers at big companies what is your setup?

#23

I have been forced into VS Code due to a heavy handed push to use more AI stuff and Copilot in VS Code being the blessed way to do that.

I haven't tried it but I'd assume copilot just exposes an OpenAI compatible API. The Llama.cpp plugin for neovim should work with that OOTB.

I only use it for local models and don't have any hosted ones that I'm willing to pay for so YMMV.

Re: Ask HN: Python developers at big companies what is your setup?

#24
What people use is going to be very environment biased. For example scientific research uses conda a lot, but I've rarely seen it used by code devs. People using only python will often have more system wide setup with tools and linters than those mixing different projects. Also you'll see some deprecated in tool use in projects which are older and not worth changing without a good reason. Etc.

With that out of the way: mise for managing versions of all the runtimes (asdf is fine too), uv for packages (previously poetry which is ok), mypy type checking for things I make. Otherwise I switch between projects a lot so just use whatever the projects use by default.

Deployment tools aren't really language specific (when they are they're rarely good). The editing, it's just Cursor, although I did like the jetbrains IDE previously.

But overall - just give things a go. It's usually quite easy to swap those tools as needed.

Re: Ask HN: Python developers at big companies what is your setup?

#25

Not a big company, however: - uv (went from pipenv to poetry to uv), which was the right decision imo. - ruff (replaced black) - PyCharm, but some people use vscode or neovim. - mypy for type checking, which I am not 100% happy with. One experienced developer swears by mypy, thats the reason we haven't explored alternatives. - 'just' as task runner

uv is just such a fast and reliable package manager. It implements the "lock" problem python has, with the uv.lock

Re: Ask HN: Python developers at big companies what is your setup?

#27
What I actually use at work is every version of Python from 3.8 on (though once we get out of crunch on some other things, I think I'll be able to sweep out everything up to at least 3.12), with venv/pip, and VSCode (with black for formatting and pylance for typechecking), and deployment is github->AWS CodePipeline->AWS Lambda for most things (and everything else is tools for the team where deployment is "clone the repo".)

If I had my choice, I'd switch environment and package management to uv.

Re: Ask HN: Python developers at big companies what is your setup?

#28
post #23

I have been forced into VS Code due to a heavy handed push to use more AI stuff and Copilot in VS Code being the blessed way to do that.

I haven't tried it but I'd assume copilot just exposes an OpenAI compatible API. The Llama.cpp plugin for neovim should work with that OOTB. I only use it for local models and don't have any hosted ones that I'm willing to pay for so YMMV.

Copilot works with various backend LLMs, including OpenAI, Anthropic, Google, and a few others I think.

We authenticate through a GitHub via SSO, which has a whole RBAC model behind it.

Maybe it would work with something else, but it’s usually more trouble than it’s worth, and depending on the source of the plugin for the other editors, could set off alarms with the security organization, and maybe legal as well. We have a lot of rules around our use of AI.

Re: Ask HN: Python developers at big companies what is your setup?

#30
post #18

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.
Post reply on HN