Skip to content
This repository was archived by the owner on Jul 7, 2024. It is now read-only.

Repository files navigation

  • Implements pacify module
  • Implements subset of Option enum
  • Implements subset of Result enum

Examples:

Option:

fromruption.optionimportsomeassert (
some(2)
.map(lambdax: x*2)
.inspect(print) # output: 4
.unwrap()) ==4

Result:

fromruption.resultimportokassert (
ok(2)
.map(lambdax: x*2)
.inspect(print) # output: 4
.unwrap()) ==4

Pacify:

fromruption.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

About

Reliability utilities with good type hinting based on Rust's Option/Result

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages