Skip to content

Releases: modern-python/that-depends

3.9.1

17 Nov 14:14

Choose a tag to compare

What's Changed

  • docs: Added llms.txt by @xelandernt in #206
  • fix: Injection warnings are now more useful when incorrectly wrapping functions with @inject

Full Changelog: 3.9.0...3.9.1

3.9.0

04 Nov 12:20
5b45296

Choose a tag to compare

What's Changed

Full Changelog: 3.8.0...3.9.0

3.8.0

17 Oct 22:19
51958c5

Choose a tag to compare

What's Changed

  • build: updated workflow actions versions. by @xelandernt in #200
  • Experimental Lazy provider by @xelandernt in #204
  • Temporarily fixed faststream<0.6.0

Full Changelog: 3.7.0...3.8.0

3.7.0

08 Oct 08:30
5b8a8a1

Choose a tag to compare

What's Changed

  • fix: raise UserWarning when trying to wrap generators with container_context by @xelandernt in #198
  • feat: added python 3.14 support. by @xelandernt in #199

Full Changelog: 3.6.0...3.7.0

3.6.0

18 Aug 10:16
2a8b48f

Choose a tag to compare

What's Changed

This change enables the following functionality:

class MyClass: ...

class Container(BaseContainer):
    p = providers.AsyncFactory(MyClass)

await Container.p.resolve() # will resolve MyClass asynchronously, allowing for async dependencies. 

Full Changelog: 3.5.1...3.6.0

3.5.1

10 Aug 05:33
94881dd

Choose a tag to compare

What's Changed

  • DIContextMiddleware for faststream. by @alexanderlazarev0 in #193
  • use uv-build backend by @lesnik512 in #195

Full Changelog: 3.5.0...3.5.1

3.5.0

15 Jul 12:28
f946768

Choose a tag to compare

What's Changed

  • Feature: State provider by @alexanderlazarev0 in #190

For more information regarding the new State provider please consult the documentation.

Full Changelog: 3.4.1...3.5.0

3.4.1

08 May 10:57

Choose a tag to compare

What's Changed

  • Bugfix: Add enter_scope in BaseContainer.inject()

Full Changelog: 3.4.0...3.4.1

3.4.0

06 May 22:29
fdcb515

Choose a tag to compare

What's Changed

  • Allow entering scope when using @Inject. by @alexanderlazarev0 in #189

To enter scope when using @inject:

@inject(scope=ContextScopes.APP, enter_scope=True)
async def foo(...) -> None: 
    assert get_current_scope() == ContextScopes.APP

For more details, please consult the documentation.

Full Changelog: 3.3.0...3.4.0

3.3.0

05 May 20:33
8d7a24c

Choose a tag to compare

What's Changed

  • Dependency injection by bound type. by @alexanderlazarev0 in #188

You can now inject without explicitly referencing the provider:

@Container.inject
async def foo(v: float = Provide()): 
    ...

Please read the documentation for further details.

Full Changelog: 3.2.0...3.3.0