Skip to content

Releases: sassanh/python-redux

v0.24.0

22 May 03:09
v0.24.0
9676fd3
Compare
Choose a tag to compare

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

Changes:

  • chore: add badges in README.md and classifiers in pyproject.toml
  • refactor: move the common code for manipulating the signature of the wrapped functions in WithStore and Autorun to a utility function
  • feat: support with_state to be applied to methods of classes, not just functions
  • feat: support view to be applied to methods of classes, not just functions, it works for autorun too, but only when it is being called directly like a view
  • refactor: rename _id field of combine reducer state to combine_reducers_id
  • feat: allow customizing the async task creator of the Autorun instance by overriding its _create_task method

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.