https://github.com/febus982/python-ioc
https://github.com/febus982/python-ioc
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/febus982/python-ioc
- Owner: febus982
- License: mit
- Created: 2024-01-07T18:31:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-11T18:42:52.000Z (about 2 years ago)
- Last Synced: 2025-04-05T13:44:06.084Z (11 months ago)
- Language: Python
- Homepage: https://febus982.github.io/python-ioc/
- Size: 71.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IoC
[//]: # ([](https://pypi.org/project/bootstrap-python-package/))
[](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#work-in-progress)
[](https://github.com/febus982/bootstrap-python-package/actions/workflows/python-3.8.yml)
[](https://github.com/febus982/bootstrap-python-package/actions/workflows/python-3.9.yml)
[](https://github.com/febus982/bootstrap-python-package/actions/workflows/python-3.10.yml)
[](https://github.com/febus982/bootstrap-python-package/actions/workflows/python-3.11.yml)
[](https://github.com/febus982/bootstrap-python-package/actions/workflows/python-3.12.yml)
[](https://codeclimate.com/github/febus982/python-ioc/maintainability)
[](https://codeclimate.com/github/febus982/python-ioc/test_coverage)
[](https://mypy-lang.org/)
[](https://github.com/psf/black)
[](https://github.com/charliermarsh/ruff)
This project is a framework that implements Inversion of Control and [Dependency Inversion principle](https://en.wikipedia.org/wiki/Dependency_inversion_principle).
Dependencies can be resolved in two different ways:
* Invoking directly the IoC Container ([Service Locator pattern](https://en.wikipedia.org/wiki/Service_locator_pattern))
* Using the [Dependency Injection](https://en.wikipedia.org/wiki/Dependency_injection) helpers
## How to use the framework
### Register the dependencies
`TODO`
### Resolve the dependencies
`TODO`
## Commands for development
* `make dev-dependencies`: Install dev requirements
* `make test`: Run test suite
* `make check`: Run tests, code style and lint checks
* `make fix`: Run code style and lint automatic fixes (where possible)
* `make docs`: Render the mkdocs website locally