{ "info": { "author": "Damien Lebrun", "author_email": "dinoboff@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1" ], "description": "`skeleton` is similar to the template part of PasteScript_ but \nwithout any dependencies; it is also compatible with Python 3.\n\nRequirements\n============\n\n- Python 2.6 or 3.1\n\nIt currently only has been tested with Python 2.6 and 3.1 on Mac OSX.\n\n\nInstallation\n============\n\nThe easiest way to get skeleton is if you have setuptools / distribute_ or pip_ installed::\n\n\teasy_install skeleton\n\nor::\n\n\tpip install skeleton\n\nThe current development version can be found at \nhttp://github.com/dinoboff/skeleton/tarball/master.\n\n\nUsage example\n=============\n\nLet's create a basic module template; one with a `setup.py`, a `README` and the \nmodule files.\n\nFirst, create the skeleton script layout::\n\n\tmkmodule.py\n\tbasic-module/README\n\tbasic-module/setup.py_tmpl\n\tbasic-module/{module_name}.py\n\n`mkmodule.py`\n-------------\n\n`mkmodule.py` is the script that create new modules::\n\n\n\t#!/usr/bin/env python\n\t\"\"\"\n\tBasic script to create an empty python package containing one module\n\t\"\"\"\n\tfrom skeleton import Skeleton, Var\n\n\n\tclass BasicModule(Skeleton):\n\t \"\"\"\n\t Create an empty module with its etup script and a README file.\n\t \"\"\"\n\t src = 'basic-module'\n\t variables = [\n\t Var('module_name'),\n\t Var('author'),\n\t Var('author_email'),\n\t ]\n\n\n\tdef main():\n\t \"\"\"Basic command line bootstrap for the BasicModule Skeleton\"\"\"\n\t BasicModule.cmd()\n\n\tif __name__ == '__main__':\n\t main()\n\n\nThe `src` attribute sets the relative path to the skeleton directory where the \nscript will find the files and directories to create.\n\nThe `variables` attribute list the variables the templates will require.\nThe variables with a default can be left blank by the user.\n\n`Skeleton.cmd()` is a convenient method to set an optparser and \nthe logging basic config, and to apply the skeleton::\n\n\n\tUsage: mkmodule.py [options] dst_dir\n\n\tOptions:\n\t -h, --help show this help message and exit\n\t -q, --quiet \n\t -v, --verbose \n\t -d, --debug \n\t --module-name=NAME Module Name\n\t --author=AUTHOR Author\n\t --author-email=EMAIL Author Email\n\n\nIf you needed to run a `Skeleton` yourself, you would use the \nconstructor, the `update` or `__setitem__` methods to set the variables\n(`Skeleton` is a `dict` subclass), and the `write(dst_dir)` or `run(dst_dir)`\nmethods to apply the skeleton. `write()` will raise a `KeyException` if a \nvariable is not set; `run()` will prompt the user for the missing variables\n\n\n`basic-module/README`\n---------------------\n\n`README` a is static file that will simply be copied::\n\n\tTODO: write the description of this module.\n\t\n`basic-module/setup.py_tmpl`\n----------------------------\n\n`setup.py_tmpl` is a template (it ends with the _tmpl suffix) that will be used\nto create a `setup.py` file::\n\n\t#!/usr/bin/env python\n\n\tfrom distutils.core import setup\n\n\n\tPROJECT = {module_name!r}\n\tVERSION = '0.1'\n\tAUTHOR = {author!r}\n\tAUTHOR_EMAIL = {author_email!r}\n\tDESC = \"A short description...\"\n\n\tsetup(\n\t name=PROJECT,\n\t version=VERSION,\n\t description=DESC,\n\t long_description=open('README.rst').read(),\n\t author=AUTHOR,\n\t author_email=AUTHOR_EMAIL,\n\t py_module=[{module_name!r},],\n\t)\n\nBy default, `Skeleton` uses python 2.6+ `string formatting`_.\n\n`basic-module/{module_name}.py`\n-------------------------------\n\n`{module_name}.py` is the module file for which the name will be set dynamically\nat run time.\n\n.. NOTE::\n\tAll file names are formatted using `Skeleton.template_formatter` method.\n\tWatch out for special characters (with the default formatter,\n\tuse `{{` to render `{` and `}}` for `}` - unless you want to render\n\ta variable).\n\nExtra\n=====\n\n`skeleton` includes a skeleton for a basic package layout, you can \nrun it with::\n\n\tpython -m skeleton.examples.basicpackage \n\nor with `virtualenvwrapper.project`. Install it::\n\n\tpip install skeleton[virtualenv-templates]\n\nConfigure virtualenvwrapper_ and virtualenwrapper.project_; then,\ncreate a new project::\n\n\tmkproject -t package \n\n\nTodo:\n=====\n\n- add more examples.\n\n\nDevelopment\n===========\n\nReport any issues and fork `squeleton` at\nhttp://github.com/dinoboff/skeleton/ .\n\n\n\n.. _PasteScript: http://pythonpaste.org/script/\n.. _pip: http://pip.openplans.org/\n.. _distribute: http://packages.python.org/distribute/\n.. _string formatting: http://docs.python.org/library/functions.html#format\n.. _virtualenwrapper.project: http://www.doughellmann.com/projects/virtualenvwrapper.project/\n.. _virtualenvwrapper: http://www.doughellmann.com/projects/virtualenvwrapper/\n\n\nHistory\n=======\n\n0.6 (Mai 12, 2010)\n--------------------\n\n- Add `skeleton.insert_into_file()`.\n- Add `skeleton.Bool`.\n- Rename `Skeleton.skel_dir` to `Skeleton.real_dir`.\n- Rename `Skelton.vars` to `Skeleton.variables`.\n- Rename `Skeleton.check_vars` to `Skeleton.check_variables`.\n- `Skeleton` constructor can take any mapping object not just `Skeleton`.\n- Add Var.valiadte(response) to validate user imput.\n- Rename Var.prompt() to Var.do_prompt(). Var.prompt is now a property\n returning the message to prompt.\n \n0.7 will be the last minor release before version 1.0. Any backward \nincompatible changes between versions 0.6 and 1.0 will be marked by\nwarnings in 0.7. \n\n\n0.5.1 (Mai 11, 2010)\n--------------------\n\n- Fix syntax error in the package virtualenvwrapper.project extension.\n\n\n0.5 (Mai 10, 2010)\n------------------\n\n- Drop Python 2.5 support (might get basic support back).\n- Various internal changes prior to 1.0 release.\n- Improve error related to unexpected variable names in templates\n and file names\n\n\n0.4 (Mai 8, 2010)\n-----------------\n\n- Convert Var names to lower_case_with_underscores.\n- improve Var name display in command\n- improve long string option for Vars in command line.\n- fix bug in setup.py_tmpl of the mkmodule.py example.\n\n\n0.3 (Mai 6, 2010)\n-----------------\n\n- New class method, `Skeleton.cmd` to create the logger and optparser.\n- `Skeleton.run` doesn't set the logger and optparser anymore.\n- `Skeleton.write` raises a KeyError exception if a key is missing\n instead of prompting the user.\n- Removed the `pre_run`, `post_write` and `pre_write` methods. Overwrite\n the `write` and `run` instead.\n- Added configure_parser() to configure the parser set by `Skeleton.cmd`.\n- Add required_skeleton attribute to Skeleton. These skeleton will be run\n before the main. They all share the same entries.\n- Added verbose options to the Skeleton optparser.\n- Added a basic package template extension for `virtualenwrapper.project`.\n\n\n0.2.1 (Mai 2, 2010):\n--------------------\n\n- Fix bug with Var._prompt static method which was preventing the prompt for \n variable assignement.\n\n\n0.2 (Mai 1, 2010):\n-------------------\n\n- Add python 3 support.\n\n\n0.1 (April 31, 2010):\n----------------------\n\n- first release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://dinoboff.github.com/skeleton", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "skeleton", "package_url": "https://pypi.org/project/skeleton/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/skeleton/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://dinoboff.github.com/skeleton" }, "release_url": "https://pypi.org/project/skeleton/0.6/", "requires_dist": null, "requires_python": null, "summary": "Basic Template system for project skeleton.", "version": "0.6" }, "last_serial": 799631, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5ced48500e773f005d2efa8eb7ed01be", "sha256": "178cd184ba6757643b5b0e4ddb4ba9170fbf11bcddfa434e299ccc273e0a0d5b" }, "downloads": -1, "filename": "skeleton-0.1.tar.gz", "has_sig": false, "md5_digest": "5ced48500e773f005d2efa8eb7ed01be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18039, "upload_time": "2010-05-01T02:46:22", "url": "https://files.pythonhosted.org/packages/f1/5c/b97cea4d7eafda2c499b996feebbb837e8d8cb96ad4ed59063253ccc6f9e/skeleton-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "fca3f513e3d3ca1db514fdec93f413a5", "sha256": "f310b81e6caa4ff2de998f1c08039c938448477292e4d1fe9f6defc6b7c84193" }, "downloads": -1, "filename": "skeleton-0.2-py3.1.egg", "has_sig": false, "md5_digest": "fca3f513e3d3ca1db514fdec93f413a5", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 42035, "upload_time": "2010-05-01T23:31:00", "url": "https://files.pythonhosted.org/packages/09/2c/2fb4cf0f784a6fc7f1565ca067c04c07422e71e04ba421607af0518f9221/skeleton-0.2-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "aceb6d53d1ccdbd180611f97bbdecf4c", "sha256": "d2083bd0a37eb16d5ad91c0e178f12731ce60a65e851dc412d9f367cebd5e93b" }, "downloads": -1, "filename": "skeleton-0.2.tar.gz", "has_sig": false, "md5_digest": "aceb6d53d1ccdbd180611f97bbdecf4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19444, "upload_time": "2010-05-01T23:15:45", "url": "https://files.pythonhosted.org/packages/11/ab/4ed183826ffcd2c43c895d5accf28f4fd170e38c5da33d6755cfe5f74e5d/skeleton-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d94c9d81720bece2135d698b20f4e44e", "sha256": "36e472037e1da286de7ce306be5a115a8d19bb4357ce5c9ac96da6bc455c1a63" }, "downloads": -1, "filename": "skeleton-0.2.1-py3.1.egg", "has_sig": false, "md5_digest": "d94c9d81720bece2135d698b20f4e44e", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 42231, "upload_time": "2010-05-02T16:00:50", "url": "https://files.pythonhosted.org/packages/a9/84/0d0c199741fe233c8c3d51a6d2459d1cc5a45d183a03eb84e88d9978f3d7/skeleton-0.2.1-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "10a01317413e0a02a20eda9764788bcb", "sha256": "4df918d2f7ed9c3860e6a1cc65b0285730b238718f390f318cecb2b54142b958" }, "downloads": -1, "filename": "skeleton-0.2.1.tar.gz", "has_sig": false, "md5_digest": "10a01317413e0a02a20eda9764788bcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19463, "upload_time": "2010-05-02T16:00:32", "url": "https://files.pythonhosted.org/packages/40/7d/9806b1afbac608d185ad7955937d791e8989756f4e6ab0003ad5a66d4eda/skeleton-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "9e8ce568141b8781155ccb6e358785fb", "sha256": "7bdc6eaf63dcc567d6e9078628faee3ba47348585016dac3f7899f2d3cae84fb" }, "downloads": -1, "filename": "skeleton-0.3-py3.1.egg", "has_sig": false, "md5_digest": "9e8ce568141b8781155ccb6e358785fb", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 96145, "upload_time": "2010-05-06T03:08:05", "url": "https://files.pythonhosted.org/packages/81/8f/2b8306b7b8c1c7440560491e5c21c915ea38e6ab662d98697fc926b76a8b/skeleton-0.3-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "58445b42729159d88f92ef1bb6c97afd", "sha256": "65eeeef7735c5ed839955b7a2f5baf03f5053228bccead8bc07cb9315f1727ab" }, "downloads": -1, "filename": "skeleton-0.3.tar.gz", "has_sig": false, "md5_digest": "58445b42729159d88f92ef1bb6c97afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53434, "upload_time": "2010-05-06T03:07:42", "url": "https://files.pythonhosted.org/packages/d4/c9/c76b97082f6dfce18167f6bbc8932564fedfae42a25d34d11c11bbe44b9f/skeleton-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "538e5c95505fef91bd9160627e1300ff", "sha256": "2a86d54c832aee41496ab21edc06b3c71ea28aa0c1b57071766fe4a6b8bc7919" }, "downloads": -1, "filename": "skeleton-0.4-py3.1.egg", "has_sig": false, "md5_digest": "538e5c95505fef91bd9160627e1300ff", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 97950, "upload_time": "2010-05-08T05:37:48", "url": "https://files.pythonhosted.org/packages/93/07/082c6c7bd6c182cc98c137385d7062f02c639fab13c0d6e49b0e93eb6057/skeleton-0.4-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "1c5ab3201b4365e0e2990102816db386", "sha256": "aa67e2faeb9ad53468ade4543deec3e7b08d232e729836e6828fdc8e6b0f29c3" }, "downloads": -1, "filename": "skeleton-0.4.tar.gz", "has_sig": false, "md5_digest": "1c5ab3201b4365e0e2990102816db386", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54779, "upload_time": "2010-05-08T05:37:44", "url": "https://files.pythonhosted.org/packages/f4/26/b4528652fa8821a14da705a2fad0e799e99b23b60da7556e7e739bfa5125/skeleton-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d0b3dfdbfbe0bd2f4e323e0b3376f8e8", "sha256": "b88cc5ecd365099c9785d017be0ad00d6f9dd97d0e14782eafa44eb2415d2109" }, "downloads": -1, "filename": "skeleton-0.5-py3.1.egg", "has_sig": false, "md5_digest": "d0b3dfdbfbe0bd2f4e323e0b3376f8e8", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 95860, "upload_time": "2010-05-10T04:14:07", "url": "https://files.pythonhosted.org/packages/32/8e/22b151f1e73e3f5bce64c0ff9dd33e8eb65977fed06b93ed8f8f2a670f0c/skeleton-0.5-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "147408966770665d913fe90e100de586", "sha256": "7b5d3b2290ec9e052ca04a43b659b61a91be336eb99a1f01006ac99db3f15164" }, "downloads": -1, "filename": "skeleton-0.5.tar.gz", "has_sig": false, "md5_digest": "147408966770665d913fe90e100de586", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55298, "upload_time": "2010-05-10T04:14:02", "url": "https://files.pythonhosted.org/packages/ea/1f/f846ebabe2045c739fbfeeffa41dd72da52ae731eaf91349535971021c5e/skeleton-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "db987b160b92c28c743d5e319cfb7c9e", "sha256": "88869b01b49d74fa9e9987dbeb17c7c55171b028cdfe4be1403df3a08617b049" }, "downloads": -1, "filename": "skeleton-0.5.1-py3.1.egg", "has_sig": false, "md5_digest": "db987b160b92c28c743d5e319cfb7c9e", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 95895, "upload_time": "2010-05-11T16:15:30", "url": "https://files.pythonhosted.org/packages/d1/b9/00d50a096b594f7732ae4d83aec2e7a82bb406a3b7cb7ea19fc007794e54/skeleton-0.5.1-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "02dab786710bec2da03e642c8eee6e31", "sha256": "98378d0496e0ebddcf002d28a249c3aff532038ce17cc00b075fe12f49f91126" }, "downloads": -1, "filename": "skeleton-0.5.1.tar.gz", "has_sig": false, "md5_digest": "02dab786710bec2da03e642c8eee6e31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55414, "upload_time": "2010-05-11T16:15:25", "url": "https://files.pythonhosted.org/packages/e1/7b/9e14611a3397993ad1481cf464fb26ca3b2bb8ffea66d35a391a8be7ade0/skeleton-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "4ca80a762db01692ae13b5535658e8a0", "sha256": "b7fbf7b122e75e99bc32de1ad0a7d1316c951dc1ce4203568334709d75658ce3" }, "downloads": -1, "filename": "skeleton-0.6-py3.1.egg", "has_sig": false, "md5_digest": "4ca80a762db01692ae13b5535658e8a0", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 98562, "upload_time": "2010-05-12T01:01:44", "url": "https://files.pythonhosted.org/packages/bc/1f/e4194b54f8dc215806f1a2cc4dcc8a98242a0d6b0db8c82da13f6983be8f/skeleton-0.6-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "8fed3ba159c8725fe964321e987c0c8a", "sha256": "ade7815fe1878e3083b4e7ba954373439227df5e7123c125cbe5c87f85a31516" }, "downloads": -1, "filename": "skeleton-0.6.tar.gz", "has_sig": false, "md5_digest": "8fed3ba159c8725fe964321e987c0c8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61656, "upload_time": "2010-05-12T01:01:40", "url": "https://files.pythonhosted.org/packages/b2/e7/1e55141ec76bd6f29b8b4a216112c8f1bc1d41375f427bc98c6098174b39/skeleton-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4ca80a762db01692ae13b5535658e8a0", "sha256": "b7fbf7b122e75e99bc32de1ad0a7d1316c951dc1ce4203568334709d75658ce3" }, "downloads": -1, "filename": "skeleton-0.6-py3.1.egg", "has_sig": false, "md5_digest": "4ca80a762db01692ae13b5535658e8a0", "packagetype": "bdist_egg", "python_version": "3.1", "requires_python": null, "size": 98562, "upload_time": "2010-05-12T01:01:44", "url": "https://files.pythonhosted.org/packages/bc/1f/e4194b54f8dc215806f1a2cc4dcc8a98242a0d6b0db8c82da13f6983be8f/skeleton-0.6-py3.1.egg" }, { "comment_text": "", "digests": { "md5": "8fed3ba159c8725fe964321e987c0c8a", "sha256": "ade7815fe1878e3083b4e7ba954373439227df5e7123c125cbe5c87f85a31516" }, "downloads": -1, "filename": "skeleton-0.6.tar.gz", "has_sig": false, "md5_digest": "8fed3ba159c8725fe964321e987c0c8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61656, "upload_time": "2010-05-12T01:01:40", "url": "https://files.pythonhosted.org/packages/b2/e7/1e55141ec76bd6f29b8b4a216112c8f1bc1d41375f427bc98c6098174b39/skeleton-0.6.tar.gz" } ] }