dcnum 0.20.2__tar.gz → 0.20.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dcnum might be problematic. Click here for more details.

Files changed (105) hide show
  1. {dcnum-0.20.2 → dcnum-0.20.3}/CHANGELOG +2 -0
  2. {dcnum-0.20.2/src/dcnum.egg-info → dcnum-0.20.3}/PKG-INFO +1 -1
  3. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/_version.py +2 -2
  4. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/event_extractor_manager_thread.py +7 -5
  5. {dcnum-0.20.2 → dcnum-0.20.3/src/dcnum.egg-info}/PKG-INFO +1 -1
  6. {dcnum-0.20.2 → dcnum-0.20.3}/.github/workflows/check.yml +0 -0
  7. {dcnum-0.20.2 → dcnum-0.20.3}/.github/workflows/deploy_pypi.yml +0 -0
  8. {dcnum-0.20.2 → dcnum-0.20.3}/.gitignore +0 -0
  9. {dcnum-0.20.2 → dcnum-0.20.3}/.readthedocs.yml +0 -0
  10. {dcnum-0.20.2 → dcnum-0.20.3}/LICENSE +0 -0
  11. {dcnum-0.20.2 → dcnum-0.20.3}/README.rst +0 -0
  12. {dcnum-0.20.2 → dcnum-0.20.3}/docs/conf.py +0 -0
  13. {dcnum-0.20.2 → dcnum-0.20.3}/docs/extensions/github_changelog.py +0 -0
  14. {dcnum-0.20.2 → dcnum-0.20.3}/docs/index.rst +0 -0
  15. {dcnum-0.20.2 → dcnum-0.20.3}/docs/requirements.txt +0 -0
  16. {dcnum-0.20.2 → dcnum-0.20.3}/pyproject.toml +0 -0
  17. {dcnum-0.20.2 → dcnum-0.20.3}/setup.cfg +0 -0
  18. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/__init__.py +0 -0
  19. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/__init__.py +0 -0
  20. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_background/__init__.py +0 -0
  21. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_background/base.py +0 -0
  22. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_background/bg_copy.py +0 -0
  23. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_background/bg_roll_median.py +0 -0
  24. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_background/bg_sparse_median.py +0 -0
  25. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_brightness/__init__.py +0 -0
  26. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_brightness/bright_all.py +0 -0
  27. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_brightness/common.py +0 -0
  28. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_contour/__init__.py +0 -0
  29. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_contour/contour.py +0 -0
  30. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_contour/moments.py +0 -0
  31. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_contour/volume.py +0 -0
  32. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_texture/__init__.py +0 -0
  33. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_texture/common.py +0 -0
  34. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/feat_texture/tex_all.py +0 -0
  35. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/gate.py +0 -0
  36. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/feat/queue_event_extractor.py +0 -0
  37. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/logic/__init__.py +0 -0
  38. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/logic/ctrl.py +0 -0
  39. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/logic/job.py +0 -0
  40. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/logic/json_encoder.py +0 -0
  41. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/meta/__init__.py +0 -0
  42. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/meta/paths.py +0 -0
  43. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/meta/ppid.py +0 -0
  44. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/read/__init__.py +0 -0
  45. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/read/cache.py +0 -0
  46. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/read/const.py +0 -0
  47. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/read/hdf5_data.py +0 -0
  48. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/read/mapped.py +0 -0
  49. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/__init__.py +0 -0
  50. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/segm_thresh.py +0 -0
  51. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/segmenter.py +0 -0
  52. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/segmenter_cpu.py +0 -0
  53. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/segmenter_gpu.py +0 -0
  54. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/segm/segmenter_manager_thread.py +0 -0
  55. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/write/__init__.py +0 -0
  56. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/write/deque_writer_thread.py +0 -0
  57. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/write/queue_collector_thread.py +0 -0
  58. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum/write/writer.py +0 -0
  59. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum.egg-info/SOURCES.txt +0 -0
  60. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum.egg-info/dependency_links.txt +0 -0
  61. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum.egg-info/requires.txt +0 -0
  62. {dcnum-0.20.2 → dcnum-0.20.3}/src/dcnum.egg-info/top_level.txt +0 -0
  63. {dcnum-0.20.2 → dcnum-0.20.3}/tests/conftest.py +0 -0
  64. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_cytoshot_extended-moments-features.zip +0 -0
  65. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_cytoshot_full-features_2023.zip +0 -0
  66. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_cytoshot_full-features_2024.zip +0 -0
  67. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_cytoshot_full-features_legacy_allev_2023.zip +0 -0
  68. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_shapein_empty.zip +0 -0
  69. {dcnum-0.20.2 → dcnum-0.20.3}/tests/data/fmt-hdf5_shapein_raw-with-variable-length-logs.zip +0 -0
  70. {dcnum-0.20.2 → dcnum-0.20.3}/tests/helper_methods.py +0 -0
  71. {dcnum-0.20.2 → dcnum-0.20.3}/tests/requirements.txt +0 -0
  72. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_background_base.py +0 -0
  73. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_background_bg_copy.py +0 -0
  74. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_background_bg_roll_median.py +0 -0
  75. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_background_bg_sparsemed.py +0 -0
  76. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_brightness.py +0 -0
  77. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_event_extractor_manager.py +0 -0
  78. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_gate.py +0 -0
  79. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_haralick.py +0 -0
  80. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_moments_based.py +0 -0
  81. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_moments_based_extended.py +0 -0
  82. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_feat_volume.py +0 -0
  83. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_init.py +0 -0
  84. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_logic_job.py +0 -0
  85. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_logic_join.py +0 -0
  86. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_logic_json.py +0 -0
  87. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_logic_pipeline.py +0 -0
  88. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_paths.py +0 -0
  89. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_base.py +0 -0
  90. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_bg.py +0 -0
  91. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_data.py +0 -0
  92. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_feat.py +0 -0
  93. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_gate.py +0 -0
  94. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_meta_ppid_segm.py +0 -0
  95. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_read_basin.py +0 -0
  96. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_read_concat_hdf5.py +0 -0
  97. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_read_hdf5.py +0 -0
  98. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_read_hdf5_basins.py +0 -0
  99. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_read_hdf5_index_mapping.py +0 -0
  100. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_segm_base.py +0 -0
  101. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_segm_no_mask_proc.py +0 -0
  102. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_segm_thresh.py +0 -0
  103. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_write_deque_writer_thread.py +0 -0
  104. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_write_queue_collector_thread.py +0 -0
  105. {dcnum-0.20.2 → dcnum-0.20.3}/tests/test_write_writer.py +0 -0
@@ -1,3 +1,5 @@
1
+ 0.20.3
2
+ - enh: improve strategy for stalling for slow writer
1
3
  0.20.2
2
4
  - ref: remove __init__ from SegmentThresh
3
5
  0.20.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.20.2
3
+ Version: 0.20.3
4
4
  Summary: numerics toolbox for imaging deformability cytometry
5
5
  Author: Maximilian Schlögel, Paul Müller
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.20.2'
16
- __version_tuple__ = version_tuple = (0, 20, 2)
15
+ __version__ = version = '0.20.3'
16
+ __version_tuple__ = version_tuple = (0, 20, 3)
@@ -95,12 +95,14 @@ class EventExtractorManagerThread(threading.Thread):
95
95
  while True:
96
96
  # If the writer_dq starts filling up, then this could lead to
97
97
  # an oom-kill signal. Stall for the writer to prevent this.
98
- ldq = len(self.writer_dq)
99
- if ldq > 1000:
100
- stallsec = ldq / 1000
98
+ if (ldq := len(self.writer_dq)) > 1000:
99
+ time.sleep(1)
100
+ ldq2 = len(self.writer_dq)
101
+ stall_time = (ldq2 - 200) / (ldq - ldq2) if ldq2 > 200 else 0
102
+ time.sleep(stall_time)
101
103
  self.logger.warning(
102
- f"Stalling {stallsec:.1f}s for slow writer")
103
- time.sleep(stallsec)
104
+ f"Stalled {stall_time + 1:.1f}s for slow writer "
105
+ f"({ldq} chunks queued)")
104
106
 
105
107
  cur_slot = 0
106
108
  unavailable_slots = 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcnum
3
- Version: 0.20.2
3
+ Version: 0.20.3
4
4
  Summary: numerics toolbox for imaging deformability cytometry
5
5
  Author: Maximilian Schlögel, Paul Müller
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes