{ "info": { "author": "Miko\u0142aj Siedlarek", "author_email": "mikolaj@siedlarek.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "Wiring\n******\n\n.. image:: http://img.shields.io/pypi/v/wiring.svg?style=flat\n :target: https://pypi.python.org/pypi/wiring/\n.. image:: http://img.shields.io/pypi/l/wiring.svg?style=flat\n :target: https://pypi.python.org/pypi/wiring/\n.. image:: http://img.shields.io/travis/msiedlarek/wiring.svg?style=flat\n :target: https://travis-ci.org/msiedlarek/wiring\n.. image:: http://img.shields.io/coveralls/msiedlarek/wiring.svg?style=flat\n :target: https://coveralls.io/r/msiedlarek/wiring\n.. image:: https://readthedocs.org/projects/wiring/badge/?style=flat\n :target: http://wiring.readthedocs.org\n\n**Wiring provides architectural foundation for Python applications**,\nfeaturing:\n\n* dependency injection\n* interface definition and validation\n* modular component configuration\n* small, extremely pedantic codebase\n\nWiring is supported and tested on Python 2.7, Python 3.4, Python 3.5, PyPy and\nPyPy 3.\n\nQuick Peek\n==========\n\n.. code-block:: python\n\n import wiring\n from wiring import provides, scope, inject, injected, implements\n\n class DatabaseModule(wiring.Module):\n @provides('db_connection')\n @scope(wiring.ThreadScope)\n def provide_db_connection(self, database_url=injected('database_url')):\n return db_engine.connect(database_url)\n\n class IUserManager(wiring.Interface):\n def get(id):\n \"\"\"Get user by ID.\"\"\"\n\n @implements(IUserManager)\n class DefaultUserManager(object):\n\n @inject('db_connection')\n def __init__(self, db_connection):\n self.db = db_connection\n\n def get(self, id):\n return self.db.sql('SELECT * FROM users WHERE id = :id', id=id)\n\n class UserModule(wiring.Module):\n factories = {\n IUserManager: DefaultUserManager,\n }\n\n graph = wiring.Graph()\n DatabaseModule().add_to(graph)\n UserModule().add_to(graph)\n graph.register_instance('database_url', 'sqlite://some.db')\n graph.validate()\n\n user_manager = graph.get(IUserManager)\n user = user_manager.get(12)\n\nDocumentation\n=============\n\nFull documentation is available at `wiring.readthedocs.org\n`_.\n\nSupport\n=======\n\nSupport is provided on a best-effort basis, through `Stack Overflow\n`_. Please tag your question *wiring*.\n\nFor commercial support, please contact me directly at mikolaj@siedlarek.pl.\n\nDevelopment\n===========\n\nYou can install package for development and testing with::\n\n virtualenv environment\n . environment/bin/activate\n pip install sphinx tox flake8 wheel sphinx_rtd_theme\n pip install -e .\n\nTo run the test suite on supported Python versions use::\n\n tox\n\nOr on a single version::\n\n tox -e py27\n\nTo validate PEP8 compliance and run code static checking::\n\n tox -e flake8\n\nTo generate test coverage report::\n\n rm -rf .coverage coverage\n tox -- --with-coverage\n open coverage/index.html\n\nTo generate html documentation::\n\n cd docs\n make html\n open _build/html/index.html\n\nTo release::\n\n git tag -s -u gpgkey@example.com v0.4.0\n python setup.py register\n python setup.py sdist upload -s -i gpgkey@example.com\n python setup.py bdist_wheel upload -s -i gpgkey@example.com\n git push origin v0.4.0\n\nLicense\n=======\n\nCopyright 2014-2015 Miko\u0142aj Siedlarek \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this software except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/msiedlarek/wiring", "keywords": "wiring dependency injection", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "wiring", "package_url": "https://pypi.org/project/wiring/", "platform": "", "project_url": "https://pypi.org/project/wiring/", "project_urls": { "Homepage": "https://github.com/msiedlarek/wiring" }, "release_url": "https://pypi.org/project/wiring/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Architectural foundation for Python applications.", "version": "0.4.0" }, "last_serial": 2431448, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f6fc828af4f6bb9eff37122b92c760fd", "sha256": "e732ea1fafe84b00901eb1f59eb16a7d32ad5ce07ecc11a4dca09b42f2e6bf23" }, "downloads": -1, "filename": "wiring-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f6fc828af4f6bb9eff37122b92c760fd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17439, "upload_time": "2014-09-06T13:17:49", "url": "https://files.pythonhosted.org/packages/d3/c2/2fd29dbc1acdb7800cf20a4ef8d6d838ed1886c010207872b885707470cd/wiring-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a49ed8e719ead2762dbb37ac84edf37", "sha256": "d8f4f3a889f85d015af76bb8362091d063b1cd9f57ec5c27b44fb446280cdd81" }, "downloads": -1, "filename": "wiring-0.1.0.tar.gz", "has_sig": true, "md5_digest": "2a49ed8e719ead2762dbb37ac84edf37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23283, "upload_time": "2014-09-06T13:17:43", "url": "https://files.pythonhosted.org/packages/3b/e1/5efad184c345bc795220f5e3da5757df81f2afe71e7ef49bce58dfc57ad3/wiring-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "68ca14ec8f5288fba2fdbc0759198e7e", "sha256": "fee821b799b12549627606b1c317699bc524e3451796f90499df4427639543e1" }, "downloads": -1, "filename": "wiring-0.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "68ca14ec8f5288fba2fdbc0759198e7e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19527, "upload_time": "2015-02-17T14:11:44", "url": "https://files.pythonhosted.org/packages/eb/2d/577deadac81da950025d06f470691a3905496d9936975002e6738c822ced/wiring-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46a01ed2bf518ad6fecd8fa6d74898ae", "sha256": "01b20d40acd4f80201641e5ddd1813011e8d909e19878362e7e2bb2c8cf4096d" }, "downloads": -1, "filename": "wiring-0.2.0.tar.gz", "has_sig": true, "md5_digest": "46a01ed2bf518ad6fecd8fa6d74898ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19999, "upload_time": "2015-02-17T14:11:30", "url": "https://files.pythonhosted.org/packages/62/62/993352602c6fbc8300551e0861d28a334f40864bedf674129056086e32e4/wiring-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "eebdaa0dea14aaaef5342243902f0439", "sha256": "1280f26beba59d76fa26c5d46109109783dbc334d6faaf9d1bfb4000976838a1" }, "downloads": -1, "filename": "wiring-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "eebdaa0dea14aaaef5342243902f0439", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19589, "upload_time": "2015-03-02T18:48:27", "url": "https://files.pythonhosted.org/packages/7a/4d/15b1b9ba05f8f7ac4d5bf11d98ddd3afe3119770063cc984e697236dfb87/wiring-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a948e781cbcdcb833dbcebb7ccc44da3", "sha256": "22d3817fa79621665e323aaec10fa3a1899c09fc0fc3f4b4941acbac26b6f14c" }, "downloads": -1, "filename": "wiring-0.2.1.tar.gz", "has_sig": true, "md5_digest": "a948e781cbcdcb833dbcebb7ccc44da3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20069, "upload_time": "2015-03-02T18:48:08", "url": "https://files.pythonhosted.org/packages/c1/05/66a9060e6457342c15ecaca53aedbf33e2c962739a1d021908475745cca8/wiring-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "204865fec4381ced56f1a7c988997764", "sha256": "a231910c9d6c83bf73dee441bbe270207ef58b32c3efe898ae3b550cfb7fb91c" }, "downloads": -1, "filename": "wiring-0.2.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "204865fec4381ced56f1a7c988997764", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19658, "upload_time": "2015-06-09T17:25:00", "url": "https://files.pythonhosted.org/packages/4b/ab/2b439f516e73984930e00bd6115cf8aa2d9db801e515150c573d818a5c5b/wiring-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92ee786407c89a197442366e5926fc60", "sha256": "59250d8734ad21dccbdac1c74a253f8fe21d1a9737dc3ee00325d37a90458f87" }, "downloads": -1, "filename": "wiring-0.2.2.tar.gz", "has_sig": true, "md5_digest": "92ee786407c89a197442366e5926fc60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20136, "upload_time": "2015-06-09T17:24:49", "url": "https://files.pythonhosted.org/packages/86/3e/d6c09ad879bbb90f62574aa0946b1b11dd6509bf894615949ffd020419ee/wiring-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "fe84511b32fa01c4254cb5128aa7d887", "sha256": "85553bc031fe00e9fe12963334418d03e5ea27a35614a79a84b137e950bff70c" }, "downloads": -1, "filename": "wiring-0.2.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "fe84511b32fa01c4254cb5128aa7d887", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19675, "upload_time": "2015-06-23T15:01:00", "url": "https://files.pythonhosted.org/packages/fe/59/22a261ae24020a0daf58a5ffd90effb745c8c1033d414cbd561914b0d3b8/wiring-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "033dac8da85cbfd32df798306c1c3cb2", "sha256": "eae3a39f8174d804a9bb107afd3ae06d3c6fa95e0fedea088527682a3ff29d18" }, "downloads": -1, "filename": "wiring-0.2.3.tar.gz", "has_sig": true, "md5_digest": "033dac8da85cbfd32df798306c1c3cb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20150, "upload_time": "2015-06-23T15:00:36", "url": "https://files.pythonhosted.org/packages/c8/d1/1957d8dc6bbb2cd69ff797e1a0e43682daefbea7d72a55d6776fe6f8cf17/wiring-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "77aa10bd4266d8aad6004828b7dfb640", "sha256": "fd682f4f8edf0931972c488e75ba887fb1ec168fcbdaa03e373256aa3d359ebd" }, "downloads": -1, "filename": "wiring-0.2.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "77aa10bd4266d8aad6004828b7dfb640", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19690, "upload_time": "2015-06-24T09:09:10", "url": "https://files.pythonhosted.org/packages/fc/ec/119f2d27e8eff50eb4fae660413f26277971ce7bf29d852d56c9acbfb274/wiring-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cd3b1d583e4226c610e845a7b61c0d7", "sha256": "912473539cba7e0d7230912cf27ca7ad3cf5f878d0d4d15845affb6ba677552d" }, "downloads": -1, "filename": "wiring-0.2.4.tar.gz", "has_sig": true, "md5_digest": "0cd3b1d583e4226c610e845a7b61c0d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20169, "upload_time": "2015-06-24T09:09:00", "url": "https://files.pythonhosted.org/packages/97/43/3134a830db12be5331bc876a0fde6fe5be60400d1a0d8048890736fb7a1f/wiring-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3210cccdbb93378d357cf26f1e7bad8d", "sha256": "7b97128c9610142b4f74c75353064e15260e4a58bf3d344905deb0687817f36c" }, "downloads": -1, "filename": "wiring-0.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3210cccdbb93378d357cf26f1e7bad8d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 19936, "upload_time": "2016-05-18T13:39:51", "url": "https://files.pythonhosted.org/packages/b7/34/1b2c11384b7da98b36aaddce6149b81173196e4e3fa5e2273bf5dc82588e/wiring-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc06b8190f9c79faa129166fad2f8694", "sha256": "a3b680ef9f621e2e84a6641d09bfa1d606ca5a09930d66481f0bc262837a26d6" }, "downloads": -1, "filename": "wiring-0.3.0.tar.gz", "has_sig": true, "md5_digest": "cc06b8190f9c79faa129166fad2f8694", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18468, "upload_time": "2016-05-18T13:39:06", "url": "https://files.pythonhosted.org/packages/e5/3f/f6b4dcbf20a43be492d9dd5ed4ed57227ef27240715dfd9a113c32bd9eb7/wiring-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "81f840313a852ac131cac1576e9958d8", "sha256": "996d2e14a77897c053cd34e899bf309baf6ea83577cd7cfa9fc80c2d2ef8467d" }, "downloads": -1, "filename": "wiring-0.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "81f840313a852ac131cac1576e9958d8", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22954, "upload_time": "2016-10-30T13:23:06", "url": "https://files.pythonhosted.org/packages/72/d4/9af8400103ccb447251a0621459a84cbad342b1d930cd1d0e9b1b2ee6be8/wiring-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e388887ce46cc6bf6987d09bc4249079", "sha256": "cd74f6605a6eddcca3229c17369fd117ced206063e1caf042d5b73db3f0c7a6f" }, "downloads": -1, "filename": "wiring-0.4.0.tar.gz", "has_sig": true, "md5_digest": "e388887ce46cc6bf6987d09bc4249079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22233, "upload_time": "2016-10-30T13:22:52", "url": "https://files.pythonhosted.org/packages/b3/74/778fc45b134c5eb84b619eb13f2455e1d666a43a7b99cacfcda1741bae6d/wiring-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81f840313a852ac131cac1576e9958d8", "sha256": "996d2e14a77897c053cd34e899bf309baf6ea83577cd7cfa9fc80c2d2ef8467d" }, "downloads": -1, "filename": "wiring-0.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "81f840313a852ac131cac1576e9958d8", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22954, "upload_time": "2016-10-30T13:23:06", "url": "https://files.pythonhosted.org/packages/72/d4/9af8400103ccb447251a0621459a84cbad342b1d930cd1d0e9b1b2ee6be8/wiring-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e388887ce46cc6bf6987d09bc4249079", "sha256": "cd74f6605a6eddcca3229c17369fd117ced206063e1caf042d5b73db3f0c7a6f" }, "downloads": -1, "filename": "wiring-0.4.0.tar.gz", "has_sig": true, "md5_digest": "e388887ce46cc6bf6987d09bc4249079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22233, "upload_time": "2016-10-30T13:22:52", "url": "https://files.pythonhosted.org/packages/b3/74/778fc45b134c5eb84b619eb13f2455e1d666a43a7b99cacfcda1741bae6d/wiring-0.4.0.tar.gz" } ] }