Skip to content

Releases: python-effect/effect

1.1.0 - deprecate do_return

24 Nov 05:12
Compare
Choose a tag to compare
  • The do_return function which was previously used to support returning values from @do functions is now deprecated. In Python 3, we can just use return statements.

  • The very last bare-except: clause was removed from the Effect library, meaning that KeyboardInterrupt and SystemExit should no longer be swallowed by effect performance.

1.0 - effect is now Python3-only and uses Exceptions instead of exc_info tuples

24 Nov 01:45
Compare
Choose a tag to compare

This is a major backwards-incompatible release of Effect.

Everywhere that exc_info tuples were previously used for exceptions, now we simply use Exception instances. exc_info tuples were only necessary on Python 2, because Exception objects did not carry their tracebacks. Now, on Python 3, tracebacks are embedded in the Exception instance, so we don't need to worry about that old three-tuple.

This means that Effect 1.0 only supports Python 3 and up (officially, only 3.6 and up are supported).

0.11.0

02 Jan 19:13
Compare
Choose a tag to compare

Incompatible changes:

  • Python 2.6 is no longer officially supported, though it might still work for now.

Features:

Thanks to @manishtomar who contributed the work for this release.

0.10.1

02 Nov 15:20
Compare
Choose a tag to compare

Features:

  • Added effect.io, which gives intents for representing print and raw_input-style interactions
  • The Func intent now accepts _args and *_kwargs to pass through to the function, and which are compared on __eq__, to make testing easier.
  • effect.raise_ is a convenience function to raise an exception instance.
  • effect.testing.noop is lambda i: None, and is intended to be used in perform_sequence sequences.
  • effect.perform_delay_with_sleep is a new performer that performs Delay intents by sleeping.
  • The exceptions raised from perform_sequence have more informative output.

Effect 0.10

25 Aug 20:55
Compare
Choose a tag to compare

Features:

  • Added a code of conduct
  • Added two new testing utilities in effect.testing: perform_sequence and parallel_sequence, which make using using and debugging SequenceDispatcher much nicer.
  • On Python 3, you can now use the return statement to return values from functions using @do notation.

Bug fixes:

  • Fixed a bug where @do would not propagate StopIteration exceptions
  • Fixed a bug that prevented @sync_performer-decorated functions from accepting keyword arguments

Other:

  • Many documentation improvements