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 hashes)

Uploaded Source

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