Commit Graph
166 Commits
Author SHA1 Message Date
markusro f18bbdf48c replace gtk2/PyGTK and Python 2 idioms in DamarisGUI.py
- raise "RuntimeError" -> raise RuntimeError(...)
- gobject.timeout_add/idle_add/PRIORITY_* -> GLib equivalents
  (PyGIDeprecationWarning)
- remove no-op gobject.type_register(GtkSource.View)
- gtk.HBox -> gtk.Box(orientation=HORIZONTAL) (deprecated since 3.2)
- menu.popup(6-arg) -> menu.popup_at_pointer (deprecated since 3.22)
- Thread.getName() -> Thread.name (deprecated since 3.10)
- rename gtksourceview2 alias to gtksourceview
- rename bare iter locals/params to treeiter to avoid shadowing
  the builtin

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-18 16:24:59 +02:00
markusro 6d46e8ca1a fixed bug with counter updates
Build Debian Packages / build (bookworm, debian12) (push) Successful in 8m52s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m1s
2026-10-18 15:36:04 +02:00
markusro 6987ee31b7 added instructions for version bump
Build Debian Packages / build (bookworm, debian12) (push) Successful in 9m36s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m39s
2026-10-18 15:13:36 +02:00
markusro 804996cbd4 fix time_period latent crashes: treat missing time information as None
time_period is list[datetime] | None at runtime (None from old-format
HDF5 files, [] from the constructor), but several sites subscripted
it unguarded and crashed with TypeError/IndexError.

- annotate time_period as list[datetime.datetime] | None
- copy paths (get_accu_by_index, __iadd__ self-empty) use the guarded
  pattern already present in _copy_provenance
- merges in __add__/__iadd__ only combine min/max when both sides carry
  time information; otherwise the result is None (provenance unknown)
- write_to_tecmag raises ValueError when no time information is
  available instead of crashing while writing the header

Clears all remaining time_period pyrefly errors (72 -> 63). Unit tests
reproduce the crashes and pass with the fix.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-18 15:12:57 +02:00
markusro 27d05496ab fix y_square latent bug: keep it always a list of per-channel arrays
Accumulation.__neg__ passed y_2 = numpy.array(self.y_square), storing a
2D ndarray. A later __iadd__ on an accumulation with ndarray y_square
crashed with AttributeError at the y_square.append sites (992, 1064).

- __neg__ now passes a per-channel copy (values unchanged: sums of
  squares are invariant under negation)
- __init__ normalizes ndarray y_2 to a list, so external callers cannot
  reintroduce the bug
- y_square annotated as _YChannels

Clears the remaining pyrefly errors at Accumulation.py:992 and :1064
(74 -> 72). Unit tests reproduce both crashes and pass with the fix.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-18 15:11:58 +02:00
markusro c797aeb387 add type hints to data classes and fix get_ydata override conflict
- signature-only type hints for ADC_Result, MeasurementResult,
  Accumulation, and the Drawable base class (x: ndarray | list, y: list)
- get_ydata now takes channel: int = 0 across the hierarchy
  (Drawable, Accumulation, MeasurementResult, Error_Result), fixing
  the LSP violation flagged by pyrefly
- widen _XArray alias to ndarray | list: internal copy constructors
  pass self.x[:] which is that union
- add hinted files to pyrefly project-includes

