Skip to content

Releases: dry-python/returns

Version 0.9.0

Choose a tag to compare

@sobolevn sobolevn released this 01 Jul 12:18
f0b626c

Features

  • Provides a bunch of primitive interfaces to write your own containers
  • Adds .map_failure() method
  • Adds join() function to join nested containers

Bugfixes

  • Fixes type of Maybe.fix and Maybe.rescue to work with both lambda: 1 and lambda _: 1

Misc

  • Improves README

Version 0.8.0

Choose a tag to compare

@sobolevn sobolevn released this 17 Jun 11:23
37df1b2

Features

  • Reintroduces the Maybe monad, typed!
  • Introduces converters from one type to another
  • Adds mypy plugin to type decorators
  • Complete rewrite of Result types
  • Partial API change, now Success and Failure are not types, but functions
  • New internal types introduced: FixableContainer and ValueUnwrapContainer

Bugfixes

  • Fixes issue when you could return IO container from Result.bind
  • Fixes @pipeline return type

Misc

  • Reapplied all types to .py files
  • Improved docs about IO and Container concept
  • Adds docs about container composition
  • Moves from Alpha to Beta

Version 0.7.0

Choose a tag to compare

@sobolevn sobolevn released this 11 Jun 08:50
de328e8

Features

  • Adds IO marker
  • Adds unsafe module with unsafe functions
  • Changes how functions are located inside the project

Bugfixes

  • Fixes container type in @pipeline
  • Now is_successful is public
  • Now raise_exception is public

Misc

  • Changes how str() function works for container types
  • Total rename to "container" in the source code

Version 0.6.0

Choose a tag to compare

@sobolevn sobolevn released this 07 Jun 11:11
88a42ec

Features

  • safe and pipeline now supports asyncio
  • is_successful now returns Literal types if possible

Version 0.5.0

Choose a tag to compare

@sobolevn sobolevn released this 01 Jun 11:06
4db0b48

Features

  • Adds compose helper function
  • Adds public API to import returns
  • Adds raise_exception helper function
  • Adds full traceback to .unwrap()

Misc

  • Updates multiple dev-dependencies, including mypy
  • Now search in the docs is working again
  • Relicenses this project to BSD
  • Fixes copyright notice in the docs

Version 0.4.0 aka Goodbye, Monads!

Choose a tag to compare

@sobolevn sobolevn released this 04 Feb 11:45
a3a849b

Features

  • Moves all types to .pyi files
  • Renames all classes according to new naming pattern
  • HUGE improvement of types
  • Renames fmap to map
  • Renames do_notation to pipeline, moves it to functions.py
  • Renames ebind to rescue
  • Renames efmap to fix
  • Renames Monad to Container
  • Removes Maybe monad, since typing does not have NonNullable type

Version 0.3.1

Choose a tag to compare

@sobolevn sobolevn released this 02 Feb 18:03
12b4715

Bugfixes

  • Adds py.typed file to be PEP561 compatible

Version 0.3.0

Choose a tag to compare

@sobolevn sobolevn released this 02 Feb 18:03
281c59b

The project is renamed to returns and moved to dry-python org.

Features

  • Adds .pyi files for all modules,
    to enable mypy support for 3rd party users

Version 0.2.0

Choose a tag to compare

@sobolevn sobolevn released this 30 Jan 22:36
38e297b

Features

  • Adds Maybe monad
  • Adds immutability and __slots__ to all monads
  • Adds methods to work with failures
  • Adds safe decorator to convert exceptions to Either monad
  • Adds is_successful() function to detect if your result is a success
  • Adds failure() method to unwrap values from failed monads

Bugfixes

  • Changes the type of .bind method for Success monad
  • Changes how equality works, so now Failure(1) != Success(1)
  • Changes how new instances created on unused methods

Misc

  • Improves docs

Version 0.1.1

Choose a tag to compare

@sobolevn sobolevn released this 28 Jan 13:37
aaad83f

Bugfixes

  • Changes how PyPI renders package's page

Misc

  • Improves README with new badges and installation steps