pfun

Functional, composable, asynchronous, type-safe Python.

MIT License

Stars
149

Bot releases are visible (Hide)

pfun - 0.13.2 Latest Release

Published by suned 11 months ago

Features

  • Support Python 3.11 (contributed by @sdaves) (#125)
pfun - 0.13.2

Published by suned 11 months ago

Features

  • Support Python 3.11 (contributed by @sdaves) (#125)
pfun - 0.13.1

Published by suned over 2 years ago

Fixes

  • Fix illegal C code generation in Python 3.10 (#101)

Other

  • Enable MyPy plugin compatibility with MyPy 0.950 (#102)
pfun - 0.13.0

Published by suned almost 3 years ago

Features:

  • More methods for combining effects asynchronously (#93)
  • 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)
  • More flexible pfun.Intersection type that enables type inference (#94)
  • pfun.DefaultModules module provider for pfun provided live modules (Files, Clock, Random, Console)

Fixes

  • Support variadic arguments to pfun.effect.combine mypy plugin hook (#92)
  • Improve typing of pfun.maybe (#91)

Other

  • Rename sequence to gather(#95)
  • Rename pfun.ref to pfun.state (#96)
pfun - 0.12.3

Published by suned about 3 years ago

Features

  • pfun now supports lenses through pfun.lens (#86)
pfun - 0.12.2

Published by suned over 3 years ago

Fixes

  • Process and thread pool executors of pfun.effect are now initialized lazily to support running on AWS Lambda (#85)
pfun - 0.12.1

Published by suned over 3 years ago

  • Hypothesis strategies are now published in the module pfun.hypothesis_strategies
  • Adds curried, type-safe operators in the pfun.operator module
pfun - 0.12.0

Published by suned over 3 years ago

Features

  • pfun.effect is now implemented in Cython, which greatly improves trampoline interpretation speed
  • pfun.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

Fixes

pfun - 0.11.5

Published by suned over 3 years ago

  • Ensure compatibility with MyPy 0.800 (@hugosenari )
  • Fix issue where effect.Resource would not properly close resources
pfun - 0.11.4

Published by suned over 3 years ago

  • Fix issue with pfun.files.read_byte with missing r parameter to open (@thomhickey )
pfun - 0.11.3

Published by suned about 4 years ago

  • Allow pfun.effect.catch to accept async functions
pfun - 0.11.2

Published by suned about 4 years ago

  • Improve speed of pfun.aio_trampoline.sequence (and thereby also of pfun.effect)
pfun - 0.11.1

Published by suned about 4 years ago

  • Make pfun.either.sequence significantly faster by reducing number of internal callbacks instantiated
  • Fix various type issues related to pfun.Either
pfun - 0.11.0

Published by suned about 4 years ago

  • Improve typing of pfun.functions.curry decorated functions. Fixes a bug with generic functions, and makes it possible to curry functions with variadic and optional args
  • Rename map_m to for_each
  • Rename filter_m to filter_
  • Rename get_environment to depend
pfun - 0.10.0

Published by suned about 4 years ago

  • Delete obsolete monads
  • Enable running in effects in separate processes and threads
  • Various improvements to type inference in the mypy plugin
pfun - 0.9.0

Published by suned over 4 years ago

  • Add pfun.effect.sql for working with postgres databases without with Effect
  • Allow resource_factory in pfun.effect.Resource to fail by returning an Either
pfun - 0.8.0

Published by suned over 4 years ago

  • Add pfun.effect.http module for making http requests
  • Add pfun.effect.effect.Resource for managing context managers in effects
pfun - 0.7.0

Published by suned over 4 years ago

  • Add pfun.effect.logging which enables logging using Effect and the built-in logging module
pfun - 0.6.0

Published by suned over 4 years ago

  • Added pfun.effect module as a unified effect system
  • Changed the Monoid ABC to use __add__ rather than append as the binary operation to avoid collision with List.append
pfun - 0.5.1

Published by suned about 5 years ago

  • Fix readme on pypi