PyPi Packaging with PyScaffolding
pip install PyScaffold or
pyscaffold) is awesome tooling. It adds a nice
putup command to your shell. The
putup command creates a boiler-plate directory structure for any python project. It can even set up .tox and .travis test config files, documentation build scripts, and a django project for you, if you ask it to. And it is very git aware. The only thing I add to my git hooks is a pandoc line to translate my
README.rst so that both my github-trained fingers and ReST-loving PyPi can be happy.
PyScaffold splits your setup configuration into to files,
setup.cfg. Obviously all your edits should go into
setup.cfg. I love the way it gives you examples for creating shell console scripts that automatically install in the users path when someone
pip installs your package. For the
guten package I used this to create command line scripts to launch daemons that can train a bot on massive bodies of text like the Gutenberg Project.
So here’s what I did for
sbd, a sentence boundary detector by Kyle Gorman that I needed up on pypi for my
putup --with-tox --with-travis --with-pre-commit --with-numpydoc -l 'mit' -d 'Repackaged sentence boundary detection by Kyle Gorman (originally named "DetectorMorse")' sbd
This will name you as the author and copyright holder, so that’s the first thing I needed to change to give Kyle the credit for his state-of-the-art sentence segmenter. So edit the AUTHORS.rst file. That brings me to my pre-commit hook. My hook makes sure I never have to write ReST files and instead can stick to GitHub-flavored markdown. But I just edited a
*.rst file. Anyway copy this hook to your hooks folder if you want to have your README.rst sync up with README.md on every commit. to ‘ve been copying my hooks from one project to the next