pyrefly errors in the covered files drop from 102 to 74; the rest is
PyTables stub noise and pre-existing latent bugs left for separate fixes.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-10-18 15:09:57 +02:00
markusro e5472484cb fixed non workign stop button
Build Debian Packages / build (bookworm, debian12) (push) Successful in 9m16s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m16s
2026-10-18 14:25:31 +02:00
markusro f450075d24 bump version to 0.24, add changelog entry and publish-process docs
Build Debian Packages / build (bookworm, debian12) (push) Successful in 8m50s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m0s
2026-10-18 11:41:25 +02:00
markusro 0ca78cc566 snapshot log text on GTK main thread before HDF5 dump 2026-10-18 11:27:16 +02:00
markusro da1dc4a088 fix log dump race and unclosed HDF5 data pool file in DamarisGUI 2026-10-18 11:11:14 +02:00
markusro efb01250c8 add type hints to Experiment.py and dac.py, set up pyrefly as dev dependency
Build Debian Packages / build (bookworm, debian12) (push) Successful in 9m3s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m9s
2026-10-17 21:52:10 +02:00
markusro f9d8de7697 fix return-value/deprecated API bugs, accumulation lock leaks, code cleanup
Build Debian Packages / build (bookworm, debian12) (push) Successful in 8m56s
Build Debian Packages / build (trixie, debian13) (push) Successful in 9m3s
- raise instead of silent None for unsupported operands and empty negation
- validate before acquiring lock in Accumulation operators (no RLock leak)
- Accumulation._copy_provenance helper, ADC_Result._copy_metadata for all result paths
- shared _sandbox_stdout_redirect contextmanager for sandboxed scripts
- TemperatureMonitor dead code removal (gtk helper, traceback, unused properties)
- new unit tests incl. lock-freedom regression test
- gitignore sphinx generated doc/_autosummary/ and doc/damaris/
2026-10-17 19:17:43 +02:00
markusro 91ade4376c Merge branch 'main' of gitea.pkm.physik.tu-darmstadt.de:IPKM/python3-damaris 2026-10-16 22:37:51 +02:00
markusro c9af33bff0 preciser AGENTS.md 2026-10-16 22:36:08 +02:00
markusro 8d7d241ec7 fix Signalpath.phase(): do not modify original data in place
Build Debian Packages / build (bookworm, debian12) (push) Successful in 10m7s
Build Debian Packages / build (trixie, debian13) (push) Successful in 10m19s
phase() overwrote the underlying channel arrays (y[i] *= -1) and returned
self, so rotated copies aliased the original object and negative phase
angles garbled shared data. It now returns a copy with new arrays and
uses numpy.deg2rad for arbitrary angles.
Add unittests for phase() including negative angles and non-mutation.
2026-10-16 11:21:10 +02:00
markusro e963c2ef3c fix #43 Signalpath does not return object when phase=0
Build Debian Packages / build (trixie, debian13) (push) Successful in 10m25s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 10m26s
2026-10-15 17:00:31 +02:00
markusro bafbc1b1a0 nodte for developers
Build Debian Packages / build (bookworm, debian12) (push) Successful in 9m58s
Build Debian Packages / build (trixie, debian13) (push) Successful in 10m30s
2026-10-02 11:33:02 +02:00
markusro cb5752d20c Add user plugin directory to Python path 2026-10-02 11:31:42 +02:00
markusro 227ddda684 merge upstream
Build Debian Packages / build (bookworm, debian12) (push) Failing after 7s
Build Debian Packages / build (trixie, debian13) (push) Canceled after 7s
Merge branch 'main' of gitea.pkm.physik.tu-darmstadt.de:IPKM/python3-damaris
2026-10-02 11:27:38 +02:00
markusro 6d598e9da9 added LICENSE 2026-10-02 11:26:23 +02:00
markusro d8d7b9853a Added AGENTS.md
Build Debian Packages / build (bookworm, debian12) (push) Failing after 7s
Build Debian Packages / build (trixie, debian13) (push) Canceled after 8s
2026-10-01 21:54:29 +02:00
markusro ddb3f00abb fixed inconsistencies in returned objects: missing channels, is_clipped
Build Debian Packages / build (bookworm, debian12) (push) Failing after 8s
Build Debian Packages / build (trixie, debian13) (push) Canceled after 8s
2026-10-01 21:10:49 +02:00
markusro 8bd088d97f merge
Merge branch 'main' of gitea.pkm.physik.tu-darmstadt.de:IPKM/python3-damaris
2026-07-14 23:08:12 +02:00
markusro f06af28827 make estimation nicer 2026-07-14 23:07:49 +02:00
markusro b6ca2cbba3 add more documentation: API doc 2026-07-14 20:47:06 +02:00
markusro acd3352967 added profiling examplef or synchronize()
Build Debian Packages / build (trixie, debian13) (push) Successful in 13m40s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 13m51s
2026-07-13 23:58:12 +02:00
markusro 7d6b7855e3 added uv.lock and updated .gitignore
Build Debian Packages / build (trixie, debian13) (push) Successful in 17m39s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 17m53s
2026-07-13 23:56:43 +02:00
markusro 442db8e287 added doc dependencies
Build Debian Packages / build (trixie, debian13) (push) Successful in 14m54s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 14m55s
2026-07-13 23:54:26 +02:00
markusro 5ca54b7c39 added logging_helper for futuer C++ backends
Build Debian Packages / build (trixie, debian13) (push) Successful in 14m37s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 14m36s
2026-07-13 23:52:00 +02:00
markusro 523c544750 added extensive doc string to main classes
Build Debian Packages / build (trixie, debian13) (push) Successful in 14m45s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 14m55s
2026-07-13 23:42:12 +02:00
markusro f048e0dced cmdline interface fixed and properly added to deb package
Build Debian Packages / build (trixie, debian13) (push) Successful in 15m17s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 15m4s
2026-07-13 23:33:04 +02:00
markusro 8f89778434 renamed some_istener to proper function: progressbar 2026-07-13 23:21:50 +02:00
markusro 9b9a0ec1df no the print in the experiment and result script are also printed 2026-07-13 23:19:10 +02:00
markusro 1bb92a9157 switch all prints to logging module 2026-07-13 22:59:54 +02:00
markusro 0eb44039f0 added proper logging facility 2026-07-13 22:47:54 +02:00
markusro fa064c1727 small performance improvemnt when using synchronize: polling reduced from 100ms to 50ms
Build Debian Packages / build (trixie, debian13) (push) Successful in 16m24s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 16m38s
2026-07-13 22:21:49 +02:00
markusro 696cdfb556 LICENSE file added
Build Debian Packages / build (bookworm, debian12) (push) Successful in 14m48s
Build Debian Packages / build (trixie, debian13) (push) Successful in 14m50s
2026-07-13 17:02:25 +02:00
markusro 65649bb307 improved performance a lot, incremental writing of HDF5 2026-07-13 16:55:52 +02:00
markusro 6f7ca7ecaf preformance improvement: starting experiment after createing lots of data is now much faster 2026-07-13 13:56:03 +02:00
markusro b04a4274e0 Merge performance
Merge branch 'main' of gitea.pkm.physik.tu-darmstadt.de:IPKM/python3-damaris
2026-07-13 13:12:51 +02:00
markusro 02409488b8 Merge
Merge branch 'main' of gitea.pkm.physik.tu-darmstadt.de:IPKM/python3-damaris
2026-07-13 13:03:39 +02:00
markusro 34bbd68894 miniscule changes 2026-07-13 13:03:35 +02:00
markusro ebc2daf170 preformance improvment when using many data_pool objects
Build Debian Packages / build (trixie, debian13) (push) Successful in 13m42s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 13m56s
2026-07-12 22:52:39 +02:00
markusro a75917efd5 preformance improvment when using many data_pool objects 2026-07-12 22:40:32 +02:00
markusro 3d847588c4 debug timing added for performance test 2026-07-12 21:07:41 +02:00
markusro a1323a7a5d debug timing added for performance test 2026-07-12 21:04:48 +02:00
markusro 1c3527b945 merged pyporject.toml
Build Debian Packages / build (trixie, debian13) (push) Successful in 13m44s
Build Debian Packages / build (bookworm, debian12) (push) Successful in 13m59s
2026-07-12 20:18:44 +02:00
markusro 75863ffc19 fixed lakeshore to keep using the simple ASCII commands
Build Debian Packages / build (trixie, debian13) (pull_request) Successful in 14m22s
Build Debian Packages / build (bookworm, debian12) (pull_request) Successful in 14m24s
Build Debian Packages / build (bullseye, debian11) (pull_request) Has been cancelled
2026-07-12 20:15:50 +02:00
markusro 6f0b090d9d added lakeshore to temperature logging facility 2026-07-12 20:09:07 +02:00
markusro d9f2cc3f2c added lakeshore temperature controller 2026-07-12 20:00:39 +02:00