frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Ask HN: Why is virtualization still not solved?

16•prmph•14h ago•22 comments

Ask HN: What is so good about MCP servers?

36•metadat•1d ago•34 comments

Ask HN: How many of you are working in tech without a STEM degree?

37•zebproj•2d ago•48 comments

Ask HN: Cyber Resilience Act – what is "buying" software?

3•leksak•16h ago•1 comments

Ask HN: Why do Cursor, Windsurf and Claude Code dominate the conversation?

27•bluelightning2k•4d ago•37 comments

Ask HN: Good Starting OS for Children?

7•kqr•1d ago•11 comments

Recovering Files Through Screenshots

4•ccnvms•20h ago•0 comments

Ask HN: Help me navigate a PIP at a remote startup in the Netherlands

18•msoad•1d ago•17 comments

Remove All AI Features from Firefox

43•nabla9•2d ago•7 comments

Tell HN: Online Safety Act to be enforced in the UK on July 25th

15•trycatchthroawy•1d ago•6 comments

The missing analytics platform for landing pages. What do you think?

4•coursecrumbs•1d ago•10 comments

I'm Peter Roberts, immigration attorney who does work for YC and startups. AMA

162•proberts•1w ago•265 comments

Ask HN: Why is Gmail so incompetent at basic search?

57•sn9•4d ago•57 comments

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

33•ravshan•3d ago•33 comments

Ask HN: Any active COBOL devs here? What are you working on?

243•_false•1w ago•188 comments

Ask HN: Is anybody using llama.cpp for production?

11•HardikVala•2d ago•1 comments

Mineral exploration startups are the tech startups of the physical world

4•unicorn_chaser•1d ago•0 comments

Ask HN: What's Your Useful Local LLM Stack?

91•Olshansky•1w ago•52 comments

Ask HN: Has anyone deployed LLMs to production?

14•saaspirant•2d ago•6 comments

Ask HN: How did you navigate an illegal termination?

5•infoseekadvice•1d ago•4 comments

Ask HN: What Speaker Diarization tools should I look into?

11•justforfunhere•4d ago•8 comments
Open in hackernews

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

33•ravshan•3d ago
I am trying to transition from .net to python, but finding conflicting information online about what people Actually Use.

People recommend their favorite tool, but when you look into it, it is barely supported or already abandoned.

I will focus on working with LLMs.

Edit: By tools I meant everything related to python development starting from python version, package manager, environment manager, IDE and ending with deployment tools

Comments

dapperdrake•3d ago
Whatever is sanctioned by the IT department and has been hammered into the permission system. Red tape all around.

And when a new enterprise tool is purchased it may or may not change.

(I only believed it once it was lived through.)

ravshan•3d ago
So what tools were sanctioned by IT?
al_borland•3d ago
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.
msgodel•3d ago
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.

al_borland•3d ago
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.

msgodel•3d ago
Black is the main thing you want IMO.

I think language servers and autocomplete are much more useful for .net (I used to do a lot of C# as a freelancer in college) than they are for python. Personally I just open a REPL and tab around in that if I need it but I do that maybe once a month. Most software is well organized such that you can keep enough of the theory in your head for the default nvim config to work easily. A small FITM model with a ring context like Qwen can help a bit with boilerplate if you really want autocomplete.

Python just isn't that verbose.

kingkongjaffa•3d ago
Ruff has replaced Black imo. Don’t use black in 2025.
cpach•3d ago
What do you mean by “tool”? Do you mean IDE/editor, or something else?
ravshan•3d ago
By that I meant everything related to python development starting from python version, package manager, environment manager, IDE and ending with deployment tools
cwmoore•3d ago
This is a great question.
lordkrandel•3d ago
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.
foobarbaz33•1d ago
I was coming here to say: "grep as IDE". It's dynamic language tooling 101.

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.

cwmoore•3d ago
Sorry "working with LLMs" is not enough context to compare .NET and Python environments without resorting to LLMs. People actually use for what?
ravshan•3d ago
By that I meant everything related to python development starting from python version, package manager, environment manager, IDE and ending with deployment tools
eljey•3d ago
At EntwicklerHeld we used a setup i was happy with:

- poetry for dependency management

- black for formatting

- flake for linting (you can use ruff now)

- PyCharm as IDE

- pyenv for python version management -> but I switched to devbox a year ago and never go back

- docker as end artifact

- deployed to kubernetes (at the end k3s) with ansible and terraform

Tpt•3d ago
UV for packaging and dependency management, Ruff for linting, Mypy for type checking (will be likely replaced by Ty when ready) and whatever editor people like (PyCharm, VSCode, Helix...)
ehutch79•3d ago
UV has become my goto for package/venv management. It can work as a close to dropin replacement for pip.

Ruff is my goto for linting and formatting. replacing black, isort, flake8, etc.

There's lsps for both, so you can use them in vscode or wherever you're doing your editing.

kermatt•3d ago
The "basics":

  Vim + PythonMode
  `python -m venv` for local environment separation
  Git + https://github.com/dandavison/delta for change management
When I need a debugger or a Git GUI, VScode, but Zed is becoming more and more interesting. These support LLM interaction, but things like Claude Code fit better with the above list.
kingkongjaffa•3d ago
Can you use vscode devcontainers?

Can you use a dev container with a dockerfile and use UV for package management, ruff for formatting and lint, mypy for type hint checking, and pytest.

And put all of that on your CI as well so if they fail you don’t merge failing code.

sjducb•3d ago
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 AzureDevOps unfortunately we can’t do that for good reasons

I’m not a fan of typed Python, it doesn’t work as smoothly as you expect if you’re coming from a statically typed language.

Be careful enforcing pylint quality. It can be a great way to kill your teams velocity.

I’m describing a boring stack that works. All of these tools are 5+ years old and very well supported.

pimbrouwers•3d ago
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.
sjducb•1d ago
People often forget the benefits of dynamic typing.
vcarrico•3d ago
* pyenv for python version management

* poetry for package manager

* vscode + copilot

neilsimp1•3d ago
I can't answer OP as I only write Python for personal use, not for a "big company".

That said, Neovim + basedpyright + pipenv works well for me.

A lot of people here are using uv and pyenv. Can anyone hint at why I might want to switch?

papanoah•3d ago
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

pdzly•3d ago
uv is just such a fast and reliable package manager. It implements the "lock" problem python has, with the uv.lock
JonathanRaines•3d ago
Zed is worth a look for your IDe and plays nicely with LLMs
viraptor•3d ago
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.

wizzerking•3d ago
Where I work Spyder 3.x pipenv for environments Python 3.10 +
dragonwriter•3d ago
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.

world2vec•3d ago
Python 3.10+ via VSCode (with GitHub Copilot + Claude Code), Poetry, Pyenv, and Docker
runjake•2d ago
- uv for environments, packaging, and dependencies.

- 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)

bravesoul2•2d ago
I need to put sunscreen on before reading the comments.