Simple and lightweight code generator engine written in python
Project description
Koodu, simple code generator engine written in python.
Koodu
Koodu is a simple universal code generator. It allows users to generate codes with the same structure in several projects to save time. Koodu allows users to follow the DRY(Don't Repeat Youself) philosophy, i.e. instead of writing the same code several times, write a template once and use it on several models to generate different code efficiently.
Installation
from code source
Clone this repository and run:
$ python -m pip install .
from the index
$ pip install koodu
Usage as CLI
List the available templates
$ koodu list templates
List the available models
$ koodu list models
generate code using a template and et model
$ koodu generate -t fastapi -m blog -o ./examples/blog
The path to template can be replace directly with build in template such as fastapi
or flask
Usage as python library
Koodu can also be used as python library as follows:
import json
from pathlib import Path
from koodu.generator import Generator
with open(Path("./koodu/models/blog.json"), "r", encoding="utf-8") as fp:
model = json.loads(fp.read())
template_path = Path("./koodu/templates/fastapi")
output_path = Path("./examples/blog")
generator = Generator(
model=model,
template_folder=template_path,
output=Path(args.output)
)
for file in generator.render():
file.write()
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 koodu-0.0.5.tar.gz
.
File metadata
- Download URL: koodu-0.0.5.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.4 Linux/5.15.0-117-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da1c1fe09a726c4c517f048af7174445ab06ccee516ec905a724353a0fbdcb0e |
|
MD5 | a5e5a3b422ba6d33df6dbbf85b534229 |
|
BLAKE2b-256 | 5ce4a8cb821caea19fc0f7088b6a2dbd83b41b26af7e497be3bc8d1aa5c4bd9d |
File details
Details for the file koodu-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: koodu-0.0.5-py3-none-any.whl
- Upload date:
- Size: 38.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.4 Linux/5.15.0-117-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 504d93d9f87e1274133e605b921659451200212184af5a7955e4f808a235bd45 |
|
MD5 | ea22786291f570e8dc2e040146adbc31 |
|
BLAKE2b-256 | 46a4e8412a52c85c2b43e48ff939f396aa302b822eee142c2fb172e2a16cde6d |