depends-tools


Namedepends-tools JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryA Python dependency injection framework, it's like fastapi.Depends
upload_time2025-08-01 09:14:49
maintainerNone
docs_urlNone
authorsurp1us
requires_python>=3.7
licenseNone
keywords dependency injection di ioc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # py-depends

A lightweight and elegant Python dependency injection framework.

## Features

- ๐Ÿš€ Simple and intuitive API
- ๐Ÿ”„ Support for both sync and async dependencies
- ๐Ÿญ Factory pattern support
- ๐ŸŽฏ Type-safe dependency resolution
- ๐Ÿ“ฆ Zero external dependencies
- ๐Ÿงช Comprehensive test coverage

## Installation

```bash
pip install depends-tools
```

## Quick Start

```python
from depends_tools import Depends, inject

# Define a dependency
def get_database():
    return "database_connection"

# Use the dependency
@inject
def get_user(db=Depends(get_database)):
    return f"User from {db}"

# Resolve dependencies
result = get_user()
print(result)  # Output: User from database_connection
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

If you encounter any issues or have questions, please [open an issue](https://github.com/JokerCrying/py-depends-tools/issues) on GitHub.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "depends-tools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "dependency, injection, di, ioc",
    "author": "surp1us",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f5/15/7842d3da14a189b83e0d0016b2e66ec2918b10022d696025422365e1f54c/depends_tools-1.1.0.tar.gz",
    "platform": null,
    "description": "# py-depends\r\n\r\nA lightweight and elegant Python dependency injection framework.\r\n\r\n## Features\r\n\r\n- \ud83d\ude80 Simple and intuitive API\r\n- \ud83d\udd04 Support for both sync and async dependencies\r\n- \ud83c\udfed Factory pattern support\r\n- \ud83c\udfaf Type-safe dependency resolution\r\n- \ud83d\udce6 Zero external dependencies\r\n- \ud83e\uddea Comprehensive test coverage\r\n\r\n## Installation\r\n\r\n```bash\r\npip install depends-tools\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom depends_tools import Depends, inject\r\n\r\n# Define a dependency\r\ndef get_database():\r\n    return \"database_connection\"\r\n\r\n# Use the dependency\r\n@inject\r\ndef get_user(db=Depends(get_database)):\r\n    return f\"User from {db}\"\r\n\r\n# Resolve dependencies\r\nresult = get_user()\r\nprint(result)  # Output: User from database_connection\r\n```\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions, please [open an issue](https://github.com/JokerCrying/py-depends-tools/issues) on GitHub.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python dependency injection framework, it's like fastapi.Depends",
    "version": "1.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/JokerCrying/py-depends-tools/issues",
        "Homepage": "https://github.com/JokerCrying/py-depends-tools",
        "Repository": "https://github.com/JokerCrying/py-depends-tools"
    },
    "split_keywords": [
        "dependency",
        " injection",
        " di",
        " ioc"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0a364285b9539be870453ec3b1850f0ed57c305e065c6954f1baabaf90782ca",
                "md5": "28118f1a218f9f3ff2a28328284b7c18",
                "sha256": "d41bb2c77ddf5808edd37480ab298aea6014dbdcb2e38fb3463c93b5303d725a"
            },
            "downloads": -1,
            "filename": "depends_tools-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "28118f1a218f9f3ff2a28328284b7c18",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 7661,
            "upload_time": "2025-08-01T09:14:48",
            "upload_time_iso_8601": "2025-08-01T09:14:48.352083Z",
            "url": "https://files.pythonhosted.org/packages/c0/a3/64285b9539be870453ec3b1850f0ed57c305e065c6954f1baabaf90782ca/depends_tools-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5157842d3da14a189b83e0d0016b2e66ec2918b10022d696025422365e1f54c",
                "md5": "ddbf359002e7c7ff7ec730af63a29a0b",
                "sha256": "11facfac35276654d852e5bb0171715db03abbc51d6a823794439c0f24549a45"
            },
            "downloads": -1,
            "filename": "depends_tools-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ddbf359002e7c7ff7ec730af63a29a0b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7098,
            "upload_time": "2025-08-01T09:14:49",
            "upload_time_iso_8601": "2025-08-01T09:14:49.330396Z",
            "url": "https://files.pythonhosted.org/packages/f5/15/7842d3da14a189b83e0d0016b2e66ec2918b10022d696025422365e1f54c/depends_tools-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 09:14:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JokerCrying",
    "github_project": "py-depends-tools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "depends-tools"
}
        
Elapsed time: 1.49117s