Skip to main content

A sophisticated boilerplate generator based on best practices and modern useful templates

Project description

goli

Build status Python Version Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions

License

A sophisticated boilerplate generator based on best practices and modern useful templates

NOTE: The project is heavily inspired by cookiecutter and aim to make a good collection of modern boilerplate templates that proven useful in the last years.

Why another boilerplate generator?

I like the cookiecutter package and I have been using it for years now. However, the field is changing too fast and many cookiecutter templates that I have been using are now outdated. So I find myself always searching for new templates and wasting time by searching on google, github etc.. for modern templates based on best practices (like which package to use for testing, format etc..)

Hence, I wanted to create this simple tool, where I integrated all useful templates that have proven useful in the last years and which follow best practices in the field.

Please note that goli is not only for python. It can be used with other languages too and I'm planning to add other features in the future.

Installation

pip install -U goli

or install with Poetry

poetry add goli

Then you can run goli --help to show the help message on how to use the package

Usage: goli [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  languages  Show all supported programming languages
  new        Generate new boilerplate code for your project
  topics     Show all supported topics.

As you can see, goli provides three commands. The languages and topics commands are additional to get more information about how to use the package. The new command is the most important and it is used to start a new project. More on that in the next section.

Usage

goli provides the new command, which is used to create a new boilerplate depending on two optional parameters that you need to provide.

  • The language parameter, which indicates the programming language you want to use or you will use for your project. You can check supported languages if you run goli languages

  • The topic parameter, which should indicate the topic of your project. You can check the topics supported by goli if you run goli topics

For example, here is what my command will look like if I'm starting a data science project using python

goli new --language python --topic data-science

or the short version

goli new -l python -t data-science

This will pull the modern cookiecutter-data-science template (https://github.com/drivendata/cookiecutter-data-science) and execute it in your current working directory. So you don't have to search for templates since best practices are already built-in and being updated regularly.

FAQ

I want to add a useful template that I didn't find in goli

If you want to contribute and add templates, just go to goli/cookiecutters.py, add your template as a class member variable and finally add it in the repos dictionary under the corresponding language and topic.

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

goli-0.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

goli-0.1.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file goli-0.1.1.tar.gz.

File metadata

  • Download URL: goli-0.1.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/5.8.0-55-generic

File hashes

Hashes for goli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6d54e73a6158962728a0dee1217b8ecc79f84f92681bb436c3e7173235fe429b
MD5 f6e462c9ec949f4ef17f43ff076f65e2
BLAKE2b-256 12ce177ab5101deff969bb51c34b51ac768cb1a3ba84eb43a44fbe9c2e8c2246

See more details on using hashes here.

File details

Details for the file goli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: goli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/5.8.0-55-generic

File hashes

Hashes for goli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1d097d2ddd1bfc14e7d88f950f1b36e1063038c134d18df484742ac7e5c73efd
MD5 44c63edd93667b9e2c65ae577953ec9d
BLAKE2b-256 8e32bcb52291ee4ac4988333efbd206db94f68e8cc7c440cbf50d110ecfed13a

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