HinteDI


NameHinteDI JSON
Version 0.3.2 PyPI version JSON
download
home_page
SummaryA simple dependency injector based on type hints
upload_time2022-12-05 21:59:25
maintainer
docs_urlNone
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"
}
        
Elapsed time: 0.07765s