{ "info": { "author": "Remco Haszing", "author_email": "remcohaszing@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "=======\nSyringe\n=======\n\n.. image:: https://travis-ci.org/remcohaszing/grunt-angular-templatecache.png?branch=master\n :target: https://travis-ci.org/remcohaszing/python-audiolayer\n\nA simple dependency injection library.\n\n\nUsage example\n=============\n\nFirst decorate a class with ``@provides('a lookup name')``.\n\n>>> import syringe\n>>>\n>>> @syringe.provides('cure')\n... class Syrup:\n... def drink(self, person):\n... print('Nom nom')\n... person.health = 100\n...\n\nInstantiate it. Note that it is not possible to instanciate another instance of\na class decorated with the name ``cure``.\n\n>>> syrup = Syrup()\n\nNext inject it in another class using ``inject('a lookup name')``.\n\n>>> class Person:\n... cure = syringe.inject('cure')\n...\n... def drink_medicine(self):\n... self.cure.drink(self)\n...\n\nWhen an instance of the ``Person`` class is created, the value of the injecte name\nis the instance of the provided and instantiated class.\n\n>>> person = Person()\n>>> person.health = 20\n>>> assert person.cure == syrup\n>>> person.drink_medicine()\nNom nom\n>>> assert person.health == 100\n\n\nMocking\n-------\n\nA mock instance can be inserted using ``syringe.mock('a lookup name')``\n\n>>> try:\n... from unittest import mock\n... except:\n... import mock\n...\n>>> m = syringe.mock('cure')\n>>> person.drink_medicine()\n>>> m.drink.assert_called_once_with(person)\n\n\nInstalling\n==========\n\nThe package can be installed from the cheese shop by typing::\n\n pip install syringe", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/remcohaszing/python-syringe", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "syringe", "package_url": "https://pypi.org/project/syringe/", "platform": "", "project_url": "https://pypi.org/project/syringe/", "project_urls": { "Homepage": "https://github.com/remcohaszing/python-syringe" }, "release_url": "https://pypi.org/project/syringe/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "A simple dependency injection library", "version": "0.4.0" }, "last_serial": 3631743, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ca9135144b282d3dcfe44a79860a5dd7", "sha256": "b475aae616dc453561080f910cb003da7cc7df99bbcac394729df50b3a5c95a1" }, "downloads": -1, "filename": "syringe-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ca9135144b282d3dcfe44a79860a5dd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2282, "upload_time": "2014-05-14T20:15:47", "url": "https://files.pythonhosted.org/packages/8d/ba/064ffc9f41ea418eb622d1caf31ea8bda5e5cdcc023a878950a3d51ecc3e/syringe-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7800bd84d8ba409196702a2feb22789f", "sha256": "49d340e7b4c0bc7e777e197c1a3afa99a65f3bb8cad69a7ee3c2e5e73258994f" }, "downloads": -1, "filename": "syringe-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7800bd84d8ba409196702a2feb22789f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2270, "upload_time": "2014-05-14T20:18:14", "url": "https://files.pythonhosted.org/packages/fc/b3/cdf4e9ce01c3a1ab268918eb7b89b6cccdd8847c257e2032fa5533b859dc/syringe-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f0985aa51bed0caaed64f010e706ac90", "sha256": "c9f1df64f8dba7b101738c9e9d5d99869c41681f0d4347bcfbb30b3fe49d566f" }, "downloads": -1, "filename": "syringe-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f0985aa51bed0caaed64f010e706ac90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2497, "upload_time": "2014-05-23T21:39:44", "url": "https://files.pythonhosted.org/packages/8b/05/055cea7b5b47417a94658601db39daa0f5326cae909054bc327790fe51ef/syringe-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6706558b9c0f04dc2104afb658debc8d", "sha256": "21a73bca984c3dd20c9a3528cb83028cbb7ba0c181d729ee8600cc6592d34f65" }, "downloads": -1, "filename": "syringe-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6706558b9c0f04dc2104afb658debc8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2778, "upload_time": "2014-08-05T19:20:08", "url": "https://files.pythonhosted.org/packages/b8/ed/20223216d4b3756c35f549fda9fc5ca4dcd34b2114025a01455ef9779957/syringe-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b94e8c7c7bf0ca94a47f5274761a5c4e", "sha256": "96fd41ad30f61aa4ed49bef7f4692bf6d6554946c2bce100b01a427e292eba26" }, "downloads": -1, "filename": "syringe-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b94e8c7c7bf0ca94a47f5274761a5c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2808, "upload_time": "2014-08-05T19:28:33", "url": "https://files.pythonhosted.org/packages/86/d0/8a48421f53d175cd0dbe853135ad22ca68f8ff6841f2d7b7a5c1e332d391/syringe-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "091142043bb6b3fb46bf271c5706097f", "sha256": "4bf82e00f7baf30dce5a3f04b62d2dff7bb2d3700eb7d5a0976226a4285d20e2" }, "downloads": -1, "filename": "syringe-0.2.2.tar.gz", "has_sig": false, "md5_digest": "091142043bb6b3fb46bf271c5706097f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2811, "upload_time": "2014-08-05T19:41:31", "url": "https://files.pythonhosted.org/packages/ec/59/1d2d6fda32e8be7adecf985210de7f52c6b695a54508568e76052566ff6e/syringe-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0f570c043eaefd38868d30095ad1dafa", "sha256": "65d1d205ec81df6e076278f656f7c2dcec9c5f88ad99650542f7d9e5b9ca6c21" }, "downloads": -1, "filename": "syringe-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f570c043eaefd38868d30095ad1dafa", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 4900, "upload_time": "2015-01-16T18:37:40", "url": "https://files.pythonhosted.org/packages/0e/12/9c63987119a9add21cf1b687c0197970d466f6135c96f855a396016407fd/syringe-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dc7cd228a6515adc7c41b25da7fba91", "sha256": "500e16f9221e90176b40f68f71003185344f39449dfc1812ccc92bb438f6e5ca" }, "downloads": -1, "filename": "syringe-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5dc7cd228a6515adc7c41b25da7fba91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2846, "upload_time": "2014-11-08T12:21:31", "url": "https://files.pythonhosted.org/packages/22/39/2433e2b7fccbf2d17529cc672dad93f7b1cbb377ece57e17710b8447eef2/syringe-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e9cff341b90e82d10f7a39465e9eb222", "sha256": "50b9eab6147459a018fc580bc329ced5bdb83e811f368661d87dbdb63bbf345c" }, "downloads": -1, "filename": "syringe-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e9cff341b90e82d10f7a39465e9eb222", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2898, "upload_time": "2018-03-02T11:13:25", "url": "https://files.pythonhosted.org/packages/21/e8/3a56049c47a67aabcad7e66bab29935c2de1ee090a129d5a02255f479e90/syringe-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9cff341b90e82d10f7a39465e9eb222", "sha256": "50b9eab6147459a018fc580bc329ced5bdb83e811f368661d87dbdb63bbf345c" }, "downloads": -1, "filename": "syringe-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e9cff341b90e82d10f7a39465e9eb222", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2898, "upload_time": "2018-03-02T11:13:25", "url": "https://files.pythonhosted.org/packages/21/e8/3a56049c47a67aabcad7e66bab29935c2de1ee090a129d5a02255f479e90/syringe-0.4.0.tar.gz" } ] }