We follow Semantic Versions since the 0.1.0
release.
Provides a bunch of primitive interfaces to write your own containers
Adds .map_failure()
method
Adds join()
function to join nested containers
Fixes type of Maybe.fix
and Maybe.rescue
to work with both lambda: 1
and lambda _: 1
Improves README
Reintroduces the Maybe
container, 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
Fixes issue when you could return IO
container from Result.bind
Fixes @pipeline
return type
Reapplied all types to .py
files
Improved docs about IO
and Container
concept
Adds docs about container composition
Moves from Alpha
to Beta
Adds IO
marker
Adds unsafe
module with unsafe functions
Changes how functions are located inside the project
Fixes container type in @pipeline
Now is_successful
is public
Now raise_exception
is public
Changes how str()
function works for container types
Total rename to “container” in the source code
safe
and pipeline
now supports asyncio
is_successful
now returns Literal
types if possible
Adds compose
helper function
Adds public API to import returns
Adds raise_exception
helper function
Adds full traceback to .unwrap()
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
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 container
to Container
Removes Maybe
container, since typing does not have NonNullable
type
returns
¶The project is renamed to returns
and moved to dry-python
org.
Adds .pyi
files for all modules,
to enable mypy
support for 3rd party users
Adds Maybe
container
Adds immutability and __slots__
to all containers
Adds methods to work with failures
Adds safe
decorator to convert exceptions to Result
container
Adds is_successful()
function to detect if your result is a success
Adds failure()
method to unwrap values from failed containers
Changes the type of .bind
method for Success
container
Changes how equality works, so now Failure(1) != Success(1)
Changes how new instances created on unused methods
Improves docs
Changes how PyPI
renders package’s page
Improves README
with new badges and installation steps
Initial release. Featuring only Result
and do_notation
.