kinemotion 0.10.7__py3-none-any.whl → 0.10.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.

Potentially problematic release.


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

@@ -46,25 +46,6 @@ class AnalysisParameters:
46
46
  tracking_confidence: float | None = None
47
47
 
48
48
 
49
- @dataclass
50
- class BatchOptions:
51
- """Batch processing configuration."""
52
-
53
- batch: bool
54
- workers: int
55
- output_dir: str | None
56
- json_output_dir: str | None
57
- csv_summary: str | None
58
-
59
-
60
- @dataclass
61
- class OutputOptions:
62
- """Output configuration for single video processing."""
63
-
64
- output: str | None
65
- json_output: str | None
66
-
67
-
68
49
  @click.command(name="dropjump-analyze")
69
50
  @click.argument("video_path", nargs=-1, type=click.Path(exists=False), required=True)
70
51
  @click.option(
@@ -177,7 +158,7 @@ class OutputOptions:
177
158
  default=None,
178
159
  help="[EXPERT] Override pose tracking confidence",
179
160
  )
180
- def dropjump_analyze(
161
+ def dropjump_analyze( # NOSONAR(S107) - Click CLI requires individual parameters for each option
181
162
  video_path: tuple[str, ...],
182
163
  output: str | None,
183
164
  json_output: str | None,
@@ -221,62 +202,6 @@ def dropjump_analyze(
221
202
  kinemotion dropjump-analyze videos/*.mp4 --batch --drop-height 0.40 \\
222
203
  --json-output-dir results/ --csv-summary summary.csv
223
204
  """
224
- # Group parameters into dataclasses
225
- batch_opts = BatchOptions(
226
- batch=batch,
227
- workers=workers,
228
- output_dir=output_dir,
229
- json_output_dir=json_output_dir,
230
- csv_summary=csv_summary,
231
- )
232
-
233
- output_opts = OutputOptions(
234
- output=output,
235
- json_output=json_output,
236
- )
237
-
238
- expert_params = AnalysisParameters(
239
- drop_start_frame=drop_start_frame,
240
- smoothing_window=smoothing_window,
241
- velocity_threshold=velocity_threshold,
242
- min_contact_frames=min_contact_frames,
243
- visibility_threshold=visibility_threshold,
244
- detection_confidence=detection_confidence,
245
- tracking_confidence=tracking_confidence,
246
- )
247
-
248
- # Execute analysis with grouped parameters
249
- _execute_analysis(
250
- video_path,
251
- drop_height,
252
- quality,
253
- verbose,
254
- batch_opts,
255
- output_opts,
256
- expert_params,
257
- )
258
-
259
-
260
- def _execute_analysis(
261
- video_path: tuple[str, ...],
262
- drop_height: float,
263
- quality: str,
264
- verbose: bool,
265
- batch_opts: BatchOptions,
266
- output_opts: OutputOptions,
267
- expert_params: AnalysisParameters,
268
- ) -> None:
269
- """Execute drop jump analysis with grouped parameters.
270
-
271
- Args:
272
- video_path: Tuple of video path patterns
273
- drop_height: Drop height in meters
274
- quality: Quality preset string
275
- verbose: Verbose output flag
276
- batch_opts: Batch processing options
277
- output_opts: Output file options
278
- expert_params: Expert parameter overrides
279
- """
280
205
  # Expand glob patterns and collect all video files
281
206
  video_files: list[str] = []
282
207
  for pattern in video_path:
@@ -294,25 +219,36 @@ def _execute_analysis(
294
219
  sys.exit(1)
295
220
 
296
221
  # Determine if batch mode should be used
297
- use_batch = batch_opts.batch or len(video_files) > 1
222
+ use_batch = batch or len(video_files) > 1
223
+
224
+ # Group expert parameters
225
+ expert_params = AnalysisParameters(
226
+ drop_start_frame=drop_start_frame,
227
+ smoothing_window=smoothing_window,
228
+ velocity_threshold=velocity_threshold,
229
+ min_contact_frames=min_contact_frames,
230
+ visibility_threshold=visibility_threshold,
231
+ detection_confidence=detection_confidence,
232
+ tracking_confidence=tracking_confidence,
233
+ )
298
234
 
299
235
  if use_batch:
300
236
  _process_batch(
301
237
  video_files,
302
238
  drop_height,
303
239
  quality,
304
- batch_opts.workers,
305
- batch_opts.output_dir,
306
- batch_opts.json_output_dir,
307
- batch_opts.csv_summary,
240
+ workers,
241
+ output_dir,
242
+ json_output_dir,
243
+ csv_summary,
308
244
  expert_params,
309
245
  )
310
246
  else:
311
247
  # Single video mode (original behavior)
312
248
  _process_single(
313
249
  video_files[0],
314
- output_opts.output,
315
- output_opts.json_output,
250
+ output,
251
+ json_output,
316
252
  drop_height,
317
253
  quality,
318
254
  verbose,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinemotion
3
- Version: 0.10.7
3
+ Version: 0.10.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
@@ -9,12 +9,12 @@ kinemotion/core/smoothing.py,sha256=FON4qKtsSp1-03GnJrDkEUAePaACn4QPMJF0eTIYqR0,
9
9
  kinemotion/core/video_io.py,sha256=z8Z0qbNaKbcdB40KnbNOBMzab3BbgnhBxp-mUBYeXgM,6577
10
10
  kinemotion/dropjump/__init__.py,sha256=yc1XiZ9vfo5h_n7PKVSiX2TTgaIfGL7Y7SkQtiDZj_E,838
11
11
  kinemotion/dropjump/analysis.py,sha256=HfJt2t9IsMBiBUz7apIzdxbRH9QqzlFnDVVWcKhU3ow,23291
12
- kinemotion/dropjump/cli.py,sha256=THFJqVLFdFIXgrKSHw2MVc5DuOsqHKJQVT_x_C7l_18,29443
12
+ kinemotion/dropjump/cli.py,sha256=zo23qoYSpC_2BcScy-JOilcGcWGM0j3Xv0lpO0_n0wk,27975
13
13
  kinemotion/dropjump/debug_overlay.py,sha256=GMo-jCl5OPIv82uPxDbBVI7CsAMwATTvxZMeWfs8k8M,8701
14
14
  kinemotion/dropjump/kinematics.py,sha256=RM_O8Kdc6aEiPIu_99N4cu-4EhYSQxtBGASJF_dmQaU,19081
15
15
  kinemotion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- kinemotion-0.10.7.dist-info/METADATA,sha256=HDg72JCd-k5WKdgm8o7YfXj2Pdtu-DW_cs-KvGHm_xc,20333
17
- kinemotion-0.10.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
- kinemotion-0.10.7.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
19
- kinemotion-0.10.7.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
20
- kinemotion-0.10.7.dist-info/RECORD,,
16
+ kinemotion-0.10.8.dist-info/METADATA,sha256=UO66w0VeURzGoKYTkaKeUoHp-UCA1K75q5GCxgAx8Dc,20333
17
+ kinemotion-0.10.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ kinemotion-0.10.8.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
19
+ kinemotion-0.10.8.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
20
+ kinemotion-0.10.8.dist-info/RECORD,,