Skip to content

How to restrict DependenciesContainer type? #513

Open
@chbndrhnns

Description

@chbndrhnns

I am trying to re-create an onion-layer architecture with the dependency injector library. Here is a snippet:

from dependency_injector import containers, providers

class DbAdapter:

  def get_all(self):
    return []

class Repo:
  def __init__(self, adapter):
    self._adapter = adapter


class Adapters(containers.DeclarativeContainer):
    db_adapter = providers.Singleton(
        DbAdapter
    )


class Repositories(containers.DeclarativeContainer):
    adapters: Adapters = containers.DependenciesContainer()

    repo = providers.Factory(
        Repo, adapter=adapters.db_adapter
    )

Can I make dependency-injector check the provided container for adapters and reject invalid types?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions