On 16 Jan 2014 18:08, "Paul Moore" <p.f.moore@gmail.com> wrote:
On 16 January 2014 01:25, Chris Jerdonek <chris.jerdonek@gmail.com> wrote:
Is there a description somewhere of the plan for what packaging-related information will be covered in docs.python.org proper (and the stages for getting there), and which information will be off-loaded to the documentation for the other projects that Marcus mentioned?
I don't have a clear picture of the split myself but it seems to me that docs.python.org should be the master reference data for *distutils*. That's somewhat screwed, though, as we're recommending use of setuptools, and setuptools messes round so invasively with distutils that the usefulness of pure distutils documentation is limited :-(
I'm currently thinking the stdlib docs should aim to be an always available reminder/quick reference for end users, and a full reference for packaging and build tool developers. For the end user reference, tutorials, etc, it would defer to the cross version guide.
I still think that the best resource available would be a basic "best practice" project template for a simple pure-python package with a few tests. I started putting one together myself (https://github.com/pfmoore/sampleproject). It's basically done, but I'm not sure how it (or something like it) could be incorporated into the docs. At the moment, I tend to use it as a cut-and-paste starting point, and I suspect that most people have something similar. Also, it makes me a bit sad how complicated the setup.py ended up looking (given that it was supposed to be a "minimum starting point" example...
Maybe if pip gets support for plugin commands, I could write a "pip new-project" command that generates an empty project template. That might be a good place for it - although it takes pip away from being a pure package management tool and into more of a project development tool, which maybe isn't right. I'd rather not add yet another tool to my "essential staring point for building a project" toolset, though...
Audrey Roy's "cookiecutter" project is just such a tool (although her default config is far from minimal - setup.py, GitHub, ReadTheDocs, tox, Travis, documentation skeleton, etc. It's all reasonable recommendations, though) Cheers, Nick.
Paul