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.
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
.
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 = [email protected] [license] type = bsd3 organization = John Smith [scripts] prerender = ~/.pypackager/my_prerender_script.sh postrender = ~/.pypackager/my_postrender_script.sh
To create a new package:
$ pypackager create <mypackage> [options]
(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.
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.
Lists available templates on the index whose name contains the specified text.
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.