Skip to content

Releases: sassanh/python-redux

v0.23.0

23 Apr 10:11
v0.23.0
d6d079b
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.23.0

Changes:

  • refactor: remove WithState as it wasn't doing anything beyond functools.wraps
  • refactor: autorun doesn't inform subscribers when the output value is not changed
  • refactor: add autorun_class and side_effect_runner_class to improve extensibility
  • refactor: setting auto_await for async autorun functions will make them return None, setting it to False will make them return the awaitable, the awaitable can be awaited multiple times, as it cashes the result if comparator is not changed, it can't be set for sync functions
  • refactor: housekeeping, remove unused callback of task creators, remove unused _task_callback of autoruns, clean up type hints, etc

v0.22.2

28 Mar 15:40
v0.22.2
28e5e5b
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.22.2

Changes:

  • fix: add __qualname__, __annotations__, __module__, __defaults__ and __kwdefaults__ to Autorun and WithStore instances so that they play nice when passed as a function to something assuming they are normal function having these properties.

v0.22.1

21 Mar 14:55
v0.22.1
a08e6db
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.22.1

Changes:

  • fix: add __name__ to WithStore instances so that they play nice when passed as a function to something assuming they are functions and have a __name__ attribute
  • test: add/modify tests to bring back coverage to 100%

v0.22.0

19 Mar 14:01
v0.22.0
e2ffd03
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.22.0

Changes:

  • test: make sure pytest exits completely after running async tests
  • refactor: in _wait_for_store_to_finish, instead of waiting with asyncio.sleep, run the store event loop when conditions are not satisfied
  • refactor: directly run _handle_finish_event in the store event loop when FinishEvent is dispatched, previously it used to be a normal subscribe_event, events registered in subscribe_event run in SideEffectRunnerThread and it runs them with the task_runner, and there is no guarantee task_runner runs tasks after FinishEvent is dispatched

v0.21.1

15 Mar 14:36
v0.21.1
607c2a2
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.21.1

Changes:

  • refactor: add WithState class to be the return value of the store.with_state so that it can report correct signature of its __call__ method
  • chore(docs): add documentation strings for elements defined in autorun.py

v0.21.0

15 Mar 14:26
v0.21.0
2581312
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.21.0

Changes:

  • refactor: add WithState class to be the return value of the store.with_state so that it can report correct signature of its __call__ method
  • chore(docs): add documentation strings for elements defined in autorun.py

v0.20.2

14 Mar 13:07
v0.20.2
49f45d3
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.20.2

Changes:

  • chore(lint): update ruff to 0.10.0 and fix linting issues, make store.subscribe private

v0.20.1

09 Mar 07:56
v0.20.1
f0a8eb3
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.20.1

Changes:

  • fix: avoid using asdict in combine-reducers's reducer as it can get too costly for large dataclasses and may even run into errors

v0.20.0

07 Mar 19:48
v0.20.0
684a61c
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.20.0

Changes:

  • feat: add memoization option to autorun, default is True, compatible with old behavior, if set to False, calling the function explicitly will always run it regardless of the selector's value
  • feat: add with_selector, as a decorator to run functions with the result of a selector.

v0.19.1

27 Feb 23:54
v0.19.1
1bc289e
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/python-redux/0.19.1

Changes:

  • refactor: provide correct signature for the autorun instance based on the function it decorates
  • refactor: side effect runners always run the side effect in the event loop provided to them regardless of the return value of the side effect being a coroutine or not, this is because even if the side effect is not a coroutine, it might still use async features internally