{ "info": { "author": "Asko Soukka", "author_email": "asko.soukka@iki.fi", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "venusianconfiguration\n=====================\n\nThis package (**venusianconfiguration**) provides venusian_ based Python\nconfiguration syntax for `zope.configuration`_ as an alternative to zcml.\nThis package does not replace **zope.configuration** like **grok** used to do,\nbut just provides generic Python bindings for existing zope.configuration\ndirectives.\nSo, venusianconfiguration is more an alternative to grok than it is to\nzope.configuration.\n\nThe current status of this package can be described as *already in internal\nuse, but maybe not yet ready for the community*.\n\n.. _venusian: https://pypi.python.org/pypi/venusian\n.. _zope.configuration: https://pypi.python.org/pypi/zope.configuration\n\n.. image:: https://travis-ci.org/datakurre/collective.venusianconfig.png\n :target: http://travis-ci.org/datakurre/collective.venusianconfig\n\nThe good:\n\n.. code:: python\n\n from venusianconfiguration import configure\n\n configure.i18n.registerTranslations(directory='locales')\n\n @configure.browser.page.klass(\n name='hello-world', for_=Interface,\n permission='zope2.View')\n class HelloWorld(BrowserView):\n def __call__(self):\n return u'Hello world!'\n\n @configure.plone.behavior.provides(\n title=_(u'My behavior),\n description=_(u'Enables magic'))\n class IMyBehavior(model.Schema):\n custom_field = schema.TextLine()\n alsoProvides(IMyBehavior, IFormFieldProvider)\n\nThe bad:\n\n.. code:: python\n\n from venusianconfiguration import scan\n from venusianconfiguration import configure\n\n from mypackage import browser\n scan(browser)\n\n import zcmlpackage\n configure.include(package=zcmlpackage)\n\n import otherpypackage\n configure.include(package=otherpypackage, file='configure.py')\n\n import mypackage.submodule\n configure.include(package=mypackage.submodule,\n file='configure.py')\n\nThe ugly:\n\n**zope.configuration** is mostly syntax-agnostic, but unfortunately\nZCML has been the only implemented syntax for it and we have also\nused to call its ZCML-specific API directly (e.g. in test fixtures\nand in z3c.autoinclude).\n\nTherefore a new zope.configuration syntax cannot be introduced outside\nzope.configuration without monkeypatching...\n\n**venusianconfiguration** works by monkeypatching the processxmlfile\nmethod in **zope.configuration**'s ZCML-support to accept also Python\nfiles pass those to venusianconfiguration to process.\n\nTo support **z3c.autoinclude**, **venusianconfiguration** also monkeypatches\nz3c.autoincludes's includePluginsDirective and includePluginsOveridesDirective\n(includeDependencies-directive is considered evil and is intentionally left\nunsupported).\n\nSo, three monkeypatches in total for zcml-free configuration.\n\n\nUsage\n-----\n\n.. code:: ini\n\n [instance]\n recipe = plone.recipe.zope2instance\n ...\n eggs =\n ...\n venusianconfiguration\n zope-conf-additional =\n # Enable venuasianconfiguration monkeypatches\n %import venusianconfiguration\n\nFor more examples, look into the demo-package included in the sources.\n\n\nTroubleshooting\n---------------\n\nBecause the configuration now written in Python, your add-on must have its\nnamespaces packages properly defined in its setup.py. E.g. add-on called\nmy.product would have following namespace package definition:\n\n.. code:: python\n\n setup(\n ...\n namespace_packages=['my'],\n ...\n )\n\nEven there's no ZCML, the add-on must be registered to be configured. This can\nbe done by adding the usual z3c.autoinclude-entrypoint into add-on's setup.py:\n\n.. code:: python\n\n setup(\n ...\n entry_points=\"\"\"\n # -*- Entry points: -*-\n [z3c.autoinclude.plugin]\n target = plone\n \"\"\"\n )\n\nAn alternative would be to add the package into the zcml-option of your\nPlone instance's buildout-part for plone.recipe.zope2instance:\n\n.. code:: ini\n\n [instance]\n recipe=plone.recipe.zope2instance\n ...\n zcml = my.product\n\n\n\n\nChangelog\n=========\n\n1.1.1 (2018-11-07)\n------------------\n\n- Add faceted namespace\n [datakurre]\n\n1.1.0 (2018-01-17)\n------------------\n\n- Drop z3c.autoinclude plugin entrypoint for plone to fix issues with where\n z3c.autoinclude included wrong packages on and pip-installed Plone. This\n will disable the experimental ZCML directives from meta.zcml to be loaded\n by default with Plone.\n [datakurre]\n\n1.0.2 (2017-12-21)\n------------------\n\n- Fix issue where default configuration directive being mutable caused\n unexpected behavior\n [datakurre]\n\n1.0.1 (2016-09-21)\n------------------\n\n- Fix issue where zope.deferredimported module was not recognized as module\n [datakurre]\n\n1.0.0 (2016-04-19)\n------------------\n\n- First release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/datakurre/venusianconfiguration/", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "venusianconfiguration", "package_url": "https://pypi.org/project/venusianconfiguration/", "platform": "", "project_url": "https://pypi.org/project/venusianconfiguration/", "project_urls": { "Homepage": "https://github.com/datakurre/venusianconfiguration/" }, "release_url": "https://pypi.org/project/venusianconfiguration/1.1.1/", "requires_dist": [ "setuptools", "six", "zope.configuration", "venusian (>=1.0a8)", "plone.testing; extra == 'test'" ], "requires_python": "", "summary": "Experiment for configuring with venusian instead of *.zcml", "version": "1.1.1" }, "last_serial": 4460946, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "5d594cac969e7df01979758076369fb3", "sha256": "7b959a1d038e4e46a598e3e8655ba38cce3ad872a539ab87d4b2e33271e306ef" }, "downloads": -1, "filename": "venusianconfiguration-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5d594cac969e7df01979758076369fb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11769, "upload_time": "2016-04-19T12:52:50", "url": "https://files.pythonhosted.org/packages/bf/ed/1eada1ec7f0cfaae2d22f2ab01cdd36627e7b66b53618ede7ea7ae4186ad/venusianconfiguration-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "138e5f1ab0204dcb7247881c92e4dcd8", "sha256": "7974f85a3b3e52149abe78462f11566cc5499514d84c006373dfca5dd5b7b646" }, "downloads": -1, "filename": "venusianconfiguration-1.0.1.tar.gz", "has_sig": false, "md5_digest": "138e5f1ab0204dcb7247881c92e4dcd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12774, "upload_time": "2016-09-21T08:51:26", "url": "https://files.pythonhosted.org/packages/8b/63/fed31de161ba46185b0fa0e41a8ae405d5d775f49bdfa898ea727cb4bb3f/venusianconfiguration-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6ad4d054e7bd2fa49a063d897dc32da7", "sha256": "65acb96227e7333c709cd02b11825ecfb52ae00214753bbd1eac0aa06004b9ff" }, "downloads": -1, "filename": "venusianconfiguration-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ad4d054e7bd2fa49a063d897dc32da7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12315, "upload_time": "2017-12-21T13:24:25", "url": "https://files.pythonhosted.org/packages/69/0b/1e50a40d26818ce24c5399b3558648a9754839b222570f868d77e6c77937/venusianconfiguration-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffedb33e40f0db1cbf2a1987c5bd6692", "sha256": "a5416ecbe14188e3633d9e6e26edbd77035fe2a2d6322f6f700a9b0771dff421" }, "downloads": -1, "filename": "venusianconfiguration-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ffedb33e40f0db1cbf2a1987c5bd6692", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12312, "upload_time": "2017-12-21T13:22:23", "url": "https://files.pythonhosted.org/packages/7d/6c/c5322489b28de023dec47f82345de5ff9d1982e975403e8a0c5f1786522a/venusianconfiguration-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ec72f5237f52e1334442ad187dc0ba48", "sha256": "88a0adf08a02d86cb5903bfbfe3eb059aeead1000d07afd500735ed792273e5d" }, "downloads": -1, "filename": "venusianconfiguration-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ec72f5237f52e1334442ad187dc0ba48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12261, "upload_time": "2017-12-21T13:24:30", "url": "https://files.pythonhosted.org/packages/08/ae/0e5df8e563499ff21803056c9f5b5e17786ea695e8eb45aba81629cec928/venusianconfiguration-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "2bbeb9b665f01c743f2c57ed73b1af79", "sha256": "2d82d7d3f6632dc3b1db44df2e5faa1493fe6a75fae280f6d908b198a65b1e3f" }, "downloads": -1, "filename": "venusianconfiguration-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2bbeb9b665f01c743f2c57ed73b1af79", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12202, "upload_time": "2018-01-17T09:20:23", "url": "https://files.pythonhosted.org/packages/69/20/df8cfeb6a47d8398a3d069f59138c25ac17e8065951900416fead130d1f6/venusianconfiguration-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "024ac65fe65c3293ca1a583c56064088", "sha256": "d503f89b3c909c3ff53eb4c4fbfb488b3176fffaacccfef961bacc1f3df8bac0" }, "downloads": -1, "filename": "venusianconfiguration-1.1.0.tar.gz", "has_sig": false, "md5_digest": "024ac65fe65c3293ca1a583c56064088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12359, "upload_time": "2018-01-17T09:20:25", "url": "https://files.pythonhosted.org/packages/4d/56/44bdadab2d017ab405b694b8e750a7d9015ba7668d9d45d7f1c28ae22eec/venusianconfiguration-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "7a30d35b1df3536279e7aa1aeb1f9f1e", "sha256": "a0818718a9b0440050cd28af9d9dfd28096c3f1f8284392e00ac01d6ce82eeb6" }, "downloads": -1, "filename": "venusianconfiguration-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a30d35b1df3536279e7aa1aeb1f9f1e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12257, "upload_time": "2018-11-07T11:03:17", "url": "https://files.pythonhosted.org/packages/bc/ff/c181e309319043f0332fb3dbb4d6c7daa400cbc725d0d8a17037c5d15d1f/venusianconfiguration-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b27f27a2689574bdebedcdf57031209c", "sha256": "80bdd8cf2ee1be52b7aff097e718e77401aa5ec62d2b43b0b64835e83d1cc76e" }, "downloads": -1, "filename": "venusianconfiguration-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b27f27a2689574bdebedcdf57031209c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12400, "upload_time": "2018-11-07T11:03:18", "url": "https://files.pythonhosted.org/packages/ce/56/245be3f02edf06505c589707313721d7946dd88e99acf78c6756c5045714/venusianconfiguration-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7a30d35b1df3536279e7aa1aeb1f9f1e", "sha256": "a0818718a9b0440050cd28af9d9dfd28096c3f1f8284392e00ac01d6ce82eeb6" }, "downloads": -1, "filename": "venusianconfiguration-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a30d35b1df3536279e7aa1aeb1f9f1e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12257, "upload_time": "2018-11-07T11:03:17", "url": "https://files.pythonhosted.org/packages/bc/ff/c181e309319043f0332fb3dbb4d6c7daa400cbc725d0d8a17037c5d15d1f/venusianconfiguration-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b27f27a2689574bdebedcdf57031209c", "sha256": "80bdd8cf2ee1be52b7aff097e718e77401aa5ec62d2b43b0b64835e83d1cc76e" }, "downloads": -1, "filename": "venusianconfiguration-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b27f27a2689574bdebedcdf57031209c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12400, "upload_time": "2018-11-07T11:03:18", "url": "https://files.pythonhosted.org/packages/ce/56/245be3f02edf06505c589707313721d7946dd88e99acf78c6756c5045714/venusianconfiguration-1.1.1.tar.gz" } ] }