1385 Commits

Author SHA1 Message Date
Mose Müller
c32b6a8694 tests: proper handling of event loops
Event loops have to be closed properly, otherwise pytest will throw a
warning / error. Disconnecting clients and closing the server is
important for that, as well as stopping tasks.
Additionally, I had to add loop_scope parameters to share the event loop
throughout modules which all use the same pydase.Server instance.
2025-05-20 15:25:58 +02:00
Mose Müller
57cfe45c76 introduces check if current event loop is closed
This introduces a check for if the event loop is actually closed
already.
2025-05-20 15:24:54 +02:00
Mose Müller
7c18d86e9c properly closing event loops in client and server 2025-05-20 15:12:48 +02:00
Mose Müller
c5eb5f80b4
Merge pull request #223 from tiqi-group/refactor/client-lifecycle
client: allow reconnecting by moving loop and thread initialization out of constructor
2025-05-20 15:11:50 +02:00
Mose Müller
18c64db826 client: allow reconnecting by moving loop and thread initialization out of constructor
- Refactored Client to delay event loop and thread creation until
connect() is called.
- Introduced _initialize_loop_and_thread() helper for consistent
loop/thread/proxy setup.
- Updated disconnect() to stop the loop and join the thread without
closing the loop immediately. This allows proper cleanup and supports
reconnecting a client instance after disconnection.
- Fixes issues with restarting closed event loops and improves lifecycle
control in testing and production.
2025-05-20 15:07:15 +02:00
Mose Müller
27f8e1b1bc
Merge pull request #222 from tiqi-group/fix/mkdocs_config_file
fix: update mkdocs.yml
2025-05-19 15:12:17 +02:00
Mose Müller
f8839f0e71 fix: update mkdocs.yml 2025-05-19 15:10:29 +02:00
Mose Müller
d31aff0b9b
Merge pull request #221 from tiqi-group/docs/restructuring
Docs: restructuring
2025-05-19 15:07:49 +02:00
Mose Müller
2c1db3fa45 docs: restructuring Interaction section in User Guide 2025-05-19 15:01:35 +02:00
Mose Müller
b9cec19b02 docs: updating and adding links 2025-05-19 15:00:45 +02:00
Mose Müller
6ba5193e9e docs: remove commented-out information 2025-05-19 15:00:45 +02:00
Mose Müller
bc0c69f9e1
Merge pull request #220 from tiqi-group/release-v0.10.12
updates to version v0.10.12
v0.10.12
2025-05-09 11:01:20 +02:00
Mose Müller
b2314f7e33 updates to version v0.10.12 2025-05-09 10:58:37 +02:00
Mose Müller
eb43e7b380
Merge pull request #219 from tiqi-group/feat/improve-input-cursor-handling
Feat: improve input cursor handling
2025-05-09 10:56:50 +02:00
Mose Müller
5dc28b0b55 npm run build 2025-05-09 10:54:55 +02:00
Mose Müller
c327215b5f feat: selection range in NumberComponent can be changed using Shift and arrows
When pressing shift, the arrow keys can be used to change the selection
range. This was done by using a cursor position reference instead of a
state and adapting the default behaviour of the arrow keys instead of
writing them from scratch.
2025-05-09 10:54:36 +02:00
Mose Müller
04a3b225f8
Merge pull request #218 from tiqi-group/docs/acknowledgements
readme: adds acknowledgements section
2025-05-08 10:17:04 +02:00
Mose Müller
86c4514e1a readme: adds acknowledgements section 2025-05-05 08:14:08 +02:00
Mose Müller
cac74e90db
Merge pull request #217 from tiqi-group/release-v0.10.11
updates version to v0.10.11
v0.10.11
2025-04-15 08:17:42 +02:00
Mose Müller
c24d63f4c0 updates version to v0.10.11 2025-04-15 08:17:21 +02:00
Mose Müller
b0dd5835a3
Merge pull request #216 from tiqi-group/config/changing_loading_behaviour
feat (config): changes web_port loading
2025-04-15 08:16:12 +02:00
Mose Müller
b0c8af0108 config: changes web_port loading
The web_port argument in the pydase.Server defaults to None now. If it
is None, the value from ServiceConfig().web_port will be used.
This fixes the issue where users might pass the web port dynamcially and
by passing None they want to use the default value.
2025-04-15 08:12:45 +02:00
Mose Müller
c0016673a8 fix: poetry lock 2025-04-11 14:50:11 +02:00
Mose Müller
eadc1df763
Merge pull request #215 from tiqi-group/docs/update_deps
Docs: update dependencies
2025-04-11 14:47:51 +02:00
Mose Müller
922fdf8fd0 mkdocs: replaces deprecated import key with inventories 2025-04-11 14:46:41 +02:00
Mose Müller
8b21c42ef7 updates python dependencies 2025-04-11 14:46:19 +02:00
Mose Müller
2399b3ca9f
Merge pull request #214 from tiqi-group/192-starting-a-task-on-a-dataservice-exposed-as-a-property-causes-the-button-to-spin-indefinitely
fix: correctly handle observable properties
2025-03-28 09:44:11 +01:00
Mose Müller
db43f5dbbb tests: adds test reproducing the read-only dict bug 2025-03-28 09:00:59 +01:00
Mose Müller
f2c0a94904 fix: adds observable to an observable object accessed via a property
When an observable is stored returned by a property, this adds the
parent object as an observer to the observable returned by the property.
2025-03-28 09:00:59 +01:00
Mose Müller
c36cebf17c
Merge pull request #213 from tiqi-group/release-v0.10.10
updates version to v0.10.10
v0.10.10
2025-03-27 11:49:21 +01:00
Mose Müller
a96387b4d7 updates version to v0.10.10 2025-03-27 11:48:50 +01:00
Mose Müller
d1feff1a6a
Merge pull request #211 from tiqi-group/feat/add_logging_config_helper
Feat: add logging config helper
2025-03-27 11:47:08 +01:00
Mose Müller
95df2f1650 docs: updates logging documentation 2025-03-27 11:43:28 +01:00
Mose Müller
0565c82448 renames function, can now take the name of the logger (defaults to root logger) 2025-03-27 11:43:15 +01:00
Mose Müller
755265bf53
Merge pull request #212 from tiqi-group/44-manually-saving-current-state-of-all-objects
Feat: autosaving feature
2025-03-25 14:06:30 +01:00
Mose Müller
4c7b386ab4 docs: updates state manager docstring (adds DataServiceCache link) 2025-03-25 14:05:21 +01:00
Mose Müller
92b2326dfc tests: adds autosave feature test 2025-03-25 14:01:31 +01:00
Mose Müller
9e18783a05 adds default values to StateManager 2025-03-25 13:46:39 +01:00
Mose Müller
9be4aac988 docs: updates service persistence documentation 2025-03-25 13:41:57 +01:00
Mose Müller
f3d659670f feat: adds autosave feature
The pydase service automatically saves the current state to a file now.
The interval between automatic save events can be configured using the
`autosave_interval` argument passed to the pydase.Server.
2025-03-25 13:41:25 +01:00
Mose Müller
23f051d6f1 fixes pyright issue 2025-02-28 17:08:42 +01:00
Mose Müller
c8979ab2e6 adds logging tests and type hints 2025-02-28 16:56:40 +01:00
Mose Müller
bd33252775 log: adds helper function configure_root_logger_with_pydase_formatter 2025-02-28 16:56:16 +01:00
Mose Müller
1fbcbc72bf
Merge pull request #210 from tiqi-group/logging/updates_handlers
Feat: Updates logging handlers
2025-02-28 15:57:06 +01:00
Mose Müller
9a8628cfbd log: only write pydase.server to stdout, the rest to stderr 2025-02-28 15:53:14 +01:00
Mose Müller
3d13b20fda log: using filters to separate server and task logs from the rest 2025-02-28 15:43:24 +01:00
Mose Müller
f2183ec3e4 log: changing log level of trigger_method 2025-02-27 15:45:01 +01:00
Mose Müller
360aeb5574 log: pydase.server logs are written to stdout, the rest is written to stderr 2025-02-27 15:37:35 +01:00
Mose Müller
e85e93a1d9
Merge pull request #209 from tiqi-group/release-v0.10.9
updates version to v0.10.9
v0.10.9
2025-02-20 17:34:00 +01:00
Mose Müller
ea5fd42919 updates version to v0.10.9 2025-02-20 17:33:33 +01:00