dclab 0.62.15__cp313-cp313-win_amd64.whl → 0.62.17__cp313-cp313-win_amd64.whl

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 dclab might be problematic. Click here for more details.

@@ -168,13 +168,19 @@ class RTDC_S3(RTDC_HDF5):
168
168
  object_path=get_object_path(url),
169
169
  endpoint_url=(endpoint_url
170
170
  or get_endpoint_url(url)
171
- or S3_ENDPOINT_URL),
171
+ or S3_ENDPOINT_URL
172
+ or os.environ.get("DCLAB_S3_ENDPOINT_URL")
173
+ ),
172
174
  access_key_id=(access_key_id
173
175
  or S3_ACCESS_KEY_ID
174
- or ""),
176
+ or os.environ.get("DCLAB_S3_ACCESS_KEY_ID")
177
+ or ""
178
+ ),
175
179
  secret_access_key=(secret_access_key
176
180
  or S3_SECRET_ACCESS_KEY
177
- or ""),
181
+ or os.environ.get("DCLAB_S3_SECRET_ACCESS_KEY")
182
+ or ""
183
+ ),
178
184
  use_ssl=use_ssl,
179
185
  verify_ssl=use_ssl,
180
186
  )
@@ -236,7 +242,10 @@ def is_s3_object_available(url: str,
236
242
  """
237
243
  avail = False
238
244
  if is_s3_url(url):
239
- endpoint_url = get_endpoint_url(url) or S3_ENDPOINT_URL
245
+ endpoint_url = (get_endpoint_url(url)
246
+ or S3_ENDPOINT_URL
247
+ or os.environ.get("DCLAB_S3_ENDPOINT_URL")
248
+ )
240
249
  if not endpoint_url:
241
250
  warnings.warn(
242
251
  f"Could not determine endpoint from URL '{url}'. Please "
@@ -260,12 +269,18 @@ def is_s3_object_available(url: str,
260
269
  s3file = S3File(
261
270
  object_path=get_object_path(url),
262
271
  endpoint_url=endpoint_url,
263
- access_key_id=(access_key_id
264
- or S3_ACCESS_KEY_ID
265
- or ""),
266
- secret_access_key=(secret_access_key
267
- or S3_SECRET_ACCESS_KEY
268
- or ""),
272
+ access_key_id=(
273
+ access_key_id
274
+ or S3_ACCESS_KEY_ID
275
+ or os.environ.get("DCLAB_S3_ACCESS_KEY_ID")
276
+ or ""
277
+ ),
278
+ secret_access_key=(
279
+ secret_access_key
280
+ or S3_SECRET_ACCESS_KEY
281
+ or os.environ.get("DCLAB_S3_SECRET_ACCESS_KEY")
282
+ or ""
283
+ ),
269
284
  )
270
285
  try:
271
286
  s3file.s3_object.load()
dclab/util.py CHANGED
@@ -1,6 +1,7 @@
1
1
  """Utility methods"""
2
2
  import functools
3
3
  import hashlib
4
+ import importlib
4
5
  import numbers
5
6
  import pathlib
6
7
  import warnings
@@ -60,6 +61,25 @@ class file_monitoring_lru_cache:
60
61
  return wrapper
61
62
 
62
63
 
64
+ class LazyLoader():
65
+ """Lazy load a module on first attribute access"""
66
+
67
+ def __init__(self, modname):
68
+ self._modname = modname
69
+ self._mod = None
70
+
71
+ def __getattr__(self, attr):
72
+ """Get attribute from module, load module if not loaded yet"""
73
+
74
+ if self._mod is None:
75
+ # module is unset, load it
76
+ self._mod = importlib.import_module(self._modname)
77
+
78
+ # retry getattr if module was just loaded for first time
79
+ # call this outside exception handler in case it raises new exception
80
+ return getattr(self._mod, attr)
81
+
82
+
63
83
  @file_monitoring_lru_cache(maxsize=100)
64
84
  def hashfile(fname, blocksize=65536, count=0, constructor=hashlib.md5,
65
85
  hasher_class=None):
@@ -1,10 +1,10 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: dclab
3
- Version: 0.62.15
3
+ Version: 0.62.17
4
4
  Summary: Library for real-time deformability cytometry (RT-DC)
5
5
  Author: Benedikt Hartmann, Eoghan O'Connell, Maik Herbig, Maximilian Schlögel, Nadia Sbaa, Paul Müller, Philipp Rosendahl, Raghava Alajangi
6
6
  Maintainer-email: Paul Müller <dev@craban.de>
7
- License: GPL version 2.0 or later
7
+ License: GPL-2.0-or-later
8
8
  Project-URL: source, https://github.com/DC-Analysis/dclab
9
9
  Project-URL: tracker, https://github.com/DC-Analysis/dclab/issues
10
10
  Project-URL: documentation, https://dclab.readthedocs.io/en/stable/
@@ -27,8 +27,8 @@ Requires-Dist: dclab[dcor,export,http,s3,tdms]; extra == "all"
27
27
  Provides-Extra: dcor
28
28
  Requires-Dist: requests<3,>=2.31.0; extra == "dcor"
29
29
  Provides-Extra: export
30
- Requires-Dist: fcswrite>=0.5.0; extra == "export"
31
- Requires-Dist: imageio[ffmpeg]; extra == "export"
30
+ Requires-Dist: fcswrite>=0.5.1; extra == "export"
31
+ Requires-Dist: av; extra == "export"
32
32
  Provides-Extra: http
33
33
  Requires-Dist: requests<3,>=2.31.0; extra == "http"
34
34
  Provides-Extra: s3
@@ -36,6 +36,7 @@ Requires-Dist: boto3>=1.34.31; extra == "s3"
36
36
  Provides-Extra: tdms
37
37
  Requires-Dist: imageio[ffmpeg]; extra == "tdms"
38
38
  Requires-Dist: nptdms<1.9,>=0.23.0; extra == "tdms"
39
+ Dynamic: license-file
39
40
 
40
41
  |dclab|
41
42
  =======
@@ -1,14 +1,14 @@
1
- dclab/__init__.py,sha256=7_y6YtYcoL_a5M6Q9PiwZPzHSxS66yCTgs_uuK5C1dg,835
2
- dclab/_version.py,sha256=UqENklpXq1tqMo3QqqPtfbsZo35OhFGTh9sBGMVTA38,536
1
+ dclab/__init__.py,sha256=kSr6VI0UI-beS9beOEpERTUAV1NINHx_G6u1VmBm9D8,1624
2
+ dclab/_version.py,sha256=JbapeEBaA2NG7DFMIF6Zpk8RbHn9jf1_44bgyc9Wm34,536
3
3
  dclab/cached.py,sha256=t01BYTf43VEsBYa0c-bMxgceF5vKoGV73b42UlLH6Lo,3014
4
- dclab/downsampling.cp313-win_amd64.pyd,sha256=rtfC6Q_Wd45ViH7NafmD_dDzmC_ULfpdhlFkAyTphbo,185856
4
+ dclab/downsampling.cp313-win_amd64.pyd,sha256=ORGRlhjN_jhpQnpeI91RlaxsFmM0g5P5UCHh7jpoBbs,185856
5
5
  dclab/downsampling.pyx,sha256=Ez6MbNbzCUzs2IXXKtAYsjtYqP22kI8hdA1IE-3mqvY,7488
6
6
  dclab/http_utils.py,sha256=nneq9Cx8dw8ChQx5oIg2pN0xGkvNWCMSY5VYmttqyXA,11232
7
- dclab/kde_contours.py,sha256=k0Y1UsJNtuYY8iqYmfQ-Nml-dFpJAcigd3vmt9U6zsY,6967
8
- dclab/kde_methods.py,sha256=_Fm91_cJZoTGQEgfuK5To4nEFcW7lolNsldY8a_AUoM,9509
7
+ dclab/kde_contours.py,sha256=cYeBtvbBqLHCz5W8AiEAAd9O3yLsSBbLcRVj1WZ1pRo,288
8
+ dclab/kde_methods.py,sha256=tY82WQsX2_5_Szb7zma9yQD-HxCg2fAkMvNs-K05jMQ,376
9
9
  dclab/polygon_filter.py,sha256=C4uBvK8zzT8irUOIgITvASlCtc0EEMM5edp4dFx-9jw,13878
10
10
  dclab/statistics.py,sha256=6saNuiXCcYmI8_cmb8Tb7E34BbsxHzTvNNlbKeNoDIw,6558
11
- dclab/util.py,sha256=RG0p4dyO-G67r9-CeG6_GYuBkrxi1c6oGG1tQXAVG1Y,5409
11
+ dclab/util.py,sha256=X9LqxrEJNClzPSko49MMsz2MlybLwkButqqQmxfnj44,6036
12
12
  dclab/warn.py,sha256=pv_W9cKBJg-mUn-_6O4xBwRmwI9QaEIW9EBEIiyL0iU,538
13
13
  dclab/cli/__init__.py,sha256=IB33_cscv866CAwXnP1ZO9tlBpOldB0UQuR5P87FmSQ,493
14
14
  dclab/cli/common.py,sha256=_YEmejfizH54aBI2q5solRMz8HN421rDkLj1dRXp7Tk,7461
@@ -35,14 +35,14 @@ dclab/external/packaging/version.py,sha256=NgEgv7me4UCvFMyiNYD-nc_28b9UHUvBVh8RD
35
35
  dclab/external/skimage/LICENSE,sha256=Tdv08zzxYV32WRdYnco9P3nVyS5w17OTxIAFeRSd1wc,1480
36
36
  dclab/external/skimage/__init__.py,sha256=icOIlThkyn_hxmnM_i7OpbU7fhvqYWNpGdNGD38qthU,74
37
37
  dclab/external/skimage/_find_contours.py,sha256=auRMNfZg7B73DX7kPXxgD8gMXXB3Lk9QDWt4wlQnUWg,9556
38
- dclab/external/skimage/_find_contours_cy.cp313-win_amd64.pyd,sha256=s5NtUK16b7_Wsp_XSetO-XIB9F5fgXb0aDiKMC_y2f4,145920
38
+ dclab/external/skimage/_find_contours_cy.cp313-win_amd64.pyd,sha256=slTmSfHbmeNE43WcuDWjUHd8Qo8oQ4iF5O9D-OeUS-o,145920
39
39
  dclab/external/skimage/_find_contours_cy.pyx,sha256=c-EobLhKjZNCpuqWxmvrcH35uAY_Bu-_hZiUHbXODms,7349
40
- dclab/external/skimage/_pnpoly.cp313-win_amd64.pyd,sha256=UCd3lJnNiJOsQXIUUzdTMFd8ouHRobAVZ5DB0CWTxA0,160256
40
+ dclab/external/skimage/_pnpoly.cp313-win_amd64.pyd,sha256=JXbbIYQPctITThTTkAaKbYcJyL_nTbMoDwcPumhASxE,160256
41
41
  dclab/external/skimage/_pnpoly.pyx,sha256=eHV3DlIGcBhAQ12-Y58EYq8xcq0Sibyc4xTxzX9NJsk,2603
42
42
  dclab/external/skimage/measure.py,sha256=rzyI0HCr9O9GJNieVW8pcqDjTGRAdSehDUawD8QkIAE,254
43
43
  dclab/external/skimage/pnpoly.py,sha256=zB4rSxjHJyY1OsGZ7QfFQqxIEDLGK8CWPehwutoFqm4,1400
44
44
  dclab/external/skimage/_shared/__init__.py,sha256=q29esTsNh0HfQxcd2EuwdYNbEBJwo_qY4dfv7RihzoA,38
45
- dclab/external/skimage/_shared/geometry.cp313-win_amd64.pyd,sha256=tWgnhHUjgoLeFQATP3sTCdtZ62xPob5W8ZjfekNmM44,19456
45
+ dclab/external/skimage/_shared/geometry.cp313-win_amd64.pyd,sha256=2X1EttorFzD31vOrBmZE8HmgYPQPcErxzOd5kdSGj-w,19456
46
46
  dclab/external/skimage/_shared/geometry.pxd,sha256=3gJ7fbXXsxJunSN4biE0dzEbZpX9ZqzR4cUDDN0JnAU,352
47
47
  dclab/external/skimage/_shared/geometry.pyx,sha256=b6hADE8chse63haO1Kdt13_oQ54J9tkBf7dVA22-s-M,1722
48
48
  dclab/external/statsmodels/LICENSE,sha256=8D7nwukc6YgsZCdN9mG0psM3I9j-z8fuUgFyVhnMXpU,1672
@@ -75,6 +75,10 @@ dclab/isoelastics/iso_HE-3D-FEM-22-volume-deform.txt,sha256=NlaE7yKz7N8yF65ri3H8
75
75
  dclab/isoelastics/iso_LE-2D-FEM-19-area_um-deform.txt,sha256=lcTjUUnIwj_bVBrG2T2OWBK1ApuLjxJkvL2KAuU51OM,79694
76
76
  dclab/isoelastics/iso_LE-2D-FEM-19-volume-deform.txt,sha256=vTcazOlOXo3BQ0NQtGB_IdHKA0neOLXZ_d3JuMU--RE,83358
77
77
  dclab/isoelastics/iso_LE-2D-ana-18-area_um-deform.txt,sha256=KD2RkhCfkrna20pLJ3UzNZZapMkhQydMYz0iKdMtRRE,46805
78
+ dclab/kde/__init__.py,sha256=A7GXfOI-6HNxD1ljkmnU9NjkFhoT2_WxlPmJa29PLm0,56
79
+ dclab/kde/base.py,sha256=DfOeLiBUohfj2AAPBDaTxYUQuh78X18HlMozZHihQUE,7921
80
+ dclab/kde/contours.py,sha256=vWx34Zxe9CuKd255Lje67pYEYZsLrCVPNopf_dHanL8,6964
81
+ dclab/kde/methods.py,sha256=o4JQIjv3rNb14El4Bkj-i9crk0sKxvp26i7ssqkZDZ8,9511
78
82
  dclab/lme4/__init__.py,sha256=85rlF3G9ZblRue7SB2DrMqSfVPVyE37ujr55Oy7OZaI,277
79
83
  dclab/lme4/lme4_template.R,sha256=9jRrdMVh9UlfzyE4BsktRTlFzeWI6AvbwzZXzNO5EfI,2664
80
84
  dclab/lme4/rsetup.py,sha256=_3ov0QlBH_CguoAanKmsm09JfgjfADhRimqMR16FnMk,6094
@@ -83,14 +87,14 @@ dclab/rtdc_dataset/__init__.py,sha256=BuWKEUm7QUe-Kj1wMR0AXON_XN2mzXlbOgouHdnvAw
83
87
  dclab/rtdc_dataset/check.py,sha256=l2QoIL3gno_Z2-e8RvYHAurHZP_oLGtZk8l6jUDiuTA,35908
84
88
  dclab/rtdc_dataset/config.py,sha256=HVJiqKlqd-SpYqnNTKSr1yUsq2Bkfq5s5zluT-8PUc0,17965
85
89
  dclab/rtdc_dataset/copier.py,sha256=imD0ijAz9BY0nksF2zUBeoGmeo_dUTUnBgY9TqRaD4g,14528
86
- dclab/rtdc_dataset/core.py,sha256=7pQOcFGEO2AnI7r8rJLjXkAi8mXkY4GCQ41eXfBHMx0,38999
87
- dclab/rtdc_dataset/export.py,sha256=gdcg8FSacFBdIfCPbquEOV7J96FlHAvWu9PpK2KTdkc,30351
90
+ dclab/rtdc_dataset/core.py,sha256=4ST8-Ta4-BxIcfMaAF2bhfWRSVaZrWh46JfhccZol1o,35326
91
+ dclab/rtdc_dataset/export.py,sha256=UUmGtsuRdkN4SCfPHTcl_MfXW5JenIs8O5--TV8U1pM,31142
88
92
  dclab/rtdc_dataset/feat_basin.py,sha256=nDMMkjBmVrH26_lhSJ4pmgUfcwdV1wDON-Hu-864is8,21622
89
93
  dclab/rtdc_dataset/feat_temp.py,sha256=5QiF8Nc8MVoTtinYlvfoSuoopND-uvWVWKjMggBTHLw,3796
90
94
  dclab/rtdc_dataset/filter.py,sha256=IRaEUt0tWtZGLKYvtqzfYO2kN5yhqx9eLoHd3VOLCTE,10286
91
95
  dclab/rtdc_dataset/fmt_dict.py,sha256=-tlzOwsOCh4Vt3rSiBUvMKW7vBgrRNubU7ZHdGMB3gE,3112
92
96
  dclab/rtdc_dataset/fmt_http.py,sha256=XzcgvJ4lm-eWbveBraBc5PPJeGWeUGC35p8ptnxBycc,3476
93
- dclab/rtdc_dataset/fmt_s3.py,sha256=35ZNCSbfpn75QHqrciMur2MUAiViddCAZsXkzql6uv0,10962
97
+ dclab/rtdc_dataset/fmt_s3.py,sha256=8jNTQ-uw4E4xdidEMJBjjLOTx-YUv5NlhHKN6uvDf1Y,11613
94
98
  dclab/rtdc_dataset/load.py,sha256=odD0ZfIHBkBLgHIKv6z5PJ6yvTEfSawC3OKeRSjk_YU,2838
95
99
  dclab/rtdc_dataset/meta_table.py,sha256=srz1mq-oS3OoL-qRScvWX98smNNVXLF99zpTO3GlvwI,673
96
100
  dclab/rtdc_dataset/writer.py,sha256=OluhJGoAk-oRc5Z4BzvMvQI1NGlgCTVLwvWCaFPvr_k,42410
@@ -130,9 +134,9 @@ dclab/rtdc_dataset/fmt_tdms/event_mask.py,sha256=cW-Tw2PIe6X1Hc4UZJ22-mI_qFaIMWA
130
134
  dclab/rtdc_dataset/fmt_tdms/event_trace.py,sha256=ktWnXfMir1v5Wfeo7tOd0txSOe1bgsXotf9Ul5T5-B4,5361
131
135
  dclab/rtdc_dataset/fmt_tdms/exc.py,sha256=FfxUY4LGIMPGJTYmGITmEm7X5iu8GBsj7OfZR8Zb-IE,850
132
136
  dclab/rtdc_dataset/fmt_tdms/naming.py,sha256=SFeWiwIN7sg0qNe0Aya2bZshN1Zbw4YcOKunZ6kfIGM,5524
133
- dclab-0.62.15.dist-info/LICENSE,sha256=ayjnuJcdf_kpkDyD61tUcVqVAQaNSYXJ73m5HVB4G8s,18474
134
- dclab-0.62.15.dist-info/METADATA,sha256=_6rvXhpQW8zetFH17pOc3Eq_IzrkMRmOaWv6LGJEjKY,4901
135
- dclab-0.62.15.dist-info/WHEEL,sha256=4oNF-ClUxXRX55MBZicDC2_sTLjRbJdXNr8x18QuDzw,101
136
- dclab-0.62.15.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
137
- dclab-0.62.15.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
138
- dclab-0.62.15.dist-info/RECORD,,
137
+ dclab-0.62.17.dist-info/licenses/LICENSE,sha256=Aq3cYb2xLk3Y_aIOhaoZxi8FlVeMVs3-3FMEBvAEixM,15643
138
+ dclab-0.62.17.dist-info/METADATA,sha256=lOcKqTUHIFapZdErvr9rmygqusyAhg0yCaNqqovQ9eQ,4903
139
+ dclab-0.62.17.dist-info/WHEEL,sha256=6WoW_bHwIgUwfRGomr3tsp2x5B1WboZF1vodYe1_93Y,101
140
+ dclab-0.62.17.dist-info/entry_points.txt,sha256=eOpjgznu-eW-9utUpLU-77O5098YyUEgGF3ksGMdtec,273
141
+ dclab-0.62.17.dist-info/top_level.txt,sha256=irvwZMgs1edY1Zj60ZFk7Almb9Zhk4k6E6aC4YPFnnM,6
142
+ dclab-0.62.17.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.2)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-win_amd64
5
5
 
@@ -1,5 +1,5 @@
1
1
  Unless otherwise specified by LICENSE files in individual
2
- directories, all code is
2
+ directories, all code is licensed under the following license.
3
3
 
4
4
  GNU GENERAL PUBLIC LICENSE
5
5
  Version 2, June 1991
@@ -281,63 +281,3 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
281
281
  POSSIBILITY OF SUCH DAMAGES.
282
282
 
283
283
  END OF TERMS AND CONDITIONS
284
-
285
- How to Apply These Terms to Your New Programs
286
-
287
- If you develop a new program, and you want it to be of the greatest
288
- possible use to the public, the best way to achieve this is to make it
289
- free software which everyone can redistribute and change under these terms.
290
-
291
- To do so, attach the following notices to the program. It is safest
292
- to attach them to the start of each source file to most effectively
293
- convey the exclusion of warranty; and each file should have at least
294
- the "copyright" line and a pointer to where the full notice is found.
295
-
296
- {description}
297
- Copyright (C) {year} {fullname}
298
-
299
- This program is free software; you can redistribute it and/or modify
300
- it under the terms of the GNU General Public License as published by
301
- the Free Software Foundation; either version 2 of the License, or
302
- (at your option) any later version.
303
-
304
- This program is distributed in the hope that it will be useful,
305
- but WITHOUT ANY WARRANTY; without even the implied warranty of
306
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
307
- GNU General Public License for more details.
308
-
309
- You should have received a copy of the GNU General Public License along
310
- with this program; if not, write to the Free Software Foundation, Inc.,
311
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
312
-
313
- Also add information on how to contact you by electronic and paper mail.
314
-
315
- If the program is interactive, make it output a short notice like this
316
- when it starts in an interactive mode:
317
-
318
- Gnomovision version 69, Copyright (C) year name of author
319
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
320
- This is free software, and you are welcome to redistribute it
321
- under certain conditions; type `show c' for details.
322
-
323
- The hypothetical commands `show w' and `show c' should show the appropriate
324
- parts of the General Public License. Of course, the commands you use may
325
- be called something other than `show w' and `show c'; they could even be
326
- mouse-clicks or menu items--whatever suits your program.
327
-
328
- You should also get your employer (if you work as a programmer) or your
329
- school, if any, to sign a "copyright disclaimer" for the program, if
330
- necessary. Here is a sample; alter the names:
331
-
332
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
333
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
334
-
335
- {signature of Ty Coon}, 1 April 1989
336
- Ty Coon, President of Vice
337
-
338
- This General Public License does not permit incorporating your program into
339
- proprietary programs. If your program is a subroutine library, you may
340
- consider it more useful to permit linking proprietary applications with the
341
- library. If this is what you want to do, use the GNU Lesser General
342
- Public License instead of this License.
343
-