kinemotion 0.66.7__py3-none-any.whl → 0.66.8__py3-none-any.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.
@@ -1,5 +1,6 @@
1
1
  "Shared pipeline utilities for kinematic analysis."
2
2
 
3
+ import multiprocessing as mp
3
4
  from collections.abc import Callable
4
5
  from concurrent.futures import ProcessPoolExecutor, as_completed
5
6
  from typing import TypeVar
@@ -406,7 +407,9 @@ def process_videos_bulk_generic(
406
407
  """
407
408
  results: list[TResult] = []
408
409
 
409
- with ProcessPoolExecutor(max_workers=max_workers) as executor:
410
+ # Use 'spawn' context to avoid fork() issues in multi-threaded pytest environment
411
+ mp_context = mp.get_context("spawn")
412
+ with ProcessPoolExecutor(max_workers=max_workers, mp_context=mp_context) as executor:
410
413
  future_to_config = {executor.submit(processor_func, config): config for config in configs}
411
414
 
412
415
  for future in as_completed(future_to_config):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinemotion
3
- Version: 0.66.7
3
+ Version: 0.66.8
4
4
  Summary: Video-based kinematic analysis for athletic performance
5
5
  Project-URL: Homepage, https://github.com/feniix/kinemotion
6
6
  Project-URL: Repository, https://github.com/feniix/kinemotion
@@ -19,7 +19,7 @@ kinemotion/core/experimental.py,sha256=IK05AF4aZS15ke85hF3TWCqRIXU1AlD_XKzFz735U
19
19
  kinemotion/core/filtering.py,sha256=Oc__pV6iHEGyyovbqa5SUi-6v8QyvaRVwA0LRayM884,11355
20
20
  kinemotion/core/formatting.py,sha256=G_3eqgOtym9RFOZVEwCxye4A2cyrmgvtQ214vIshowU,2480
21
21
  kinemotion/core/metadata.py,sha256=bJAVa4nym__zx1hNowSZduMGKBSGOPxTbBQkjm6N0D0,7207
22
- kinemotion/core/pipeline_utils.py,sha256=q32c1AJ8KI4Ht-K3ZiI7ectQKtg8k_FLdLy6WPBPWkU,14927
22
+ kinemotion/core/pipeline_utils.py,sha256=dvbIyyuDgVQ3hT0tXr0ZoYMVo424XNbfG4N62deJ3Mc,15106
23
23
  kinemotion/core/pose.py,sha256=55zqk02N6ibOCvVO5c73ZegRcDWDeKCnU_lKsdwvN4s,9023
24
24
  kinemotion/core/quality.py,sha256=VUkRL2N6B7lfIZ2pE9han_U68JwarmZz1U0ygHkgkhE,13022
25
25
  kinemotion/core/smoothing.py,sha256=ELMHL7pzSqYffjnLDBUMBJIgt1AwOssDInE8IiXBbig,15942
@@ -36,8 +36,8 @@ kinemotion/dropjump/kinematics.py,sha256=dx4PuXKfKMKcsc_HX6sXj8rHXf9ksiZIOAIkJ4v
36
36
  kinemotion/dropjump/metrics_validator.py,sha256=lSfo4Lm5FHccl8ijUP6SA-kcSh50LS9hF8UIyWxcnW8,9243
37
37
  kinemotion/dropjump/validation_bounds.py,sha256=x4yjcFxyvdMp5e7MkcoUosGLeGsxBh1Lft6h__AQ2G8,5124
38
38
  kinemotion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- kinemotion-0.66.7.dist-info/METADATA,sha256=xLfutZNuSVi3Y1lGMlnvDVfd_1rMvi1ycAjxpoDKPk0,26061
40
- kinemotion-0.66.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
41
- kinemotion-0.66.7.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
42
- kinemotion-0.66.7.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
43
- kinemotion-0.66.7.dist-info/RECORD,,
39
+ kinemotion-0.66.8.dist-info/METADATA,sha256=asavAV6udDmgaUe14a3iueJ7BSua9cNpSKwFyR08s5Y,26061
40
+ kinemotion-0.66.8.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
41
+ kinemotion-0.66.8.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
42
+ kinemotion-0.66.8.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
43
+ kinemotion-0.66.8.dist-info/RECORD,,