{ "info": { "author": "Ruslan Didyk", "author_email": "rdidyk@tmgtop.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "Knot Injector\n========\n\nFramework agnostic dependency injections\n\nThis library build as a wrapper for `Knot`_ Dependencies Container.\n\n\nInstallation\n------------\n\n``pip install knot-injector``\n\nUsage\n-----\n\nExample:\n\n.. code:: python\n\n import sqlalchemy as db\n from sqlalchemy.orm import sessionmaker\n\n from knot_injector import Container\n\n registry = Container()\n\n settings = {\n 'db': {\n 'uri': 'sqlite://',\n 'echo': False,\n 'encoding': 'utf8',\n },\n }\n\n registry.add_service(lambda _: settings, name='settings')\n\n @registry.service()\n def dbengine(container, settings):\n uri = settings['db']['uri']\n return create_engine(uri, **settings['db'])\n\n @registry.factory(name='dbsession')\n def database_session(container, dbengine):\n session = sessionmaker()\n session.configure(bind=dbengine)\n return session()\n\n\n class ItemResource(object):\n\n @registry.inject\n def on_get(request, response, item_id, dbsession):\n response.data = dbsession.query(Item).filter(Item.id == item_id).one()\n\n\n.. _Knot: https://github.com/jaapverloop/knot\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/rdidyk/knot-injector/archive/0.0.3.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rdidyk/knot-injector", "keywords": "dependencies injection", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "knot-injector", "package_url": "https://pypi.org/project/knot-injector/", "platform": "", "project_url": "https://pypi.org/project/knot-injector/", "project_urls": { "Download": "https://github.com/rdidyk/knot-injector/archive/0.0.3.tar.gz", "Homepage": "https://github.com/rdidyk/knot-injector" }, "release_url": "https://pypi.org/project/knot-injector/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "Framework agnostic dependency injections", "version": "0.0.3" }, "last_serial": 2759657, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "2e7ea95304f6092f2caed3869ea0a49b", "sha256": "edbb3bf69efd8420c836ed91ed1f74cbbcf68344ac6aded8fa3f5a3763be480d" }, "downloads": -1, "filename": "knot-injector-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2e7ea95304f6092f2caed3869ea0a49b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3388, "upload_time": "2017-04-07T08:57:10", "url": "https://files.pythonhosted.org/packages/eb/2f/27d7b443fc881f0c18a5d9fc2380ebd958e586fbd2844136c0deb8d95266/knot-injector-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2e7ea95304f6092f2caed3869ea0a49b", "sha256": "edbb3bf69efd8420c836ed91ed1f74cbbcf68344ac6aded8fa3f5a3763be480d" }, "downloads": -1, "filename": "knot-injector-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2e7ea95304f6092f2caed3869ea0a49b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3388, "upload_time": "2017-04-07T08:57:10", "url": "https://files.pythonhosted.org/packages/eb/2f/27d7b443fc881f0c18a5d9fc2380ebd958e586fbd2844136c0deb8d95266/knot-injector-0.0.3.tar.gz" } ] }