I started making a tool for doing the zero config releases. It's not done yet, but it is almost able to release itself.
https://github.com/illume/pyrelease (still not sure it's a good idea... but maybe) Usage: pyrelease [optional folder defaults to current working directory] The basic steps are these. - Gather facts. (much like ansible if you know it) - Create setup.py files in a temp folder - build sdist - Upload files to pypi - tag a new version in git. The three use cases I'm aiming to make it work with. ----- singlefile.py ---- mygame/game.py data/ ----- singlefile.py test_singlefile.py ----- It should support single file modules, packages, and also /data/ folders. As well it supports making a script automatically if it finds a main(). As well it finds dependencies by parsing the python code (I'll add requirements.txt later). So if you import pygame, click, flask etc... it adds them to install_requires in the setup.py. - I want to add logging of facts. eg. 'Found author: "Rene" in ~/.gitrc". Could not find autor in ~/.hgrc - Suggest additions for missing things. eg. How to create a pypi account, how to make ~.pypirc, git. - Have to make uploading to pypi easier, especially when things go wrong. - thinking of removing the setuptools dependency... only thing I use it for is find_packages so far. I've been writing another more modern implementation of that anyway. - Pynsist support (or py2exe, pyinstaller, whatever) - tests, and tests against test . pypi . python . org - "add setup files into this repo" for when the tool fails to be good enough. - notice telling people to go to packaging. python .org if they want more - decide on convention for screenshots (probably screenshots/ folder) - bitbucket, and better hg support. - pyweek upload support. - try releasing a few more things with it. - watch some other people try and use it. A nice thing about it was I was easily able to rename the project three times. Just by renaming files and folders. Anyway... I'll try another day on it and see how it turns out.