v0.11.1 (2024-05-07)
Merged pull requests:
- perf: let EventedSet use clear() method of underlying set #307 (DanGonite57)
v0.11.0 (2024-03-29)
Implemented enhancements:
- refactor: change EmitLoopError message, and mechanism of info gathering #302 (tlambert03)
- feat: add signal aliases on SignalGroup #299 (getzze)
- feat!: Rename
recursion_mode
toreemission
. Renamedeferred
toqueued
. Addlatest-only
mode. (technically breaking) #296 (tlambert03)
Merged pull requests:
- ci(dependabot): bump pypa/cibuildwheel from 2.16.5 to 2.17.0 #303 (dependabot[bot])
v0.10.2 (2024-03-12)
Fixed bugs:
- fix: fix hard reference to objects in emitted arguments #301 (tlambert03)
v0.10.1 (2024-03-11)
Implemented enhancements:
- feat: Add recursion_mode ('immediate' or 'deferred') to Signal and SignalInstance #293 (tlambert03)
- feat: add collect_fields option to SignalGroupDescriptor, and accept a SignalGroup subclass #291 (getzze)
Fixed bugs:
Merged pull requests:
- ci(dependabot): bump softprops/action-gh-release from 1 to 2 #295 (dependabot[bot])
- chore: patch asv config to work locally with arm64 macos on hatchling #294 (tlambert03)
v0.10.0 (2024-03-05)
Implemented enhancements:
- feat: add priority to connect, to control callback order #285 (tlambert03)
- feat: support for evented containers as pydantic v2 fields #283 (tlambert03)
- perf: Fixing performance of evented set #275 (Czaki)
- refactor!: New SignalGroup that does not subclass SignalInstance #269 (tlambert03)
- feat: emit the old value as second argument in Signals from SignalGroupDescriptor (evented dataclass) #257 (getzze)
Fixed bugs:
- fix: ensure proper order of signal emission #281 (Czaki)
- feat: deduplicate events emission in nested properties #279 (Czaki)
- fix: fix connect_setattr on dataclass field signals #258 (tlambert03)
- fix: add and fix copy operators #255 (Czaki)
- fix: fix 3.7 build #250 (tlambert03)
Tests & CI:
- test: test for recursion error #284 (tlambert03)
- ci: inherit secrets in reusable workflow #266 (tlambert03)
Merged pull requests:
- chore: un-deprecate SignalGroup.signals #288 (tlambert03)
- chore: use ruff format instead of black #287 (tlambert03)
- refactor: Add back SignalGroup methods #286 (tlambert03)
- chore: remove asynchronous emit and other deprecations #282 (tlambert03)
- refactor: Unify pydantic evented model modules #280 (tlambert03)
- perf: Do not use reducer if there is no callback in
SignalInstance.resume
#278 (Czaki) - perf: Delay SignalRelay connection to when a callback is connected #277 (tlambert03)
- build: remove all dependencies #273 (tlambert03)
- docs: Update README.md with evented containers #272 (tlambert03)
- docs: Update README.md with
make build
#270 (tlambert03) - build: Drop python 3.7 #268 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.16.4 to 2.16.5 #263 (dependabot[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.16.2 to 2.16.4 #256 (dependabot[bot])
- ci(dependabot): bump actions/cache from 3 to 4 #253 (dependabot[bot])
- ci(dependabot): bump actions/upload-artifact from 3 to 4 #249 (dependabot[bot])
- ci(dependabot): bump actions/setup-python from 4 to 5 #248 (dependabot[bot])
- ci(dependabot): bump CodSpeedHQ/action from 1 to 2 #246 (dependabot[bot])
- ci(dependabot): bump conda-incubator/setup-miniconda from 2 to 3 #245 (dependabot[bot])
- ci: use reusable ci workflow #241 (tlambert03)
v0.9.5 (2023-11-13)
Implemented enhancements:
- feat: better repr for WeakCallback objects #236 (tlambert03)
Merged pull requests:
- fix: fix py37 build #243 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.16.1 to 2.16.2 #240 (dependabot[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.15.0 to 2.16.1 #238 (dependabot[bot])
- refactor: make EmitLoop error message clearer #232 (tlambert03)
v0.9.4 (2023-09-19)
Implemented enhancements:
- perf: don't compare before/after values in evented dataclass/model when no signals connected #235 (tlambert03)
Fixed bugs:
- fix: emission of events from root validators and extraneous emission of dependent fields #234 (tlambert03)
Merged pull requests:
- ci(dependabot): bump actions/checkout from 3 to 4 #231 (dependabot[bot])
- test: python 3.12 #225 (tlambert03)
v0.9.3 (2023-08-15)
Fixed bugs:
- fix: fix signature inspection on debounced/throttled, update typing and wrapped #228 (tlambert03)
Merged pull requests:
- build: restrict py versions on cibuildwheel #229 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.14.1 to 2.15.0 #227 (dependabot[bot])
v0.9.2 (2023-08-12)
Fixed bugs:
- fix: add deepcopy method for mypyc support, don't copy weakly connected slots #222 (tlambert03)
- Fix imports of typing extensions #221 (tlambert03)
Tests & CI:
- ci: fix linux wheels #226 (tlambert03)
- ci: change concurrency #224 (tlambert03)
Merged pull requests:
- build: remove setuppy #223 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.13.1 to 2.14.1 #218 (dependabot[bot])
- fix: fix duplicated derived events #216 (tlambert03)
- feat: support pydantic v2 #214 (tlambert03)
- ci(pre-commit.ci): autoupdate #213 (pre-commit-ci[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.13.0 to 2.13.1 #212 (dependabot[bot])
- ci(pre-commit.ci): autoupdate #211 (pre-commit-ci[bot])
v0.9.1 (2023-05-29)
Implemented enhancements:
- feat: Support toolz #210 (tlambert03)
Fixed bugs:
- fix: better error message with keyword only partials #209 (tlambert03)
Tests & CI:
- build: add test dep #206 (tlambert03)
Merged pull requests:
- ci(dependabot): bump pypa/cibuildwheel from 2.12.3 to 2.13.0 #207 (dependabot[bot])
- ci(pre-commit.ci): autoupdate #205 (pre-commit-ci[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.12.1 to 2.12.3 #204 (dependabot[bot])
v0.9.0 (2023-04-07)
Implemented enhancements:
- feat: add thread parameter to connection method, allowed "queued connections" #200 (tlambert03)
- build: add pyinstaller hook to simplify frozing apps using pyinstaller #194 (Czaki)
Merged pull requests:
- docs: add docs on connecting across thread #203 (tlambert03)
- chore: deprecate async keyword in emit method #201 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.12.0 to 2.12.1 #197 (dependabot[bot])
- ci(dependabot): bump actions/setup-python from 3 to 4 #193 (dependabot[bot])
v0.8.1 (2023-02-23)
Fixed bugs:
- fix: fix strict signal group checking when signatures aren't hashable #192 (tlambert03)
Tests & CI:
- test: add back typesafety tests #190 (tlambert03)
v0.8.0 (2023-02-23)
Implemented enhancements:
- feat: compile throttler module, improve typing #187 (tlambert03)
- feat: improved
monitor_events
#181 (tlambert03) - feat: make SignalGroupDescriptor public #173 (tlambert03)
Fixed bugs:
- fix: fix inheritance of classes with a SignalGroupDescriptor #186 (tlambert03)
- fix: minor typing fixes on
connect
#180 (tlambert03) - fix: add getattr to signalgroup for typing #174 (tlambert03)
Tests & CI:
- ci: add dataclasses benchmarks #189 (tlambert03)
- test: no cover compile funcs #185 (tlambert03)
- ci: add evented benchmark #175 (tlambert03)
- ci: add codspeed benchmarks #170 (tlambert03)
Merged pull requests:
- refactor: change patching of __setattr__ in SignalGroupDescriptor, make more explicit #188 (tlambert03)
- docs: small docs updates, document EmissionLoopError #184 (tlambert03)
- refactor: remove PSYGNAL_UNCOMPILED flag. #183 (tlambert03)
- docs: adding spellchecking to docs #182 (tlambert03)
- docs: update evented docs to descript SignalGroupDescriptor #179 (tlambert03)
- refactor: split out SlotCaller logic into new
weak_callable
module... maybe public eventually #178 (tlambert03) - refactor: split out dataclass utils #176 (tlambert03)
- refactor: use weakmethod instead of _get_method_name #168 (tlambert03)
v0.7.2 (2023-02-11)
Fixed bugs:
- fix: use weakref when instance is passed to SignalGroup #167 (tlambert03)
v0.7.1 (2023-02-11)
Implemented enhancements:
- feat: add
is_evented
andget_evented_namespace
#166 (tlambert03) - feat: add support for msgspec Struct classes to evented decorator #165 (tlambert03)
Fixed bugs:
- fix: fix clobbering of SignalGroup name in EventedModel #158 (tlambert03)
Merged pull requests:
- ci(dependabot): bump pypa/cibuildwheel from 2.11.4 to 2.12.0 #164 (dependabot[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.11.3 to 2.11.4 #159 (dependabot[bot])
v0.7.0 (2022-12-20)
Implemented enhancements:
- build: use mypyc instead of cython, move to hatch #149 (tlambert03)
Fixed bugs:
- fix: add dataclass_transform to maintain IDE typing support for EventedModel.__init__ #154 (tlambert03)
- Don't unblock/resume within nested contexts #150 (hanjinliu)
Merged pull requests:
- ci(pre-commit.ci): autoupdate #155 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.11.2 to 2.11.3 #153 (dependabot[bot])
- style: use ruff instead of flake8, isort, pyupgrade, autoflake, etc... #146 (tlambert03)
- chore: add deps to setup.py #145 (tlambert03)
- refactor: remove PartialMethodMeta for TypeGuard func #144 (tlambert03)
- refactor: don't use metaclass for signal group #143 (tlambert03)
v0.6.1 (2022-11-13)
Fixed bugs:
- fix: fix failed weakref in connect_setattr #142 (tlambert03)
- fix: fix disconnection of partials #134 (tlambert03)
Merged pull requests:
- chore: rename org to pyapp-kit #141 (tlambert03)
v0.6.0.post0 (2022-11-09)
Merged pull requests:
- build: unskip cibuildwheel py311 #140 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.11.1 to 2.11.2 #138 (dependabot[bot])
v0.6.0 (2022-10-29)
Implemented enhancements:
- build: drop py3.7 add py3.11 #135 (tlambert03)
Merged pull requests:
- chore: changelog v0.6.0 #137 (tlambert03)
- build: support 3.7 again #136 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.10.2 to 2.11.1 #133 (dependabot[bot])
v0.5.0 (2022-10-14)
Implemented enhancements:
- feat: add warning for poor usage #132 (tlambert03)
- feat: add
@evented
decorator, turn any dataclass, attrs model, or pydantic model into evented #129 (tlambert03)
Merged pull requests:
- docs: update readme #131 (tlambert03)
- docs: documentation for evented decorator #130 (tlambert03)
- ci(dependabot): bump pypa/cibuildwheel from 2.10.1 to 2.10.2 #127 (dependabot[bot])
v0.4.2 (2022-09-25)
Fixed bugs:
- fix: fix inheritance of property setters #126 (tlambert03)
- fix: fix bug in setattr with private attrs #125 (tlambert03)
v0.4.1 (2022-09-22)
Implemented enhancements:
- feat: Add ability to disconnect slots from Signal group directly #118 (alisterburt)
Fixed bugs:
- fix: fix listevents docstring parameter mismatch #119 (alisterburt)
Tests & CI:
- ci: skip building py311 wheel #124 (tlambert03)
Merged pull requests:
- ci(dependabot): bump pypa/cibuildwheel from 2.9.0 to 2.10.1 #123 (dependabot[bot])
- ci(dependabot): bump pypa/cibuildwheel from 2.8.1 to 2.9.0 #121 (dependabot[bot])
- build: pin cython #120 (tlambert03)
- ci(dependabot): bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 #116 (dependabot[bot])
v0.4.0 (2022-07-26)
Implemented enhancements:
- feat: raise exceptions as EmitLoopError #115 (tlambert03)
- feat: add connect_setitem #108 (tlambert03)
- build: move entirely to pyproject, and src setup #101 (tlambert03)
- add readthedocs config, make EventedCallableObjectProxy public #86 (tlambert03)
Fixed bugs:
- refactor: guard paramspec import #112 (tlambert03)
Merged pull requests:
- replace docs/requirements with extra, fix rtd install #87 (tlambert03)
v0.3.5 (2022-05-25)
Merged pull requests:
- [pre-commit.ci] pre-commit autoupdate #85 (pre-commit-ci[bot])
- Add documentation #84 (tlambert03)
- Evented pydantic model #83 (tlambert03)
- [pre-commit.ci] pre-commit autoupdate #82 (pre-commit-ci[bot])
v0.3.4 (2022-05-02)
Implemented enhancements:
- Add
EventedDict
#79 (alisterburt) - add
SelectableEventedList
#78 (alisterburt) - Add Throttler class #75 (tlambert03)
- Add Selection model ported from napari #64 (alisterburt)
Fixed bugs:
- Make SignalInstance weak referenceable (Fix forwarding signals) #71 (tlambert03)
v0.3.3 (2022-02-14)
Fixed bugs:
- Used custom tuple for cython compatibility #69 (tlambert03)
v0.3.2 (2022-02-14)
Implemented enhancements:
- work with older cython #67 (tlambert03)
Merged pull requests:
- generate gh release in CI #68 (tlambert03)
v0.3.1 (2022-02-12)
Fixed bugs:
- Don't use
repr(obj)
when checking for Qt emit signature #66 (tlambert03)
Tests & CI:
- add a magicgui test to CI #65 (tlambert03)
- skip cibuildwheel tests on musllinux and i686 #63 (tlambert03)
v0.3.0 (2022-02-10)
Implemented enhancements:
- Add EventedObjectProxy #62 (tlambert03)
- Misc small changes, add iter_signal_instances to utils #61 (tlambert03)
- Add EventedSet and EventedOrderedSet #59 (tlambert03)
- add SignalGroup blocked context manager, improve inheritance, and fix strong refs #57 (tlambert03)
- Add evented list (more evented containers coming) #56 (tlambert03)
- add debug_events util (later changed to
monitor_events
) #55 (tlambert03) - support Qt SignalInstance Emit #49 (tlambert03)
- Add SignalGroup #42 (tlambert03)
Tests & CI:
- add typesafety tests to evented containers #60 (tlambert03)
- deal with changing API in benchmarks #43 (tlambert03)
v0.2.0 (2021-11-07)
Implemented enhancements:
- Add
connect/disconnect_settattr
#39 (tlambert03) - Enable uncompiled import with PSYGNAL_UNCOMPILED env var #33 (tlambert03)
- Add asv benchmark to CI #31 (tlambert03)
- Avoid holding strong reference to decorated and partial methods #29 (Czaki)
- Change confusing variable name in _acceptable_posarg_range #25 (tlambert03)
Fixed bugs:
- Set SignalInstances directly as attributes on objects (fix bug with hashable signal holders) #28 (tlambert03)
Tests & CI:
- Add benchmarks for connect_setattr #41 (Czaki)
- Extend emit benchmarks to include methods #40 (tlambert03)
- Fix codecov CI and bring coverage back to 100 #34 (tlambert03)
- Change benchmark publication approach #32 (tlambert03)
Merged pull requests:
- Misc-typing and minor reorg #35 (tlambert03)
v0.1.4 (2021-10-17)
Implemented enhancements:
- support python 3.10 #24 (tlambert03)
- Add ability to pause & resume/reduce signals #23 (tlambert03)
v0.1.3 (2021-10-01)
Implemented enhancements:
- add __call__ as alias for
emit
on SignalInstance #18 (tlambert03)
v0.1.2 (2021-07-12)
Implemented enhancements:
- Provide signatures for common builtins #7 (tlambert03)
Tests & CI:
- Add more typing tests #9 (tlambert03)
- test working with qtbot #8 (tlambert03)
v0.1.1 (2021-07-07)
Implemented enhancements:
- connect decorator, optional args #5 (tlambert03)
Fixed bugs:
- Catch inspection failures on connect (e.g.
print
), and improve maxargs syntax #6 (tlambert03)
v0.1.0 (2021-07-06)
Implemented enhancements:
- Add readme, add
@connect
decorator #3 (tlambert03)
Tests & CI:
- fix ci #2 (tlambert03)
- ci #1 (tlambert03)
* This Changelog was automatically generated by github_changelog_generator