Skip to main content

Code generator for automating configuration, setup, and yak shaving.

Project description

qwikstart: Code generator for fun and profit

https://img.shields.io/badge/License-BSD%203--Clause-blue.svg https://travis-ci.com/tonysyu/qwikstart.svg?branch=master https://codecov.io/gh/tonysyu/qwikstart/branch/master/graph/badge.svg https://readthedocs.org/projects/qwikstart/badge/

qwikstart is a code generator for integrating code into existing projects. It’s similar to code generators like cookiecutter, yeoman, and hygen but with a focus on adding code to existing projects.

A simple hello-world.yml script in qwikstart would look something like:

steps:
    "Ask for name":
        name: prompt
        inputs:
            - name: "name"
              default: "World"
    "Display message":
        name: echo
        message: |

            Hello, {{ qwikstart.name }}!

The first step uses the prompt operation with a single input "name", with a default value of "World" (which is editable when running the script). The next step just uses the echo operation to display a message. This script can be using qwikstart run:

$ qwikstart run hello-world.yml

Please enter the following information:
name: World

Hello, World!

Install

The recommended way of installing qwikstart is to use pipx:

pipx install qwikstart

If you happen to be setting up pipx for the first time, the pipx installation instructions suggest running pipx ensurepath to update the user path. Note, if you use ~/.profile instead of ~/.bash_profile, this will add ~/.bash_profile, which will take precendence over ~/.profile. Either move the code from ~/.bash_profile to ~/.profile or link your profiles.

Basic Usage

After installing qwikstart, you can run a simple hello-world example using the following:

$ qwikstart run --repo https://github.com/tonysyu/qwikstart examples/hello_world.yml

By default, there are abbreviations for common git repos, so the above can also be written:

qwikstart run --repo gh:tonysyu/qwikstart examples/hello_world.yml

See Also

There are a lot code generators and scaffolding tools out there, and the following is just a selection of some of the most popular ones:

  • cookiecutter: A command-line utility that creates projects from cookiecutters (project templates)

  • hygen: The scalable code generator that saves you time.

  • yeoman: The web’s scaffolding tool for modern webapps

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

qwikstart-0.8.0.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

qwikstart-0.8.0-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

Details for the file qwikstart-0.8.0.tar.gz.

File metadata

  • Download URL: qwikstart-0.8.0.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/20.6.0

File hashes

Hashes for qwikstart-0.8.0.tar.gz
Algorithm Hash digest
SHA256 6e1dea20a09621626d9cd0d2f7e7cf7e87e5ac5a6e7711a9dbe6d3f54e59b0ae
MD5 92787303d130fbd4051eecbcc13b93b4
BLAKE2b-256 77485c2f72a3414e9ae9694f079f57bb92226050a37bc79f9177db95a01c74b8

See more details on using hashes here.

File details

Details for the file qwikstart-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: qwikstart-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/20.6.0

File hashes

Hashes for qwikstart-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9aec379d31e0afe2c0a5e49329c15ae47d468370a9cd9eec81dfe355d4b467a
MD5 9abd4fd3b536e9583036d5acaf947884
BLAKE2b-256 6c9074e995594b318fd5aa7af809b7b74c8b54b81ff5f4a9967ebadaa612f738

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