Name | HinteDI JSON |
Version |
0.3.2
JSON |
| download |
home_page | |
Summary | A simple dependency injector based on type hints |
upload_time | 2022-12-05 21:59:25 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.10 |
license | |
keywords |
dependency injection
di
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# HinteDI - simple dependency injection system with type hints
This package is a small utility I have been using in my own projects, a super simple tool for basic dependency
injection in python based on type hints and decorators.
This package exposes three classes: HinteDI, InjectionException and InstanceSentinel. Import HinteDI and use
```@HinteDI.singleton``` and ```@HinteDI.instance``` to create dependencies and ```@HinteDI.inject``` to mark a
function as requiring dependency injection. Type hint the dependencies in the injected function and HinteDI will
inject the dependencies for you. You can also use ```@HinteDI.abstract_base```, ```@HinteDI.singleton_implementation```
and ```@HinteDI.instance_implementation``` to create factory-style abstract dependencies resolvable with a set key.
See the docs at [GitHub pages](https://eddiethecubehead.github.io/HinteDI/) for better documentation about the package.
Raw data
{
"_id": null,
"home_page": "",
"name": "HinteDI",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "dependency injection,DI",
"author": "",
"author_email": "Eetu Asikainen <eetu.asikainen1204@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/66/b8/ec30d64283aa69cfa1ba20e1d498a11c381a0e3d18fa6f7b0aed5f5e0bbd/HinteDI-0.3.2.tar.gz",
"platform": null,
"description": "# HinteDI - simple dependency injection system with type hints\r\n\r\nThis package is a small utility I have been using in my own projects, a super simple tool for basic dependency \r\ninjection in python based on type hints and decorators.\r\n\r\nThis package exposes three classes: HinteDI, InjectionException and InstanceSentinel. Import HinteDI and use \r\n```@HinteDI.singleton``` and ```@HinteDI.instance``` to create dependencies and ```@HinteDI.inject``` to mark a \r\nfunction as requiring dependency injection. Type hint the dependencies in the injected function and HinteDI will \r\ninject the dependencies for you. You can also use ```@HinteDI.abstract_base```, ```@HinteDI.singleton_implementation```\r\nand ```@HinteDI.instance_implementation``` to create factory-style abstract dependencies resolvable with a set key.\r\nSee the docs at [GitHub pages](https://eddiethecubehead.github.io/HinteDI/) for better documentation about the package.\r\n",
"bugtrack_url": null,
"license": "",
"summary": "A simple dependency injector based on type hints",
"version": "0.3.2",
"split_keywords": [
"dependency injection",
"di"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "70b618cd9a254b92d978f5ec128d1f1e",
"sha256": "383849e5d90859a7fb49aaca71aa6c0170d1039d456cdb85113ae6a6b9eba31f"
},
"downloads": -1,
"filename": "HinteDI-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "70b618cd9a254b92d978f5ec128d1f1e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 7039,
"upload_time": "2022-12-05T21:59:19",
"upload_time_iso_8601": "2022-12-05T21:59:19.613693Z",
"url": "https://files.pythonhosted.org/packages/77/29/60401a3903fec7ea64c023e3155e87e7284a238432de997de613338272db/HinteDI-0.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "35ec2adb4050194bf9c16b1c2c667e7c",
"sha256": "4c1371d3b7ffdf3e46ccf2488116e8e64cbc6d0d5abdd2c6b5d2941b8031eecd"
},
"downloads": -1,
"filename": "HinteDI-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "35ec2adb4050194bf9c16b1c2c667e7c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 8577,
"upload_time": "2022-12-05T21:59:25",
"upload_time_iso_8601": "2022-12-05T21:59:25.460243Z",
"url": "https://files.pythonhosted.org/packages/66/b8/ec30d64283aa69cfa1ba20e1d498a11c381a0e3d18fa6f7b0aed5f5e0bbd/HinteDI-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-05 21:59:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "hintedi"
}