Source: python-returns Homepage: https://github.com/dry-python/returns Maintainer: Debian Python Team Uploaders: Maximiliano Curia Section: python Priority: optional Standards-Version: 4.6.2 Build-Depends: debhelper-compat (= 13), dh-sequence-python3, pybuild-plugin-pyproject, python3-poetry-core, python3-all (>= 3.9), python3-typing-extensions (>= 4.0), mypy (>= 1.10), python3-pytest (>= 8), python3-hypothesis (>= 6.98), python3-anyio (>= 4.3), python3-trio (>= 0.25), python3-attr (>= 23.2), python3-httpx (>= 0.27), python3-pytest-cov (>= 5), python3-pytest-mypy (>= 3.1), python3-pytest-subtests (>= 0.12), python3-doc8, Testsuite: autopkgtest-pkg-pybuild Vcs-Git: https://salsa.debian.org/python-team/packages/python-returns.git Vcs-Browser: https://salsa.debian.org/python-team/packages/python-returns Rules-Requires-Root: no Package: python3-returns Architecture: all Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, Description: Make your functions return something meaningful, typed, and safe Basically, the answer is that returns provides useful abstractions that solve some problems every developer has: . * ``Maybe`` helps to work with None in a type-safe way * ``Result`` helps to work with exceptions in a type-safe way * ``IO`` helps to separate pure code from impure code to make your architecture better * ``Future`` helps to write await free code * ``RequiresContext`` helps to inject dependencies in a very readable, explicit, type-safe, and clean way * ``Pipelines`` can be used independently or together with the types above to create complex, declarative, and type-safe data pipelines . On top of that ``returns`` provides useful interfaces that allows you to switch implementation on the fly. For example, you can write code that works the same way for sync and async execution flows. While being fully type-safe at the same time. . And you can write your own primitives that will solve any other problem you can possible have based on ``returns`` existing or your custom interfaces.