I'm writing an introduction to releasing open-source Python projects.
Having recently gone through it for the first time myself, I was
amazed at how far and wide I had to range to pull together all the
information that goes into making a good Python package.? So I thought
I'd write it up and share:
It's tentatively called the "Python Project Howto," and it's aimed at
people who, though not necessarily new to Python, may be new to
packaging and possibly open source. It tries to be succinct and
practical, demonstrating by example.? It covers choosing project
hosting, setting up version control (Subversion basics), code quality
(Pylint) and style (PEP 8), documentation (reStructuredText, Sphinx),
unit testing (doctest and unittest), licensing, packaging (distutils),
and release (PyPI).
One thing I don't want it to be is an exhaustive list of all the
possibilities for each of those areas.? For instance, I cover
reStructuredText and Sphinx, but not epydoc; distutils but not
setuptools. I've tried to pick the simplest, most common among
several options, and sometimes provided a link to others (pip, nose).
I'm trying to Keep It Simple for people just dipping their toes into
the Python ecosystem.? I'd really like to know what people think; it
would be great to get some feedback on it. Thanks!