Skip to main content

Simple and lightweight code generator engine written in python

Project description

Koodu

Koodu, simple code generator engine written in python.

Package version Supported Python versions PyPI - Downloads PyPI - License

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

koodu-0.0.5.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

koodu-0.0.5-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

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

Hashes for koodu-0.0.5.tar.gz
Algorithm Hash digest
SHA256 da1c1fe09a726c4c517f048af7174445ab06ccee516ec905a724353a0fbdcb0e
MD5 a5e5a3b422ba6d33df6dbbf85b534229
BLAKE2b-256 5ce4a8cb821caea19fc0f7088b6a2dbd83b41b26af7e497be3bc8d1aa5c4bd9d

See more details on using hashes here.

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

Hashes for koodu-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 504d93d9f87e1274133e605b921659451200212184af5a7955e4f808a235bd45
MD5 ea22786291f570e8dc2e040146adbc31
BLAKE2b-256 46a4e8412a52c85c2b43e48ff939f396aa302b822eee142c2fb172e2a16cde6d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page