Skip to main content

Easy to use tool for painless project layout templating

Project description

ver. 1.0 beta

Very simple templating engine for directories & files structures.

Creating project structure is not thing I’m doing everyday. Nevertheless when I’m doing it I always feel frustrated that I don’t have anything prepared. Or when I use some third parties templates I’m pissed off when “all I need to do is clone repo, remove .git directory, clean README…” and so on. Using such things is hard because all those templates has also some dynamic parts (like SECRET_KEY in django project).

How it works?

myfancy_template/                                                      simpleapp/
  |-- config.py                 $> boil myfancy_template simpleapp        |-- __init__.py
  `-- tmpl/                     =================================>        `-- simpleapp.py
        |-- __init__.py
        `-- _$project_name$_.py

Boilerplate simply creates project / app structure on the given template basis. You can configurate context variables (only variables) which you can use everywhere in your templates, even in files or directories structures.

How to install?

  1. Pip:

    $> pip install boilerplate
  2. Download and install:

    $> python setup.py install
  3. Or directly from github:

    $> pip install -e git+git://github.com/jqb/boilerplate.git#egg=boilerplate

You need to have root privileges to install it in system packages.

Set up BOILERPLATE_TEMPLATES environ variable to tell boilerplate where it should search for your custom templates. It should be setup in your <dot>-file, eg in your .bashrc

export BOILERPLATE_TEMPLATES=$HOME/.boilerplate_temlplates

Usage

Boilerplate comes with “boil” command line. Here’s how you might use it.

  1. listing existing templates:

    $> boil -l     # show list of all available templates, you can also type "boil --list"
  2. creating new project from existing template:

    $> boil <template-name> <project-name>
    
    
    ``project_name`` and ``template_name`` variables are always available your
    template context.
  3. creating new project template:

    $> cd $BOILERPLATE_TEMPLATES
    $> boil boil_template my_first_template

This is what you gonna get:

$BOILERPLATE_TEMPLATES/my_first_template/
   |-- __init__.py
   |-- config.py    # meta information about template, context variables for template engine
   `-- tmpl/        # template directory, name "tmpl" will be replaced with "project_name"
         `-- my_fancy_template_readme.txt
  1. using my new project template:

    $> boil my_first_template myproject

TODO

  • docs for all features available via Configuration objects

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

boilerplate-1.0-beta.tar.gz (19.3 kB view details)

Uploaded Source

File details

Details for the file boilerplate-1.0-beta.tar.gz.

File metadata

File hashes

Hashes for boilerplate-1.0-beta.tar.gz
Algorithm Hash digest
SHA256 b82bd5543019937fe4848f51c0a164ce7eb395d0c8007384f47f85e12bdc8003
MD5 bf6ceea0c842b47f00ae001db2312b19
BLAKE2b-256 4e9f724fb1e27e9f7628aa31b64b0a1412260a4dfcbc00290c8bbcf8aaf4e900

See more details on using hashes here.

Supported by

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