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.

Usage:

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

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

License files are generated by lice.

Options

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:

[author]
name = John Smith
email = john.smith@example.com

[license]
type = bsd3
organization = John Smith

[scripts]
prerender = ~/.pypackager/my_prerender_script.sh
postrender = ~/.pypackager/my_postrender_script.sh

Creating new packages from a template

To create a new package:

$ pypackager create <mypackage> [options]

Options for create

--author

(alias of --author-name)

--author-name

Required. The author’s full name

--author-email

Required. The author’s email.

--force

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

--license

(alias of --license-type)

--license-type

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

--license-organization

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

--template

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.

--template-syntax

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

--script

(alias of --script-prerender)

--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.

--script-postrender

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>

Commands

list

Lists all templates available on the index.

add

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

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

installed

Lists templates that have already been downloaded.

remove

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

Options

--index

Optional. Specifies an alternative index to use.

Status

This software should be considered Alpha.

License

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
python-packager-0.0.9.tar.gz (17.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page