fromruption.optionimportsomeassert (
some(2)
.map(lambdax: x*2)
.inspect(print) # output: 4
.unwrap()) ==4fromruption.resultimportokassert (
ok(2)
.map(lambdax: x*2)
.inspect(print) # output: 4
.unwrap()) ==4fromruption.pacifyimportpacify_callable_resultfromruption.pacifyimportpacify_call_resultfromruption.pacifyimportpacify_callablefromruption.pacifyimportpacify_call# pacify_callable for Option, pacify_callable_result for Result@pacify_callable_result()defdiv(dividend, divisor):
returndividend/divisorassertdiv(10, 5).is_ok_and(lambdar: r==2)
assertdiv(10, 0).is_err_and(lambdae: isinstance(e, ZeroDivisionError))
# pacify_call for Option, pacify_call_result for Resultassertpacify_call(lambda: 2+2).contains(4)Imports:
from ruption.pacify import *
from ruption.option import Option, some, none
from ruption.result import Result, ok, err
from ruption.panic import Panic
Installation:
pip install git+https://github.com/phantie/ruption.git