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
Metadata
Release files for ganzo 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ganzo-1.0.0.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ganzo-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / ganzo-1.0.0.tar.gz
| Download URL | ganzo-1.0.0.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15bca8c9ac9a0f3744d019fb6311a8fa5e9cd6a8cae385b4edd8153fcca7e9ac
|
|
BLAKE2b-256 checksum How to use checksums |
194928ff443993e450e73415078069469cb870f1eb5789efce4352957776a6c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.7.16
|
Release files / ganzo-1.0.0-py3-none-any.whl
| Download URL | ganzo-1.0.0-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f63b03afcc3040e22feb8ea6be5d7236e50f7f0cdbca045e14d7e20e506dc4d4
|
|
BLAKE2b-256 checksum How to use checksums |
47029dd7f9ef03bd3cfaec7c8af79feb08c6ca2c9f09f8407e046b11e80a1442
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.7.16
|