Functional, composable, asynchronous, type-safe Python.
Effect.race
method which allows racing effects against each other asynchronously (#94)Effect.timeout
method which allows timing out effects (#94)Effect.retry
and Effect.repeat
which allows retrying or repeating effects according to a schedule (#94)pfun.schedule
for building schedules (#94)pfun.random
for random number generation as an effect (#94)pfun.clock
for getting system time and sleeping as an effect (#94)pfun.Intersection
type that enables type inference (#94)pfun.DefaultModules
module provider for pfun
provided live modules (Files
, Clock
, Random
, Console
)pfun.effect.combine
mypy plugin hook (#92)pfun.maybe
(#91)sequence
to gather
(#95)pfun.ref
to pfun.state
(#96)pfun
now supports lenses through pfun.lens
(#86)pfun.effect
are now initialized lazily to support running on AWS Lambda (#85)pfun.hypothesis_strategies
pfun.operator
modulepfun.effect
is now implemented in Cython, which greatly improves trampoline interpretation speedpfun.maybe
and pfun.either
are now both tagged unions implemented through __bool__
, which allows you to narrow the type using if
statements instead of the more verbose isinstance
aiohttp
dependency version is increased to 3.7.4 to avoid open redirect vulnerability
effect.Resource
would not properly close resourcespfun.files.read_byte
with missing r
parameter to open
(@thomhickey )pfun.effect.catch
to accept async functions