{ "info": { "author": "Feng Zhou", "author_email": "zf.pascal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "# slack\n\na DI Container\n\n## register and provide\n\n```python\nfrom slack import Container\n\nc = Container()\n\nclass Component:\n def __init__(self):\n pass\n\nc.register('component', Component)\n\nc1 = c.provide('component')\nc2 = c.provide('component') # c1 is c2\n```\n\n## dependency inject\n\n```python\nclass Component:\n def __init__(self, dep1, dep2):\n pass\n\nc.register('dep1', Dep1)\nc.register('dep2', Dep2)\nc.register('component', Component)\nc.provide('component')\n```\n\n## partial inject\n\n```python\nclass Component:\n def __init__(self, dep1, dep2):\n pass\n\nNewComponent = c.inject(Component, 'dep1')\n\nc = NewComponent(dep2)\n```\n\n## using decorator\n\n```python\nc.register('comp1')\ndef comp1(dep1, dep2):\n return SomeClass()\n```\n\n## apply\n\n```python\ndef fn(a, b):\n pass\n\n@c.register('b')\ndef provide_b():\n pass\n\nc.apply(fn, a=val)\n```\n\n## groups and reset\n\n```python\n@c.register('comp', group='once')\nclass Component:\n pass\n\ncomp1 = c.provide('comp')\ncomp2 = c.provide('comp') # comp1 is comp2\n\nc.reset('once')\n\ncomp3 = c.provide('comp') # comp3 is not comp2\n```", "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/zweifisch/slack", "keywords": "DI Container", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "slack", "package_url": "https://pypi.org/project/slack/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/slack/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/zweifisch/slack" }, "release_url": "https://pypi.org/project/slack/0.0.3/", "requires_dist": null, "requires_python": null, "summary": "a DI container", "version": "0.0.3" }, "last_serial": 1091577, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "83e5b100babaa009da699a0232de27c2", "sha256": "30dc7ce1e321c7a5d30068fbbb380ebfb6063069c9b980226c4f21edb54b806d" }, "downloads": -1, "filename": "slack-0.0.1.tar.gz", "has_sig": false, "md5_digest": "83e5b100babaa009da699a0232de27c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2413, "upload_time": "2014-03-25T15:01:25", "url": "https://files.pythonhosted.org/packages/c9/a5/db6e0bf83941b38c15ffdd9ff25b8cecc8394878927c307e0bc5b9dcb4bc/slack-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "328b1d3a9de65f3b671dd4f6f0930b16", "sha256": "e0b0cd3ba730e81aa82eef0973a7970652b99f6445cb71a6dde1d29e6d13b051" }, "downloads": -1, "filename": "slack-0.0.2.tar.gz", "has_sig": false, "md5_digest": "328b1d3a9de65f3b671dd4f6f0930b16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2455, "upload_time": "2014-03-26T14:38:04", "url": "https://files.pythonhosted.org/packages/90/90/b5f37b4d4715d89a15700e3782ad0f71f5c454b8d403650e4e1abd37a071/slack-0.0.2.tar.gz" } ], "0.0.3": [] }, "urls": [] }