{ "info": { "author": "Michael Merickel", "author_email": "pylons-discuss@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=====\nwired\n=====\n\n.. image:: https://img.shields.io/pypi/v/wired.svg\n :target: https://pypi.org/pypi/wired\n\n.. image:: https://img.shields.io/travis/mmerickel/wired/master.svg\n :target: https://travis-ci.org/mmerickel/wired\n\n.. image:: https://readthedocs.org/projects/wired/badge/?version=latest\n :target: https://readthedocs.org/projects/wired/?badge=latest\n :alt: Documentation Status\n\nHave a large application where you want to *decrease coupling* between components?\nNeed to *supply configuration* to your application's various services? Want to\nmake a *pluggable application* where others can supply services?\n\n`Inversion of Control `_ and\n`Dependency Injection `_ are\ntwo patterns commonly used for these goals.\n\n``wired`` is an implementation of an inversion-of-control (IoC) container and\nmay be used as the core of a dependency injection (DI) framework or simply as\na way to separate config-time from runtime for services in an application. It\nalso provides caching such that a container maintains a local copy of each\nservice as they are instantiated.\n\n`wired` aims to scale down to the simplest cases and up to very large, custom\nsystems. It has one dependency and that dependency has one dependency.\n\nSee https://wired.readthedocs.io or\n``docs/index.rst`` in this distribution for detailed documentation.\n\n\n0.2.1 (2019-08-12)\n==================\n\n- Added ``wired.dataclasses`` optional package with support for automatically\n generating service factories for Python 3.7's typed-dataclasses.\n Thanks Paul!\n See https://github.com/mmerickel/wired/pull/19\n\n- Added a new tutorial on writing a DI framework around Python 3.7's\n typed-dataclasses. Thanks again Paul!\n See https://github.com/mmerickel/wired/pull/16\n\n0.2 (2019-04-22)\n================\n\nBackward Incompatibilities\n--------------------------\n\n- ``wired.ServiceContainer.set`` has been redefined to set a service instance\n for a specific context object instead of for a type-of-context. The new\n method ``wired.ServiceContainer.register_singleton`` is a direct replacement\n for the old behavior.\n\nFeatures\n--------\n\n- Add ``wired.ServiceContainer.register_factory`` and\n ``wired.ServiceContainer.register_singleton`` which are per-container\n analogues to their per-registry variants on ``wired.ServiceRegistry``.\n\n- Edit docs to (a) improve sales pitch, (b) split into a couple of sub-pages,\n and (c) provide a tutorial. Update README and ``setup.py`` description a\n bit as well.\n See https://github.com/mmerickel/wired/pull/6\n\n0.1.2 (2019-03-23)\n==================\n\n- Add support for Python 3.7.\n\n- Fix an issue where two different service classes with the same name would\n be treated as the same service, defeating the type-based lookup.\n\n0.1.1 (2018-08-04)\n==================\n\n- Improve memory management slightly in cases where many short-lived context\n objects are used by tracking and cleaning up their weakrefs.\n\n0.1 (2018-08-01)\n================\n\n- Initial release.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://wired.readthedocs.io", "keywords": "ioc container,inversion of control,dependency injection,service locator,singleton,service factory", "license": "", "maintainer": "", "maintainer_email": "", "name": "wired", "package_url": "https://pypi.org/project/wired/", "platform": "", "project_url": "https://pypi.org/project/wired/", "project_urls": { "Homepage": "https://wired.readthedocs.io" }, "release_url": "https://pypi.org/project/wired/0.2.1/", "requires_dist": [ "zope.interface", "Sphinx ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "venusian ; (python_version >= \"3.7\") and extra == 'docs'", "pytest ; extra == 'testing'", "pytest-cov ; extra == 'testing'", "sybil ; extra == 'testing'", "venusian ; (python_version >= \"3.7\") and extra == 'testing'" ], "requires_python": ">=3.5", "summary": "An inversion-of-control (IoC) container for building decoupled, configurable, pluggable applications.", "version": "0.2.1" }, "last_serial": 5668420, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a1bef7604c92adfcce3604a5c50f9717", "sha256": "259e154d1a0458755ebd0b7cb14f934e61f988af63efccc1d904c364c9fdf291" }, "downloads": -1, "filename": "wired-0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a1bef7604c92adfcce3604a5c50f9717", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 6691, "upload_time": "2018-08-01T08:19:57", "url": "https://files.pythonhosted.org/packages/4d/2d/ed901ff62188c2b06320e11a4c27b9c53d93f838f12ba4d4e8e19b01d508/wired-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6d60164977b4e6b017b7db3907e6e05c", "sha256": "92cb22e613807b8ff910986c499cfffa2163589661d13f837fd6d0f3615a1c9d" }, "downloads": -1, "filename": "wired-0.1.tar.gz", "has_sig": true, "md5_digest": "6d60164977b4e6b017b7db3907e6e05c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 17567, "upload_time": "2018-08-01T08:19:59", "url": "https://files.pythonhosted.org/packages/8b/ce/fa08a718de40e6663f2c7c0690e0a9823a129f461a31defb8c1f3fe6686d/wired-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5795920fa999a7f3d55e16d1f886e93c", "sha256": "84a88078256656f8f853ebc3d23f3871997b07f5357faa8df6176bfae118c272" }, "downloads": -1, "filename": "wired-0.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5795920fa999a7f3d55e16d1f886e93c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 7099, "upload_time": "2018-08-04T20:50:46", "url": "https://files.pythonhosted.org/packages/4e/ab/29cb5ec61474649b888a178c146f30a110671b64486d16fbe7752f06370d/wired-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd96cf8386c1177de305b6687829e6b7", "sha256": "f238ebb8597acb488727cab461a8a40edd3a27db5cc699d18c796b6de03ab540" }, "downloads": -1, "filename": "wired-0.1.1.tar.gz", "has_sig": true, "md5_digest": "dd96cf8386c1177de305b6687829e6b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 18011, "upload_time": "2018-08-04T20:50:47", "url": "https://files.pythonhosted.org/packages/f2/b2/3854bde4a6ab463fdbd13110439a53c3dfa59e43dcd8aaa6c09fc4755e11/wired-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e0248ca3b437c34d3c444126733084aa", "sha256": "b73d618a24d59337706b02fadafb4228f3da21cd73ac179a71363ab9e7da7b5a" }, "downloads": -1, "filename": "wired-0.1.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e0248ca3b437c34d3c444126733084aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 7191, "upload_time": "2019-03-23T17:36:58", "url": "https://files.pythonhosted.org/packages/cd/ff/065749001cfc859cab4dbc19bf3edd3fd2b1e57a483f04a5ce4f734edfae/wired-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b91cd76e212782408d66dc333d8ba70", "sha256": "276bd82dd6860c33e90aed087fba67656dca5b316d17bfa4fe36e0b87a787c75" }, "downloads": -1, "filename": "wired-0.1.2.tar.gz", "has_sig": true, "md5_digest": "8b91cd76e212782408d66dc333d8ba70", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 19135, "upload_time": "2019-03-23T17:36:59", "url": "https://files.pythonhosted.org/packages/38/2c/9b296fb8b4a2acb2f0071634456f22885c7f2bbe75223b5ffa5247883bae/wired-0.1.2.tar.gz" } ], "0.1.post1": [ { "comment_text": "", "digests": { "md5": "1aca90ef6c01a9eaa63c81c7661da893", "sha256": "5df44d11fc0c35cc51b1c76283e6e11e211419582ac0cf203e56754eb6bcc339" }, "downloads": -1, "filename": "wired-0.1.post1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1aca90ef6c01a9eaa63c81c7661da893", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 6772, "upload_time": "2018-08-01T08:23:34", "url": "https://files.pythonhosted.org/packages/8a/98/2db11439ace8e069d467e4a3caf11e73fdf7c8adbba200cdb77eafb0f951/wired-0.1.post1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae833b46cfb4b7486bfaf751651c5e8a", "sha256": "53f68f0d82c61f6c03de8704c69a510f3e059bb0ceb4b87e9fa9a2949d71d268" }, "downloads": -1, "filename": "wired-0.1.post1.tar.gz", "has_sig": true, "md5_digest": "ae833b46cfb4b7486bfaf751651c5e8a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 17578, "upload_time": "2018-08-01T08:23:35", "url": "https://files.pythonhosted.org/packages/27/6e/830f2484fe133d11742fc98474ed49f4ef1e66cfbc0383dd3e2bc7bb03a4/wired-0.1.post1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "92ac78b4625e042419c268b8844ecc29", "sha256": "e0b0384347c4429a93e9ef8a49cf74b37278d148c627d73a8a9ffca18feed9d4" }, "downloads": -1, "filename": "wired-0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "92ac78b4625e042419c268b8844ecc29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 8013, "upload_time": "2019-04-22T16:11:11", "url": "https://files.pythonhosted.org/packages/db/1f/c8478d9684374d7fc87beee3b692108529779d058b4c1cdf61652037f37f/wired-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbda8ee687709c87e1c63de16ef0fffb", "sha256": "2151d437f7f1bdc531fb1e5bc3979ac0b8111713f9e7a12085e836f31381828c" }, "downloads": -1, "filename": "wired-0.2.tar.gz", "has_sig": true, "md5_digest": "bbda8ee687709c87e1c63de16ef0fffb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 29043, "upload_time": "2019-04-22T16:11:13", "url": "https://files.pythonhosted.org/packages/6e/3a/eb48e01e549b706811aee4c891484a84a502a1e2455d249d1bbc2635226f/wired-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ac552ae3551fe553d6fc506ff56169f1", "sha256": "7b3b6148564d5cdd4e31ba7504914997edb4008f474ff6308225de40c23f4813" }, "downloads": -1, "filename": "wired-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ac552ae3551fe553d6fc506ff56169f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 12875, "upload_time": "2019-08-12T19:43:33", "url": "https://files.pythonhosted.org/packages/73/0a/b9f264daa3e7805ba94530d513660849e1a0907843f0d5b69ecadc335d20/wired-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e665df852dd11be24e01876589fc5d97", "sha256": "33bac65b8f5ee2050f4af1e460f959171fec1de6630d08b89a1d005893e90571" }, "downloads": -1, "filename": "wired-0.2.1.tar.gz", "has_sig": true, "md5_digest": "e665df852dd11be24e01876589fc5d97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 52895, "upload_time": "2019-08-12T19:43:34", "url": "https://files.pythonhosted.org/packages/92/fc/974781b59d9f23421bb88953e66c73e09c57877f0aef26f1e3435d371757/wired-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac552ae3551fe553d6fc506ff56169f1", "sha256": "7b3b6148564d5cdd4e31ba7504914997edb4008f474ff6308225de40c23f4813" }, "downloads": -1, "filename": "wired-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ac552ae3551fe553d6fc506ff56169f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 12875, "upload_time": "2019-08-12T19:43:33", "url": "https://files.pythonhosted.org/packages/73/0a/b9f264daa3e7805ba94530d513660849e1a0907843f0d5b69ecadc335d20/wired-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e665df852dd11be24e01876589fc5d97", "sha256": "33bac65b8f5ee2050f4af1e460f959171fec1de6630d08b89a1d005893e90571" }, "downloads": -1, "filename": "wired-0.2.1.tar.gz", "has_sig": true, "md5_digest": "e665df852dd11be24e01876589fc5d97", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 52895, "upload_time": "2019-08-12T19:43:34", "url": "https://files.pythonhosted.org/packages/92/fc/974781b59d9f23421bb88953e66c73e09c57877f0aef26f1e3435d371757/wired-0.2.1.tar.gz" } ] }