helps you manage a Python distribution
Project description
Introduction
disthelper is a command line tool that helps you manage a Python distribution. You may want to create Python scripts to automate common maintenance tasks for your project. But where do you put them? Your setup.py script. You can think of setup.py as a “make” tool for Python, although it’s more like how Ian Bicking describes it and less like an actual make tool with targets and dependencies. For example, if you wrote a script to build your project docs and another to upload them, you could run these commands like this from your project directory:
python setup.py build_docs upload_docs
What it does
disthelper just automates the use of distutils so you don’t have to think about how to create a custom setup.py command. It sets up the module / submodule structure, edits your setup.cfg, and adds new command modules as you request them. disthelper doesn’t do anything you couldn’t do by hand.
Install
You can easy_install it:
easy_install disthelper
Or grab the source
Create a command
disthelper is implemented as a Paste extension. Let’s say you want to create this build_docs command I mentioned. cd into your project directory and type:
$ paster distcmd build_docs | ... | ./foo/distcmds/build_docs.py | ...is ready to edit | run as: | python setup.py build_docs |
If you don’t already have a Python package it will prompt you for its name. Assuming you named your package foo, you should see the following layout:
$ ls -R | foo setup.cfg setup.py | | ./foo: | __init__.py distcmds | | ./foo/distcmds: | __init__.py build_docs.py
Your command is ready to run:
$ python setup.py build_docs --help | Global options: | --verbose (-v) run verbosely (default) | --quiet (-q) run quietly (turns verbosity off) | --dry-run (-n) don't actually do anything | --help (-h) show detailed help message | | Options for 'build_docs' command: | --long-option (-l) <help> | --other-long-option (-o) <help> | | usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] | or: setup.py --help [cmd1 cmd2 ...] | or: setup.py --help-commands | or: setup.py cmd --help |
However, it doesn’t do anything useful yet so get to it!
My command disappeared, what do I do?
Unfortunately, distutils will completely ignore any ImportError in your command so one day your command might simply disappear. To check that your command is set up correctly, run:
$ paster distcmd build_docs --check
Other make like tools
disthelper isn’t designed for complex builds, dependency management, etc, it just helps you create maintenance scripts. You may want to check out…
-
Vellum is a simple build tool like make but written in Python using a simple yet flexible YAML based format.
-
A software construction tool
-
System for managing development buildouts
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.