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.

Source Distribution

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

Uploaded Source

File details

Details for the file python-packager-0.0.9.tar.gz.

File metadata

File hashes

Hashes for python-packager-0.0.9.tar.gz
Algorithm Hash digest
SHA256 373bb73a798016dcbc58aa485a8e0fcb58714494615026d951ecdd92938da638
MD5 81827b04e9c1a20b189e1fdf543d7aec
BLAKE2b-256 bed4962959c092cc1c0f47afb7d1f3c53de9faf1a7061be7908c5c8d5dfd3ab6

See more details on using hashes here.

Supported by

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