effect icon indicating copy to clipboard operation
effect copied to clipboard

effect isolation in Python, to facilitate more purely functional code

Results 12 effect issues
Sort by recently updated
recently updated
newest added

I'm trying to get my head around this library and I'm having some trouble understanding how I'm meant to structure Effects that are built out of other Effects, and how...

- [ ] delays between retries: - [ ] constant - [ ] exponential - [ ] randomized modifier - [ ] maximum number of retries - [ ] super...

enhancement
help wanted

It will be cool to write effect code using async/await syntax introduced in [PEP 492](https://www.python.org/dev/peps/pep-0492). For example, following code using `do` decorator: ```python @do def eff_func(): r1 = yield Effect(Intent1())...

The inverse is called 'catch' so it would seem to make sense (and allow for dropping the gross trailing underscore).

These are all the same function: - https://github.com/python-effect/effect/blob/826cbc5b6917683ba6ddf70cd693d3028ecdf226/effect/_test_utils.py#L52 - https://github.com/python-effect/effect/blob/826cbc5b6917683ba6ddf70cd693d3028ecdf226/effect/_base.py#L183 - https://github.com/python-effect/effect/blob/826cbc5b6917683ba6ddf70cd693d3028ecdf226/effect/test_retry.py#L63 so probably some of them should import the one implementation

This is perhaps a usage bug rather than a bug in effect, but: ``` class Print: def __init__(self, line): self.line = line @sync_performer def real_print(dispatcher, print_): print(print_.line) import pdb;pdb.Pdb(stdout=sys.stderr).set_trace() sys.stdout.flush()...

Similar to https://twistedmatrix.com/trac/ticket/6538 , which is for tracing callback history on Deferreds, I think we should have this feature for Effects. I _hope_ that it will be easier for Effects....

enhancement

It would be nice to have an analog of [DeferredSemaphore](http://twistedmatrix.com/documents/current/api/twisted.internet.defer.DeferredSemaphore.html) and/or [DeferredLock](http://twistedmatrix.com/documents/current/api/twisted.internet.defer.DeferredLock.html). This could then be used to implement #8.

Unlike Deferreds, Effects can't have callbacks added to them after a result is available. This means that they have a handy property that once an effect has been performed, and...

enhancement
help wanted

Original ask: https://github.com/rackerlabs/otter/pull/789/files?diff=split#diff-46adfe1ec6f5f279e1d90dc10518c9abR188

enhancement
help wanted