tatami.di module

class tatami.di.Inject(factory=None, scope=Scope.SINGLETON)[source]

Bases: object

Parameters:
  • factory (Callable | None)

  • scope (Scope)

__init__(factory=None, scope=Scope.SINGLETON)[source]
Parameters:
  • factory (Callable | None)

  • scope (Scope)

class tatami.di.InjectableMetadata(scope: tatami.di.Scope, singleton: T | None = None)[source]

Bases: object

Parameters:
  • scope (Scope)

  • singleton (T | None)

__init__(scope, singleton=None)
Parameters:
  • scope (Scope)

  • singleton (T | None)

Return type:

None

scope: Scope
singleton: T | None = None
class tatami.di.Scope(*values)[source]

Bases: Enum

REQUEST = 'request'
SINGLETON = 'singleton'
class tatami.di.TatamiInternals[source]

Bases: object

tatami.di.get_tatami_metadata(cls)[source]
Parameters:

cls (type)

tatami.di.inject(fn)[source]
Parameters:

fn (Callable)

Return type:

Callable

tatami.di.injectable(cls: type[T]) T[source]
tatami.di.injectable(scope: Scope = Scope.SINGLETON) type
tatami.di.injectable(*, scope: Scope = Scope.SINGLETON) type
tatami.di.is_injectable(cls)[source]
Parameters:

cls (type)

Return type:

bool

tatami.di.is_tatami_object(cls)[source]
Parameters:

cls (type)

Return type:

bool