temple - Templated project management
Temple provides templated project creation and management.
The main functionality of temple includes:
- Creating new projects from cookiecutter templates.
- Listing all available templates under a github user / org along with all projects created from those templates.
- Keeping projects up to date with the template as it changes.
View the temple docs here. A quick start and installation overview is provied below.
temple can be installed with:
pip3 install temple
Most temple functionality requires a
GITHUB_API_TOKEN environment variable to be set.
The Github API token is a personal token that you create
by following the Github Access Token Instructions.
This token only requires
Temple requires a Github API token for listing available templates, starting new projects, and updating a project with a template. However, project templates themselves might have other setup requirements. Consult the documentation of templates you want to use for your projects for information about other installation and setup required.
Projects are setup by temple with:
temple setup <email@example.com:user/cookiecutter-template.git>
Temple uses cookiecutter to gather user input and create the initial project scaffolding. cookiecutter hooks can be used to do additional project setup, such as publishing it to a remote Github repository or configuring continuous integration.
Once a project is set up and published to Github, temple-created projects can be listed with the
temple ls <github_user_or_org> will list all available templates under a Github user or org.
temple ls <github_user_or_org> <firstname.lastname@example.org:user/cookiecutter-template.git> will list all projects
created using a particular template. Note that
temple ls -l will print off descriptions of the returned
If a template is ever updated, changes can be pulled into a project with:
This will diff the changes in the new template and apply them to your repository. You will have to add and push these changes yourself. Note to lookout for "*.rej" files after updating. These are lines that could not automatically be applied to your repository, and you should look into them to see if they should be applied.
temple update --check can be used to check if the project is up to date with the latest template.
For information on setting up temple for development and contributing changes, view CONTRIBUTING.rst.
- @wesleykendall (Wes Kendall)
- @gwax (George Leslie-Waksman)
Other contributors can be found in the AUTHORS file