**Mister Bob the Builder** creates directory skeletons.
Documentation
=============
http://mrbob.readthedocs.org/
TODO
====
- [medium] refactor Python API
- [medium] gittip
- [medium] add +var+ folder in template_sample
- [medium] Check how one would implement multi-namespace python package with current mr.bob api
- [low] Ability to configure what to ignore when copying templates in bobconfig (as a hook?)
- [low] better format print questions output (keep order of questions -> use order information like for asking questions)
- [low] document we don't need local commands once answers are remembered (just issue another template on top of current)
- [low] ability to specify variables/defaults to questions from cli
- [maybe] ability to simulate rendering (dry-run)
- [maybe] ability to update/patch templates
Changelog
=========
1.0.1 (2024-02-29)
------------------
- Add support for Python 3.12
[pbauer]
1.0.0 (2022-09-24)
------------------
- Support for Python 3.10, drop Python 2 support.
[pbauer]
0.1.2 (2015-08-19)
------------------
- Add pre_ask and post_ask hooks.
[Godefroid Chapelle]
- Upload tarball instead of zipfile to fix unicode errors
during installation [Domen Kožar]
0.1.1 (2014-03-03)
------------------
- Claim Python 3.4 support
[Domen Kožar]
- Fix encoding errors on Python 3 during installation
[Domen Kožar]
- Use Jinja2 < 2.7 only for python 3.2
[Domen Kožar]
0.1 (2014-03-02)
----------------
- move exceptions to bobexceptions
[Jean-Philippe Camguilhem]
- Use jinja2 < 2.7, since 2.7+ doesn't support Python 3.2
[Domen Kožar]
- Filename variable name substitution regex failed to compile on windows
[Domen Kožar]
- Do not copy ``.DS_Store``.
[Godefroid Chapelle]
- Configure patterns of files to ignore through
``ignored_files`` option of ``mr.bob`` section.
[Godefroid Chapelle]
- Configure patterns of directories to ignore through
``ignored_directories`` option of ``mr.bob`` section.
[Fotis Gimian]
- Added new post-question hook ``mrbob.hooks.to_integer``
[Fotis Gimian]
- Added new post-question hook ``mrbob.hooks.to_decimal``
[Fotis Gimian]
- Added new post-question hook ``mrbob.hooks.validate_choices``
[Fotis Gimian]
- Added new post-question hook ``mrbob.hooks.validate_regex``
[Fotis Gimian]
- Added new pre-question hook ``mrbob.hooks.set_current_datetime``
[Fotis Gimian]
- Added new post-question hook ``mrbob.hooks.validate_datetime``
[Fotis Gimian]
0.1a9 (2013-04-26)
------------------
- Regex to detect variable names when rendering file names was broken when
directory path contains pluses.
[Godefroid Chapelle]
0.1a8 (2013-03-11)
------------------
- Depend on six>=1.2.0
[Domen Kožar]
- Moved all exceptions to `mrbob.exceptions` module
[Domen Kožar]
- Fix loading of zip files
[Domen Kožar]
- #28: Remote loading of config files
[Nejc Zupan]
- #30: Keep newlines of rendered template
[Domen Kožar]
0.1a7 (2013-01-23)
------------------
- Don't depend on argparse in python 2.7 and higher, since it's already
in stdlib
[Domen Kožar]
- #22: Prevent users from specifying target directory inside template dir
[Domen Kožar]
0.1a6 (2013-01-02)
------------------
- Use ``StrictUndefined`` with jinja2 renderer so that any missing key is
reported as an error
[Domen Kožar]
- If a key in a namespace was missing while rendering, no error was raised
[Domen Kožar]
- Added hook ``mrbob.hooks.show_message``
[Domen Kožar]
- ``mrbob.validators.boolean`` renamed to ``mrbob.hooks.to_boolean``
[Domen Kožar]
- Renamed ``validators.py`` to ``hooks.py``
[Domen Kožar]
- Removed ``validators`` and ``action`` settings from ``[questions]`` as it is
superseded by hooks
[Domen Kožar]
- Added ``pre_ask_question`` and ``post_ask_question`` to ``[questions]`` section
[Domen Kožar]
- Added ``pre_render``, ``post_render`` and ``post_render_msg`` options
[Domen Kožar]
- Added ``[defaults]`` section that will override template defaults. The only
difference to ``[variables]`` is that variables provide default answers
[Domen Kožar]
- Moved ``renderer`` parameter to ``[template]`` section
[Domen Kožar]
- Added ``[template]`` section that is parsed only from ``.mrbob.ini`` inside a
template directory.
[Domen Kožar]
- Correctly evaluate boolean of ``quiet`` and ``verbose`` settings
[Domen Kožar]
- Added ``non_interactive`` setting that will not prompt for any input and fail
if any of required questions are not answered
[Domen Kožar]
- Added ``remember_answers`` setting that will create ``.mrbob.ini`` file inside
rendered directory with all the answers written to ``[variables]`` section
[Domen Kožar]
- Include changelog in documentation
[Domen Kožar]
- ``Question`` does no longer raise error if unknown parameter is passed from a
config file. Instead those parameters are saved to ``question.extra`` that can
be later inspected and validated. This is first step to have advanced question
types such as question with a set of predefined answers
[Domen Kožar]
- Rewrite all py.test stuff to nosetests, so we have unified testing now. This
also fixes flake8 segfaults on pypy
[Domen Kožar]
0.1a5 (2012-12-12)
------------------
- #26: Variables were not correctly parsed from config files
[Domen Kožar]
0.1a4 (2012-12-11)
------------------
- Fix MANIFEST.in so that template examples are also included with distribution
[Domen Kožar]
- Add -q/--quiet option to suppress output which isn't strictly necessary
[Sasha Hart]
- Suppress the interactive-mode welcome banner if there are no questions to ask
[Sasha Hart]
- Don't raise KeyError: 'questions_order' if [questions] is missing in an ini
[Sasha Hart]
0.1a3 (2012-11-30)
------------------
- #13: Read user config from ~/.mrbob (as stated in docs and inline comments).
[Andreas Kaiser]
0.1a2 (2012-11-29)
------------------
- #12: Fix unicode errors when using non-ASCII in questions or defaults
[Domen Kožar]
- Ask questions in same order they were
defined in template configuration file
[Domen Kožar]
0.1a1 (2012-10-19)
------------------
- Initial release.
[Domen Kožar, Tom Lazar]
Raw data
{
"_id": null,
"home_page": "https://github.com/collective/mr.bob.git",
"name": "mr.bob",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "template skeleton",
"author": "Domen Kozar, Tom Lazar",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/31/91/5eab5bc12631eed2a20006f014a91ca52b58971223428af0648cc6c0f189/mr.bob-1.0.1.tar.gz",
"platform": null,
"description": "**Mister Bob the Builder** creates directory skeletons.\n\nDocumentation\n=============\n\nhttp://mrbob.readthedocs.org/\n\nTODO\n====\n\n- [medium] refactor Python API\n- [medium] gittip\n- [medium] add +var+ folder in template_sample\n- [medium] Check how one would implement multi-namespace python package with current mr.bob api\n- [low] Ability to configure what to ignore when copying templates in bobconfig (as a hook?)\n- [low] better format print questions output (keep order of questions -> use order information like for asking questions)\n- [low] document we don't need local commands once answers are remembered (just issue another template on top of current)\n- [low] ability to specify variables/defaults to questions from cli\n- [maybe] ability to simulate rendering (dry-run)\n- [maybe] ability to update/patch templates\n\nChangelog\n=========\n\n\n1.0.1 (2024-02-29)\n------------------\n\n- Add support for Python 3.12\n [pbauer]\n\n\n1.0.0 (2022-09-24)\n------------------\n\n- Support for Python 3.10, drop Python 2 support.\n [pbauer]\n\n\n0.1.2 (2015-08-19)\n------------------\n\n- Add pre_ask and post_ask hooks.\n [Godefroid Chapelle]\n\n- Upload tarball instead of zipfile to fix unicode errors\n during installation [Domen Ko\u017ear]\n\n\n0.1.1 (2014-03-03)\n------------------\n\n- Claim Python 3.4 support\n [Domen Ko\u017ear]\n\n- Fix encoding errors on Python 3 during installation\n [Domen Ko\u017ear]\n\n- Use Jinja2 < 2.7 only for python 3.2\n [Domen Ko\u017ear]\n\n\n0.1 (2014-03-02)\n----------------\n\n- move exceptions to bobexceptions\n [Jean-Philippe Camguilhem]\n\n- Use jinja2 < 2.7, since 2.7+ doesn't support Python 3.2\n [Domen Ko\u017ear]\n\n- Filename variable name substitution regex failed to compile on windows\n [Domen Ko\u017ear]\n\n- Do not copy ``.DS_Store``.\n [Godefroid Chapelle]\n\n- Configure patterns of files to ignore through\n ``ignored_files`` option of ``mr.bob`` section.\n [Godefroid Chapelle]\n\n- Configure patterns of directories to ignore through\n ``ignored_directories`` option of ``mr.bob`` section.\n [Fotis Gimian]\n\n- Added new post-question hook ``mrbob.hooks.to_integer``\n [Fotis Gimian]\n\n- Added new post-question hook ``mrbob.hooks.to_decimal``\n [Fotis Gimian]\n\n- Added new post-question hook ``mrbob.hooks.validate_choices``\n [Fotis Gimian]\n\n- Added new post-question hook ``mrbob.hooks.validate_regex``\n [Fotis Gimian]\n\n- Added new pre-question hook ``mrbob.hooks.set_current_datetime``\n [Fotis Gimian]\n\n- Added new post-question hook ``mrbob.hooks.validate_datetime``\n [Fotis Gimian]\n\n\n0.1a9 (2013-04-26)\n------------------\n\n- Regex to detect variable names when rendering file names was broken when\n directory path contains pluses.\n [Godefroid Chapelle]\n\n\n0.1a8 (2013-03-11)\n------------------\n\n- Depend on six>=1.2.0\n [Domen Ko\u017ear]\n\n- Moved all exceptions to `mrbob.exceptions` module\n [Domen Ko\u017ear]\n\n- Fix loading of zip files\n [Domen Ko\u017ear]\n\n- #28: Remote loading of config files\n [Nejc Zupan]\n\n- #30: Keep newlines of rendered template\n [Domen Ko\u017ear]\n\n\n0.1a7 (2013-01-23)\n------------------\n\n- Don't depend on argparse in python 2.7 and higher, since it's already\n in stdlib\n [Domen Ko\u017ear]\n\n- #22: Prevent users from specifying target directory inside template dir\n [Domen Ko\u017ear]\n\n\n0.1a6 (2013-01-02)\n------------------\n\n- Use ``StrictUndefined`` with jinja2 renderer so that any missing key is\n reported as an error\n [Domen Ko\u017ear]\n\n- If a key in a namespace was missing while rendering, no error was raised\n [Domen Ko\u017ear]\n\n- Added hook ``mrbob.hooks.show_message``\n [Domen Ko\u017ear]\n\n- ``mrbob.validators.boolean`` renamed to ``mrbob.hooks.to_boolean``\n [Domen Ko\u017ear]\n\n- Renamed ``validators.py`` to ``hooks.py``\n [Domen Ko\u017ear]\n\n- Removed ``validators`` and ``action`` settings from ``[questions]`` as it is\n superseded by hooks\n [Domen Ko\u017ear]\n\n- Added ``pre_ask_question`` and ``post_ask_question`` to ``[questions]`` section\n [Domen Ko\u017ear]\n\n- Added ``pre_render``, ``post_render`` and ``post_render_msg`` options\n [Domen Ko\u017ear]\n\n- Added ``[defaults]`` section that will override template defaults. The only\n difference to ``[variables]`` is that variables provide default answers\n [Domen Ko\u017ear]\n\n- Moved ``renderer`` parameter to ``[template]`` section\n [Domen Ko\u017ear]\n\n- Added ``[template]`` section that is parsed only from ``.mrbob.ini`` inside a\n template directory.\n [Domen Ko\u017ear]\n\n- Correctly evaluate boolean of ``quiet`` and ``verbose`` settings\n [Domen Ko\u017ear]\n\n- Added ``non_interactive`` setting that will not prompt for any input and fail\n if any of required questions are not answered\n [Domen Ko\u017ear]\n\n- Added ``remember_answers`` setting that will create ``.mrbob.ini`` file inside\n rendered directory with all the answers written to ``[variables]`` section\n [Domen Ko\u017ear]\n\n- Include changelog in documentation\n [Domen Ko\u017ear]\n\n- ``Question`` does no longer raise error if unknown parameter is passed from a\n config file. Instead those parameters are saved to ``question.extra`` that can\n be later inspected and validated. This is first step to have advanced question\n types such as question with a set of predefined answers\n [Domen Ko\u017ear]\n\n- Rewrite all py.test stuff to nosetests, so we have unified testing now. This\n also fixes flake8 segfaults on pypy\n [Domen Ko\u017ear]\n\n\n0.1a5 (2012-12-12)\n------------------\n\n- #26: Variables were not correctly parsed from config files\n [Domen Ko\u017ear]\n\n\n0.1a4 (2012-12-11)\n------------------\n\n- Fix MANIFEST.in so that template examples are also included with distribution\n [Domen Ko\u017ear]\n\n- Add -q/--quiet option to suppress output which isn't strictly necessary\n [Sasha Hart]\n\n- Suppress the interactive-mode welcome banner if there are no questions to ask\n [Sasha Hart]\n\n- Don't raise KeyError: 'questions_order' if [questions] is missing in an ini\n [Sasha Hart]\n\n\n0.1a3 (2012-11-30)\n------------------\n\n- #13: Read user config from ~/.mrbob (as stated in docs and inline comments).\n [Andreas Kaiser]\n\n\n0.1a2 (2012-11-29)\n------------------\n\n- #12: Fix unicode errors when using non-ASCII in questions or defaults\n [Domen Ko\u017ear]\n\n- Ask questions in same order they were\n defined in template configuration file\n [Domen Ko\u017ear]\n\n\n0.1a1 (2012-10-19)\n------------------\n\n- Initial release.\n [Domen Ko\u017ear, Tom Lazar]\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Bob renders directory structure templates",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/collective/mr.bob.git"
},
"split_keywords": [
"template",
"skeleton"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1d9461cfa3edc5a14f3591025871091233f48ce2e3febd1f25d0d13cd8e4f7c6",
"md5": "43a743ffc79ccaafaed1da31f5fa0683",
"sha256": "49af102bf3a7f247ab3be6031878997b9d6a425ee11f4592a73d0b397b41d654"
},
"downloads": -1,
"filename": "mr.bob-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "43a743ffc79ccaafaed1da31f5fa0683",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 37482,
"upload_time": "2024-02-29T08:47:21",
"upload_time_iso_8601": "2024-02-29T08:47:21.947197Z",
"url": "https://files.pythonhosted.org/packages/1d/94/61cfa3edc5a14f3591025871091233f48ce2e3febd1f25d0d13cd8e4f7c6/mr.bob-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "31915eab5bc12631eed2a20006f014a91ca52b58971223428af0648cc6c0f189",
"md5": "a8b14444642ccf4d3b5996f7f34f34fe",
"sha256": "ab70b17c2b79e3321d0c2530a951395bb0f62f2b7c5ecb6fa00e04231b12d2d5"
},
"downloads": -1,
"filename": "mr.bob-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "a8b14444642ccf4d3b5996f7f34f34fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 65130,
"upload_time": "2024-02-29T08:47:23",
"upload_time_iso_8601": "2024-02-29T08:47:23.915458Z",
"url": "https://files.pythonhosted.org/packages/31/91/5eab5bc12631eed2a20006f014a91ca52b58971223428af0648cc6c0f189/mr.bob-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-29 08:47:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "collective",
"github_project": "mr.bob",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "mr.bob"
}