Skip to content

Releases: modern-python/that-depends

4.0.0

10 Jun 08:40

Choose a tag to compare

4.0.0 Release

For information about all the new features and changes, please refer to the documentation.

If migrating, please refer to the migration guide.

What's Changed

  • Reworked injection internals for significantly better performance and typing compliance. The bundled benchmark improved from ~9s to ~4s at 10^6 iterations versus 3.9.2.
  • Collection providers now return read-only abstractions: providers.List(...) resolves to a tuple-backed Sequence, and providers.Dict(...) resolves to a mappingproxy-backed Mapping.
  • Tightened context-resource and scope handling, including cleaner sync and async context entry for containers and providers, stricter scope checks, and better None handling across provider resolution paths.
  • BaseContainer.context() now preserves the wrapped callable signature.
  • The package now ships with its own that-depends Agent skill.
  • Now type checked by both mypy and pyrefly

Pull Requests

Full Changelog: 3.9.2...4.0.0

4.0.0-alpha.2

08 Jun 17:35
0997b9e

Choose a tag to compare

4.0.0-alpha.2 Pre-release
Pre-release

4.0.0-alpha.1

06 May 08:18
2e638c3

Choose a tag to compare

4.0.0-alpha.1 Pre-release
Pre-release

What's Changed

Full Changelog: 4.0.0-alpha...4.0.0-alpha.1

4.0.0-alpha

29 Apr 09:51
cf7378e

Choose a tag to compare

4.0.0-alpha Pre-release
Pre-release

What's Changed

Full Changelog: 3.9.2...4.0.0-alpha

3.9.2

04 Mar 14:54

Choose a tag to compare

What's Changed

  • fix: minor __slots__ bugfix in container_context

Full Changelog: 3.9.1...3.9.2

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