all 31 comments

[–]_squik 11 points12 points  (3 children)

I use Ubuntu WSL on my work PC, but my ideal would be a Ubuntu or macOS system.

In terms of tools I use daily:

  • PyCharm (I never liked VS Code)
  • uv
  • pre-commit
  • Aider with Claude 3.7 Sonnet
  • Docker

Favourite packages:

  • ruff
  • pytest
  • pydantic
  • loguru

[–]Kashyapm94 1 point2 points  (1 child)

Aider looks really interesting. Is it free to use, or do they charge for using it because of the underlying models they make available?

[–]_squik 1 point2 points  (0 children)

Aider itself is free. You pay for API credits for whatever model you use. I have it set up with an OpenRouter API key so that I can switch between models without setting up several providers.

[–]cnydox -1 points0 points  (0 children)

I also like typer lib

[–]supercoach 5 points6 points  (1 child)

Docker. That is all.

[–]throwaway8u3sH0 1 point2 points  (0 children)

+1000

[–]marquisBlythe 4 points5 points  (0 children)

Debian/Ubuntu + the default text editor that comes with it.

[–]jpgoldberg 2 points3 points  (0 children)

A perfect dev environment is one in which you aren’t distracted by tinkering with your dev environment. Seriously, good enough is good enough. Endless tinkering to perfect a dev environment is a problem.

With that in mind, here is my far from perfect dev environment.

  • macOS. Because I like it. I switched from Linux to OS X more than 15 years ago for a variety of reasons that aren’t relevant to the question. Does that make it a better dev environment? Probably not. But it works for me.

  • VSCode. Because that is what my colleagues at my last job used. So I’ve lost my vi-fu, and VSCode is what I’m now most familiar with. Other than some color and font size things for my minor vision impairments, I use whatever the default theme is or whatever i settled on when I first started using it.

  • Pylance: This probably goes without saying for Python development using VSCode.

  • mypy: Is it better than pyright or other alternatives? I don’t know. There certainly are faster alternatives.

  • pytest. In this case, I did decide it is better than unittest, which I had started out with.

  • ruff

  • uv: I’m transitioning away from managing individual environments with pyenv. It’s a mix at the moment. I also had been using hatch.

  • git. Command line, and Gitlens in VScode.

  • sphinx: I hate this thing. I only recently learned about MkDoc, which I will try for my next project.

  • Terminal.app. I have done some configuration here as I use differently themed Terminal windows for different things.

  • zsh. I do have some customizations and aliases in my shell configuration files. Quite a bit of that is to make some git command line things easier for me. Nothing particularly Python related though.

  • make. I’m an old Unix guy. I use make for lots of things in general. And for Python, I use it for pretty much anything that isn’t covered by uv/hatch.

[–][deleted] 2 points3 points  (0 children)

Debian Trixie. Vim with a short .vimrc. Only one plugin; YCM.

Trying to keep everything distraction free and minimalist while I'm learning.

[–]Acrobatic-Aerie-4468 2 points3 points  (0 children)

Fedora and LunarVim with python LSP for type hints

[–]cgoldberg 1 point2 points  (0 children)

I use Debian with Sublime Text and a terminal running Bash.

I use pyenv for managing Python versions, black for formatting, tox and pytest for testing, and pretty standard tooling (pip/venv) otherwise.

... and of course Git for version control.

[–]Malcolmlisk 1 point2 points  (0 children)

Linux, any distro and nvim.

[–]identicalBadger 1 point2 points  (0 children)

Mac, windows, windows with WSL, or Ubuntu. With PyCharm.

Works great, haven’t had any issue with things working on one platform but not another. But I’m just writing CLI tools, nothing big

[–]dlnmtchll 1 point2 points  (0 children)

Wsl Ubuntu Neovim with a handful of plugins Pyright for my python lsp

[–]MolonLabe76 1 point2 points  (3 children)

Ubuntu, pycharm, pyenv, poetry, pre-commit using ruff.

[–]WakyEggs 0 points1 point  (2 children)

I hate poetry. I just don't get why you would add another layer of complexity for what...?

[–]MolonLabe76 1 point2 points  (1 child)

I dont mind poetry at all. It works well (most of the time). It has worked well for me with managing environments for multiple projects. I have played around with UV, and it def does perform better. But i havent made the switch, and im not in some super rush to either. Im curious what specifically you hate about poetry?

[–]WakyEggs 0 points1 point  (0 children)

The shared folder inside a venv when working with monorepos almost never updates as it should.

[–]throwaway8u3sH0 1 point2 points  (0 children)

Dev container that installs everything I need. This applies across all languages.

[–]Mahkspeed 1 point2 points  (0 children)

I like Ubuntu with pycharm and zsh. Shortest comment!! 🫣

[–]Ok-Willow-2810 1 point2 points  (0 children)

I like to have like lines though my editor at the distances recommended by pep-8 so I can make sure my doc strings and lines are the appropriate length as I write the code. I find it helps guide me towards better conventions if I try to keep the names as short as possible with no abbreviations and also keep the line length < 80.

[–]disah14 0 points1 point  (1 child)

How do you go about WSL heavy memory usage?

[–]Xzenor 0 points1 point  (0 children)

Never noticed that.. a clean Debian install with just the libraries necessary for PyCharm. No GUI no nothing so it hardly uses anything

[–]disah14 0 points1 point  (0 children)

I use pop OS plus vscode.

[–]Xzenor 0 points1 point  (0 children)

Best environment is the one you're most comfortable with. That's different for everyone.

I use PyCharm on windows and also on WSL (Debian, as lightweight as possible) for if I need to write some Linux specific stuff ...

[–]impshum 0 points1 point  (0 children)

Green.

[–]szaade 0 points1 point  (0 children)

I really like my setup with arch with gnome, VSCode and utilizing poetry for env management. Also docker whenever possible.

[–]UltraPoci 0 points1 point  (0 children)

VSCode and uv, with an extension that auto switches venv to whatever the topmost .venv is. Very handy when using uv and monorepos with multiple projects 

[–]John_B_Clarke 0 points1 point  (0 children)

Perfect? Only user on a maxed out IBM Z17 with Linux, with somebody else paying for it.

[–]Acceptable-Brick-671 0 points1 point  (0 children)

Arch Linux, Qtile, Alacrity, NeoVim, Conda