Hi everyone! I'm a student at Politecnico di Milano and I'm trying to refactor a small ML project of mine (~500 LOC) before I get used to bad habits. It runs but the code grew organically and is starting to feel messy. Beyond the basics that everyone mentions (black/ruff, type hints, virtualenvs), what conventions do you find most useful when a Python project grows past a couple of files? Concrete examples appreciated (file layout, where to put config, when to split a function out, simple module vs package, etc.). Thanks! submitted by /u/mattibeltro [link] [comments]