Skip to main content

A command-line tool to create Python Packages.

Project description

Python Packager

A command-line tool to create Python Packages.

It’s intended as a quick way to create new Python packages. It is not a maintenance tool.


$ pip install python-packager
$ pypackager create <mypackage> [options]

This will create a package in your current directory, complete with, AUTHORS and LICENSE files.

License files are generated by lice.


All options can be specified on the command-line. Templates can override this settings by including a file called .package.cfg and users can override everything by creating a config file at ~/.pypackager/pypackager.cfg.

Storing options

To store your options (so you don’t have to type them every time) you can write them into a file called ~/.pypackager/pypackager.cfg:

name = John Smith
email =

type = bsd3
organization = John Smith

prerender = ~/.pypackager/
postrender = ~/.pypackager/

Creating new packages from a template

To create a new package:

$ pypackager create <mypackage> [options]

Options for create


(alias of --author-name)


Required. The author’s full name


Required. The author’s email.


Deletes and recreate the package dir if it’s already existing.


(alias of --license-type)


Required. The license to include in the code. See lice for a list of the available licenses.


Required. The organization licensing the code. Most of the time this will be the same as --author-name


Optional. The template to use. Can be a directory on the filesystem, a URL pointing to a zip or tarball archive, or the name of an installed template. By default is uses the python-package template shipped with Python Packager.

The rendering context will contain every setting specified, plus a package_name variable containing the package name.

Any directory called {{package_name}} will be renamed to the package’s name.


Optional. The language used to render the templates. Options currently available are pystache and jinja2. Defaults to pystache


(alias of --script-prerender)


Optional. If enabled, the specified script will be called before files are rendered from the skeleton. A typical example is a script creating a virtualenv.


Optional. If enabled, the specified script will be called after files are rendered from the skeleton. A typical example is a script initializing a new VCS repository.

Managing templates

You can list, search and download templates from a ‘template channel’.

The following commands are available:

$ pypackager list
$ pypackager search <text>
$ pypackager add <package_name> [<url>]
$ pypackager installed
$ pypackager remove <package_name>



Lists all templates available on the index.


Downloads the specified template to your ~/.pypackager/ directory.

If a URL is specified, downloads the template from there instead of using the index.


Lists templates that have already been downloaded.


Deletes the specified template from your ~/.pypackager/ directory.



Optional. Specifies an alternative index to use.


This software should be considered Alpha.


This project is released under the MIT License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-packager-0.0.9.tar.gz (17.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page