Skip to content

Releases: sassanh/python-redux

v0.25.0

20 Dec 16:09
v0.25.0
e1997ad

Choose a tag to compare

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

Changes:

  • refactor: use custom value NOT_SET = object() instead of None to signal the absence of a value for the default_value parameter in AutorunOptions and internally in Autorun class for properties storing last selector result and last call result
  • build: switch versioning source to version.py, support Python 3.14
  • refactor: improve weakref handling in store listeners and event handlers, remove manual weakref handling in SideEffectRunner, optimize Autorun checks and subscription logic
  • test: add tests for subscription lifecycle
  • ci: add code coverage check to integration_delivery workflow

v0.24.0

22 May 03:09
v0.24.0
9676fd3

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

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

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

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

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

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

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

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

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