{ "info": { "author": "Michael Lenaghan", "author_email": "metamul -@- gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "======================\nMuL App Engine Recipes\n======================\n\n.. image:: https://readthedocs.org/projects/pip/badge/\n :target: https://mulrecipeappengine.readthedocs.org\n\n.. image:: https://img.shields.io/pypi/v/mul.recipe.appengine.svg\n :target: https://pypi.python.org/pypi/mul.recipe.appengine\n\n.. image:: https://img.shields.io/travis/michaellenaghan/mul.recipe.appengine.svg\n :target: https://travis-ci.org/michaellenaghan/mul.recipe.appengine\n\n\nBuildout recipes for App Engine.\n\n=====================\nApp Engine SDK Recipe\n=====================\n\nGiven a URL pointing to a Google App Engine Python SDK zip file, this recipe\na) downloads the file and b) unzips the file and c) creates top-level Python\nscripts that invoke corresponding top-level SDK scripts.\n\nDownloading uses and respects the options in the ``buildout.cfg``'s\n``buildout`` section. Specifically, downloaded files are cached in the\n``download-cache`` directory and files are never downloaded in ``offline``\nmode.\n\nThe downloaded file (cached or not) is unzipped into the recipe's part\ndirectory. The top level of the SDK directory is then scanned for Python\nscripts. For each SDK script a corresponding script is generated\nand placed in buildout's ``bin-directory``. The generated script simply invokes\nthe SDK script, passing along arguments. Buildout's ``relative-paths`` option\nis respected. Or, at least, it should be.\n\nThe list of generated scripts can be filtered using the ``scripts`` option. By\ndefault its value is '*'. If a '*' appears anywhere in the list all scripts\nwill be generated. Otherwise, only those scripts mentioned in the option\n(with or without a '.py' extension) will be generated.\n\nOptions\n-------\n\n:scripts: A space-delimited list of Python script names or '*'.\n The default is '*'.\n:url: The url to the Google App Engine Python SDK zip file.\n Required.\n\nExample\n-------\n\n::\n\n [sdk]\n recipe = mul.recipe.appengine:sdk\n\n url = \\\n https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.21.zip\n\n=====================\nApp Engine Lib Recipe\n=====================\n\nGiven a list of eggs, this recipe a) computes their working set and then b)\ncopies that working set into the specified ``lib-directory``. (This recipe\nonly copies eggs; it doesn't download or install them.) The ``lib-directory``\nis created each time the part is installed and deleted each time the part\nis uninstalled.\n\nEggs are copied unless they're in the ``ignore-eggs`` list. The top-level\npackages of each egg are copied unless they're in the ``ignore-packages`` list.\nThe files and directories of each package are copied unless they're in the\n``ignore-files`` list. The ``ignore-files`` list supports globs. You must, of\ncourse, filter packages and files with care; eggs aren't written to expect\nthat kind of install-time surgery.\n\nWhen an egg is copied its egg-info is also copied. The egg-info can be used\nfor example by pkg_resources to locate package resources at runtime. The\negg-info is copied in a manor similar to ``setup.py``'s\n``--single-version-externally-managed`` install option; the egg-info\ndirectories are siblings of the package directories.\n\nThe eggs that are copied can be either zipped or unzipped.\n\nOptions\n-------\n\n:eggs: A newline-delimited list of eggs to copy.\n The default is an empty list.\n:ignore-eggs: A newline-delimited list of eggs to ignore when copying.\n The default is an empty list.\n:ignore-packages: A newline-delimited list of packages to ignore when copying.\n The default is an empty list.\n:ignore-files: A newline-delimited list of file globs to ignore when copying.\n The default is an empty list.\n:lib-directory: The directory to copy the egg-info and packages to.\n Required.\n\nExample\n-------\n\n::\n\n [lib]\n recipe = mul.recipe.appengine:lib\n\n eggs =\n pyramid\n pyramid_debugtoolbar\n ignore-eggs =\n MyEgg\n ignore-packages =\n easy_install\n setuptools\n site\n ignore-files =\n *.c\n *.h\n *.pyc\n *.pyo\n *.so\n test\n tests\n testsuite\n lib-directory = develop/MyEgg/lib\n\n\n\n=======\nHistory\n=======\n\n0.4.0 (2015-06-01)\n------------------\n\n* Fixes & Simplifications.\n\n0.3.0 (2015-05-31)\n------------------\n\n* Configuration tweaks.\n\n0.2.0 (2015-05-31)\n------------------\n\n* Documentation tweaks.\n\n0.1.0 (2015-05-31)\n------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/michaellenaghan/mul.recipe.appengine", "keywords": "app appengine buildout engine gae mul recipe zc.buildout", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "mul.recipe.appengine", "package_url": "https://pypi.org/project/mul.recipe.appengine/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mul.recipe.appengine/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/michaellenaghan/mul.recipe.appengine" }, "release_url": "https://pypi.org/project/mul.recipe.appengine/0.4.0/", "requires_dist": null, "requires_python": null, "summary": "Buildout recipes for App Engine.", "version": "0.4.0" }, "last_serial": 1574135, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "62811097b7fceb489c365f2b3569dbd0", "sha256": "7e7b569b1583287bffa70155954664fde2606beb342cbb21163d1f8671aec48e" }, "downloads": -1, "filename": "mul.recipe.appengine-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62811097b7fceb489c365f2b3569dbd0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8199, "upload_time": "2015-05-31T20:23:51", "url": "https://files.pythonhosted.org/packages/92/28/ff162ec9b4202a7f1bc6460d7d9dcea272774a51badb3d2ac3356b22430a/mul.recipe.appengine-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8565016a2c492d2b009b0528ab5bc63", "sha256": "a090a7b8f0525fc324a09de3e5ca7e418d9db74412a8fa770f56c8d101fd2df4" }, "downloads": -1, "filename": "mul.recipe.appengine-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e8565016a2c492d2b009b0528ab5bc63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14211, "upload_time": "2015-05-31T20:23:47", "url": "https://files.pythonhosted.org/packages/31/a4/0d3788c118e17fc0f4dd846354627ba0e9d1a122ad55a863f15140bbf4ea/mul.recipe.appengine-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9d2b7773dce641bf310b8a22e1b3314a", "sha256": "700ab077b7070932c4b44a9ffca3a30f245ef9b96870ba4cf0d712b4d0ff3cb5" }, "downloads": -1, "filename": "mul.recipe.appengine-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d2b7773dce641bf310b8a22e1b3314a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10841, "upload_time": "2015-05-31T20:51:21", "url": "https://files.pythonhosted.org/packages/64/95/f8e6d7aa9d9cd074e9065bb9c00248076a95c41d1b91124f6ea58f807c95/mul.recipe.appengine-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e7edfc153f2c51da537c8b07ede6215", "sha256": "90a9958e6ba8246d82c1ae59ed1d8671f8cf921c73632e6a6a57ef1c0d31b6a2" }, "downloads": -1, "filename": "mul.recipe.appengine-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2e7edfc153f2c51da537c8b07ede6215", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15674, "upload_time": "2015-05-31T20:51:17", "url": "https://files.pythonhosted.org/packages/58/ce/6a8e1def6201101bc1ad8d18802b8d3f692701286f2cd6e015d287971051/mul.recipe.appengine-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "55e98467204a476334dddce2ecf70592", "sha256": "039ba76cf86e6d1108a4d44ae60ab1a8fa8116dbc6a31d5d075eb1b9d37a234b" }, "downloads": -1, "filename": "mul.recipe.appengine-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "55e98467204a476334dddce2ecf70592", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12728, "upload_time": "2015-05-31T21:18:46", "url": "https://files.pythonhosted.org/packages/0f/ab/2a2529f888b9620ed5b2ab6401931fa78341d304ca640454189192d9a545/mul.recipe.appengine-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b47d1e898d0589b3eb963616ebbdf486", "sha256": "b406130b5adf1028805bfd8191a8d2259cd2836bf1b917f106b853c6d3ff8a67" }, "downloads": -1, "filename": "mul.recipe.appengine-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b47d1e898d0589b3eb963616ebbdf486", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16140, "upload_time": "2015-05-31T21:18:42", "url": "https://files.pythonhosted.org/packages/4c/3b/e27ef628bdc7165d9a5bda17fa0e8381710dfa38d2498ce826280f925ebd/mul.recipe.appengine-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e637d4a0d21120784e53e36404b18cce", "sha256": "7ee505e89a052730e407e026ea13608d4f00f97c8a8a8ae58cd949d3080e04f4" }, "downloads": -1, "filename": "mul.recipe.appengine-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e637d4a0d21120784e53e36404b18cce", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10894, "upload_time": "2015-06-02T00:55:57", "url": "https://files.pythonhosted.org/packages/55/f3/12491d67c58454c8d2725e30e27a728e77f92e5b5484f648e024afa9b41f/mul.recipe.appengine-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6912af7a5a376a4f251dc69df85f9d49", "sha256": "101fc7cda1c54c095fbff73fd9e8ce16a53b531cf96f43feea80abc80927cde1" }, "downloads": -1, "filename": "mul.recipe.appengine-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6912af7a5a376a4f251dc69df85f9d49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15963, "upload_time": "2015-06-02T00:54:55", "url": "https://files.pythonhosted.org/packages/27/7f/aad06131b247e0d7b0da9a9bdc3b04e3a5187ec3e47e01c4d0839a6154ac/mul.recipe.appengine-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e637d4a0d21120784e53e36404b18cce", "sha256": "7ee505e89a052730e407e026ea13608d4f00f97c8a8a8ae58cd949d3080e04f4" }, "downloads": -1, "filename": "mul.recipe.appengine-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e637d4a0d21120784e53e36404b18cce", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10894, "upload_time": "2015-06-02T00:55:57", "url": "https://files.pythonhosted.org/packages/55/f3/12491d67c58454c8d2725e30e27a728e77f92e5b5484f648e024afa9b41f/mul.recipe.appengine-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6912af7a5a376a4f251dc69df85f9d49", "sha256": "101fc7cda1c54c095fbff73fd9e8ce16a53b531cf96f43feea80abc80927cde1" }, "downloads": -1, "filename": "mul.recipe.appengine-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6912af7a5a376a4f251dc69df85f9d49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15963, "upload_time": "2015-06-02T00:54:55", "url": "https://files.pythonhosted.org/packages/27/7f/aad06131b247e0d7b0da9a9bdc3b04e3a5187ec3e47e01c4d0839a6154ac/mul.recipe.appengine-0.4.0.tar.gz" } ] }