Differences between revisions 5 and 11 (spanning 6 versions)
Revision 5 as of 2013-08-29 20:07:11
Size: 1075
Comment:
Revision 11 as of 2013-09-22 13:42:15
Size: 1816
Editor: pydanny
Comment: Removal of opinion from article, and further deletion of incorrect content sourced to http://mrbob.readthedocs.org but not matched anywhere else
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]]
 * [[http://templer-manual.readthedocs.org/en/latest/index.html|Tembler]]
 * [[http://pythonpaste.org/script/|Paste Script]]
Line 11: Line 8:
   * 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.
  * List of [[https://github.com/audreyr/cookiecutter#features|Full feature set]]
 * [[https://docs.djangoproject.com/en/1.5/intro/tutorial01/|django-admin.py startproject]]
  *(limited to [[https://docs.djangoproject.com/|Django]] framework)
Line 12: Line 16:
   * use [[http://pythonpaste.org/tempita/|tempita]] template engine
   * config file is in json format
   * specific feature : standalone file executable directly with python -c "$(curl ...)"
 * [[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 15: Line 28:
 * [[https://pypi.python.org/pypi/modern-package-template/|modern-package-template]]

=== 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://github.com/fcurella/python-packager|python-packager]]
 * [[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.