Project creator (from templates)
Project description
Ganzo
Creates new project from templates stored in git repositories.
How to use?
Ganzo assumes the existence of a folder $HOME/.ganzo
containing the configuration.
/$HOME
/.ganzo
configuration.json
Example configuration.json
:
{
"gcs_bucket_name": "<gcs_bucket_name>" // Google Cloud Storage bucket where the template list is stored.
}
Then check how to use ganzo in from commandline.
$ ganzo -h
Templates
Templates are store in a directory containing a templates.list
file which contains a template entry per line.
The templates.list
file for the previous directory should list all the templates available.
# Content of templates.list
<template_name> <template_git_url> <template_git_branch>
app git@github.com:organozation/project_app.git main
list https://github.com/organozation/project_list.git dev
Variable resolution
Files with extension .nzo
are candidates for variable resolution,
which will replace variables within the files with project specific values.
# Content of README.md.nzo
This projects name is ${PROJECT_NAME}.
Currently the only available variable for resolution is PROJECT_NAME
.
Legacy Templates (version <= 0.5.0)
Templates are store in a directory containing a templates.list
file,
which contains a template name per line.
/path/to/templates
templates.list
/app
/code
pyproject.toml
...
/lib
/scripts
README.md.nzo
...
The templates.list
file for the previous directory should list all the templates available.
# Content of templates.list
<template_name>
app
list
Each templates directory will be fully copied as part of loading the template for a new project.
Development
Python virtual environment
Create and load a virtual environement.
python -m venv .venv
source .venv/bin/activate
Install
Install all dependencies in editable mode.
make install
Misc
Check what other shortcuts are available.
make help
Areas of improvement
- Support for custom variables.
- Directory structure changes based on variables.
- Improve coverage of core and resolvers.
- Improve error handling and messages
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
Built Distribution
File details
Details for the file ganzo-1.0.0.tar.gz
.
File metadata
- Download URL: ganzo-1.0.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15bca8c9ac9a0f3744d019fb6311a8fa5e9cd6a8cae385b4edd8153fcca7e9ac |
|
MD5 | 25ea4c48ff3dc630cf55f7e74571f03a |
|
BLAKE2b-256 | 194928ff443993e450e73415078069469cb870f1eb5789efce4352957776a6c2 |
File details
Details for the file ganzo-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: ganzo-1.0.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f63b03afcc3040e22feb8ea6be5d7236e50f7f0cdbca045e14d7e20e506dc4d4 |
|
MD5 | 4a9b0b6ca1580fa468ec5728d626705a |
|
BLAKE2b-256 | 47029dd7f9ef03bd3cfaec7c8af79feb08c6ca2c9f09f8407e046b11e80a1442 |