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.

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

(alias of --template-dir)

--template-dir

Optional. The template to use. Can be directory on the filesystem, 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 download <package_name>
$ pypackager remove <package_name>

Commands

list

Lists all available templates.

download

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

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.

Source Distribution

python-packager-0.0.4.tar.gz (15.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page