Differences between revisions 9 and 13 (spanning 4 versions)
Revision 9 as of 2013-09-11 04:35:49
Size: 2250
Editor: pydanny
Comment: Grammar and punctuation corrections.
Revision 13 as of 2021-04-06 09:22:20
Size: 1943
Editor: ProfMilki
Comment: Use MM syntax for cookiedough link.
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
A skeleton builder tools are tools that takes a directory skeleton, copies over its directory structure to a target folder and can use a templating engine to dynamically generate the files. A skeleton builder tools are tools that takes a directory skeleton, copies over its directory structure to a target folder and uses a template engine to dynamically generate the files.
Line 5: Line 5:
Keywords : skleton, scaffolding… In alphabetical order:
Line 7: Line 7:
 * [[http://mrbob.readthedocs.org/en/latest/|mr.bob]] (the more powerful)
 * [[http://cookiecutter.readthedocs.org/en/latest/|Cookiecutter]] (Also very powerful, with a huge community)
 * [[http://harobed.github.io/echafaudage/|Echafaudage]] (very simple tool with few feature)

Deprecated libraries:

 * [[http://templer-manual.readthedocs.org/en/latest/index.html|Tembler]] (depreciated, replaced by mr.bob)
 * [[http://pythonpaste.org/script/|Paste Script]] (depreciated, replaced by mr.bob and pcreate in Pyramid framework)


More information:

 * mr.bob:
   * use Jinja2 template engine
   * config file is in ini format
   * specific feature : pre, post [[http://mrbob.readthedocs.org/en/latest/templateauthor.html#hooks|hooks]]
 * Cookiecutter:
 * [[http://cookiecutter.readthedocs.org/en/latest/|Cookiecutter]]
Line 28: Line 12:
  * [[https://github.com/audreyr/cookiecutter#features|Full feature set]]
 * Echafaudage :
  * List of [[https://github.com/audreyr/cookiecutter#features|Full feature set]]
  * 3rd-party: [[https://pypi.org/project/cookiedough/|cookiedough]] GUI browser/installer with ~4150 cookiecutter templates.
 * [[https://docs.djangoproject.com/en/1.5/intro/tutorial01/|django-admin.py startproject]]
  *(limited to [[https://docs.djangoproject.com/|Django]] framework)
 * [[http://harobed.github.io/echafaudage/|Echafaudage]]
Line 33: Line 20:
 * [[http://mrbob.readthedocs.org/en/latest/|mr.bob]]
   * use Jinja2 template engine
   * config file is in ini format
   * specific feature : pre, post [[http://mrbob.readthedocs.org/en/latest/templateauthor.html#hooks|hooks]]
 * [[http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html?highlight=pcreate|pcreate]] (limited to [[http://pyramid.readthedocs.org/en/latest/|Pyramid]] framework)
 * [[http://pythonpaste.org/script/|Paste Script]]
Line 37: Line 29:
 * [[https://pypi.python.org/pypi/modern-package-template/|modern-package-template]] (depreciated, replaced by mr.bob)
Line 39: Line 30:

=== Framework specific ===

 * [[http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html?highlight=pcreate|pcreate]] (limited to [[http://pyramid.readthedocs.org/en/latest/|Pyramid]] framework)
 * [[https://docs.djangoproject.com/en/1.5/intro/tutorial01/|django-admin.py startproject]] (limited to [[https://docs.djangoproject.com/|Django]] framework)
 * [[https://pypi.python.org/pypi/modern-package-template/|modern-package-template]] (deprecated)

Skeleton Builder Tools

A skeleton builder tools are tools that takes a directory skeleton, copies over its directory structure to a target folder and uses a template engine to dynamically generate the files.

In alphabetical order:

  • Cookiecutter

    • uses Jinja2 template engine.
    • config file can be in either json and yaml formats.
    • Tested for use with Python 3.3, 2.7, 2.6, Linux, Mac OS X, and Windows.
    • Extremely popular, with over 30 community contributed templates available for Python, Django, Flask, JavaScript, Ruby, C, Open Stack, and HTML.

  • django-admin.py startproject

    • (limited to Django framework)

  • Echafaudage

    • use tempita template engine

    • config file is in json format
    • specific feature : standalone file executable directly with python -c "$(curl ...)"
  • mr.bob

    • use Jinja2 template engine
    • config file is in ini format
    • specific feature : pre, post hooks

  • pcreate (limited to Pyramid framework)

  • Paste Script

Limited to package creation

SkeletonBuilderTools (last edited 2021-04-06 09:22:20 by ProfMilki)

Unable to edit the page? See the FrontPage for instructions.