python-package-template (pypack)

Provides a command to easily create a standard Python package layout (i.e. README, package directory, etc.), following the Hitchhiker's Guide to Packaging.


  • Creates a complete Python package template, ready for creating distribution files and uploading to the Python package index (PyPI).
  • Uses Distribute by default.
  • template, with inclusion of README and other standard files, as well as ignoring of dist/ directory that gets created when building the the package's distribution files.
  • No external dependencies, only relies on Python standard library.


  1. Run pypack, specifying the name of your new package (optionally, use command line options to provide additional information, see pypack -h).

    1. If you want to create a new Python package in an existing directory, just specify the desired Python package name:

      pypack mynewpackage
    2. If you want to specify different directory, you may optionally use the -t (or --target) option to specify a target, non-existent directory:

      pypack mynewpackage -t /new/path
  2. Review/edit the generated files

  3. Add your code, documentation, etc.

  4. Create distribution tarball:

    cd mynewpackage
    python sdist
  5. Register project on PyPI:

    python register
  6. Upload to PyPI:

    python sdist upload


  • Sphinx documentation layout, or at least an option to create a docs directory.
  • Support for a license file, allowing selection from a list of common open-source license templates
  • GitHub and Bitbucket compatibility for displaying readme file
  • git/hg ignore files
  • Allow use of config file to specify default options for author, license, etc.
  • An interactive option that prompts for needed info.
  • Add support for a package with a single module and no package.