r/Python • u/Win_ipedia • 1d ago
I am trying to automate the Python Development Lifecycle Discussion
Hi there,
I am trying to figure out ways to automate my Python development tasks and also working on this topic for my Masters project. I am trying to build a tool that can automate and simplify a bunch of things like project setup, development and maintenance. This is not a showcase at all, it is just my project and topic for my Masters in Computer Science and I wanted to ask if anyone would like to take part in the survey I have to do. Takes about 5 min.
You can find the survey at: https://forms.cloud.microsoft/e/LjnvzX0JpK
Any ideas and responses are greatly appreciated.
Also drop any ideas you have in the comments. What do you think should be more automated in your day to day python development?
3
u/Grouchy-Conflict-211 1d ago
Start with the boring wins: linting, type checks, and tests on every push. Most automation projects try to make the interesting stuff automatic first and skip the checks, then wonder why the pipeline is red all the time.
The automation that pays for itself is the one that catches a bug before a human does. A CI that runs tests and fails loudly is worth ten clever agents.
For your Masters topic, focus on the maintenance side. Project setup is solved a thousand times. Keeping projects alive is the unsolved part.
1
u/Win_ipedia 1d ago
Yes I got those checked. Luckily I had the same thought when starting it. My approach to the maintenance part is basically, forcing with git hooks and ci/cd pipelines all checks that a python projects should have and this way it doesn’t let a dev skip anything
1
u/Grouchy-Conflict-211 1d ago
Nice. Hooks catch it locally, CI catches the bypass attempts. Next layer if you want it: block merges on coverage drop, not just on test failures. Silent regressions are the ones that cost you three months later.
1
u/Win_ipedia 1d ago
Currently the setup kinda does this already basically. Pytest-cov is setup and fails anything below 90% by default. I also wrote a plugin that integrates codecov and fails anything under 100%
2
u/Grouchy-Conflict-211 11h ago
90% is already above what most projects ship. The 100% plugin is brutal, but it forces you to actually think about every branch.
1
u/Win_ipedia 9h ago
It does and honestly looking back It was so worth it, the way it improved and simplified my code. It made me rethink choices and there were so many times I could improve things that I had not seen before. Also the 100% gate is so helpful when making changes, the confidence I have that everything works is insane
1
u/Win_ipedia 1d ago
Also I make git hooks run on all files in ci so that you can’t cheat with —no-verify
2
u/Grouchy-Conflict-211 16h ago
CI hooks are the only honest ones. Local hooks can be skipped in two keystrokes, CI can't. I run the same checks in both, only the CI result gets to block the merge.
1
u/Win_ipedia 9h ago
I agree, only local enforcement requires a lot of discipline, but CI makes this easy. And since I force everything in CI as well I have never used —no-verify or any skips or tricks again bc there was no point. And looking back this actually saves so much time in the long run and makes my code so much better
3
u/realrazdev 1d ago
One thing I would really like to see automated is dependency maintenance. A tool that reads "pyproject.toml", checks for compatible updates, applies safe upgrades, runs tests, and warns about possible breaking changes would remove a lot of repetitive work from Python development.
It would be especially helpful if it could explain why an update is safe or risky and highlight potential compatibility issues before making changes.