febus982 / bootstrap-python-fastapi

A python service built using Clean Architecture and SOLID principles
https://febus982.github.io/bootstrap-python-fastapi
37 stars 2 forks source link

Find alternative to dependency-injector framework #71

Open febus982 opened 9 months ago

febus982 commented 9 months ago

The project is not actively maintained except for urgent requirements: https://github.com/ets-labs/python-dependency-injector/issues/742

~Once python 3.12 is released it will pin pydantic to v1, making the package incompatible (https://github.com/ets-labs/python-dependency-injector/pull/765 https://github.com/ets-labs/python-dependency-injector/pull/752)~

Potential candidates (https://github.com/sfermigier/awesome-dependency-injection-in-python)?

macieyng commented 9 months ago

https://github.com/ets-labs/python-dependency-injector/pull/752#issuecomment-1773689348 Pydantic v1 will be pinned only for tests. It's not a dependency od dependency-injector. It doesn't mean you can't use it with Python 3.12.

febus982 commented 9 months ago

Thanks for specifying this @macieyng I updated the issue description in case anyone stumbles on this. (This makes this issue a little less urgent to fix at least)

Unfortunately despite this, it looks like there is not much time to maintain bugs, apart from urgent requirements (from https://github.com/ets-labs/python-dependency-injector/issues/742#issuecomment-1812652596). Before python 3.12 support the last commit was almost a year ago.

A shame, because I truly love the framework (I'm not a C developer or I'd contribute to some of them).

I use only a minimal subset of the functionalities the framework provides, it might be easier to simply rewrite them in python.

febus982 commented 1 day ago

The package now supports python 3.12, however this issue will remain open because I'd like to switch to a system that allows binding dependencies to class interfaces (ABC or Protocols), not only to string names.