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 repo
scope. Also remember to enable SSO for your token.
Note
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 protected]: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
command. temple ls <github_user_or_org>
will list all available templates under a Github user or org.
temple ls <github_user_or_org> <[email protected]: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
repositories.
If a template is ever updated, changes can be pulled into a project with:
temple update
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.
Note that 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