kinemotion 0.15.2__tar.gz → 0.16.0__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 kinemotion might be problematic. Click here for more details.

Files changed (85) hide show
  1. {kinemotion-0.15.2 → kinemotion-0.16.0}/.gitignore +2 -0
  2. {kinemotion-0.15.2 → kinemotion-0.16.0}/CHANGELOG.md +16 -0
  3. {kinemotion-0.15.2 → kinemotion-0.16.0}/CLAUDE.md +27 -3
  4. {kinemotion-0.15.2 → kinemotion-0.16.0}/PKG-INFO +1 -1
  5. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/README.md +2 -1
  6. kinemotion-0.16.0/docs/development/wallball-norep-detection.md +2412 -0
  7. {kinemotion-0.15.2 → kinemotion-0.16.0}/pyproject.toml +30 -1
  8. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/cli.py +16 -10
  9. kinemotion-0.16.0/tests/test_cli_imports.py +57 -0
  10. {kinemotion-0.15.2 → kinemotion-0.16.0}/uv.lock +69 -1
  11. {kinemotion-0.15.2 → kinemotion-0.16.0}/.dockerignore +0 -0
  12. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  13. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  15. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/pull_request_template.md +0 -0
  16. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/workflows/docs.yml +0 -0
  17. {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/workflows/release.yml +0 -0
  18. {kinemotion-0.15.2 → kinemotion-0.16.0}/.pre-commit-config.yaml +0 -0
  19. {kinemotion-0.15.2 → kinemotion-0.16.0}/.readthedocs.yml +0 -0
  20. {kinemotion-0.15.2 → kinemotion-0.16.0}/.tool-versions +0 -0
  21. {kinemotion-0.15.2 → kinemotion-0.16.0}/CODE_OF_CONDUCT.md +0 -0
  22. {kinemotion-0.15.2 → kinemotion-0.16.0}/CONTRIBUTING.md +0 -0
  23. {kinemotion-0.15.2 → kinemotion-0.16.0}/Dockerfile +0 -0
  24. {kinemotion-0.15.2 → kinemotion-0.16.0}/GEMINI.md +0 -0
  25. {kinemotion-0.15.2 → kinemotion-0.16.0}/LICENSE +0 -0
  26. {kinemotion-0.15.2 → kinemotion-0.16.0}/README.md +0 -0
  27. {kinemotion-0.15.2 → kinemotion-0.16.0}/SECURITY.md +0 -0
  28. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/cmj.md +0 -0
  29. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/core.md +0 -0
  30. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/dropjump.md +0 -0
  31. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/overview.md +0 -0
  32. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/development/errors-findings.md +0 -0
  33. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/development/validation-plan.md +0 -0
  34. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/bulk-processing.md +0 -0
  35. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/camera-setup.md +0 -0
  36. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/cmj-guide.md +0 -0
  37. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/index.md +0 -0
  38. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/reference/parameters.md +0 -0
  39. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/reference/pose-systems.md +0 -0
  40. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
  41. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/framerate.md +0 -0
  42. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/imu-metadata.md +0 -0
  43. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/real-time-analysis.md +0 -0
  44. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/triple-extension.md +0 -0
  45. {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/translations/es/camera-setup.md +0 -0
  46. {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/README.md +0 -0
  47. {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/bulk_processing.py +0 -0
  48. {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/simple_example.py +0 -0
  49. {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/programmatic_usage.py +0 -0
  50. {kinemotion-0.15.2 → kinemotion-0.16.0}/mkdocs.yml +0 -0
  51. {kinemotion-0.15.2 → kinemotion-0.16.0}/requirements-docs.txt +0 -0
  52. {kinemotion-0.15.2 → kinemotion-0.16.0}/samples/cmjs/README.md +0 -0
  53. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/__init__.py +0 -0
  54. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/api.py +0 -0
  55. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cli.py +0 -0
  56. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/__init__.py +0 -0
  57. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/analysis.py +0 -0
  58. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/cli.py +0 -0
  59. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
  60. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/joint_angles.py +0 -0
  61. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/kinematics.py +0 -0
  62. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/__init__.py +0 -0
  63. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/auto_tuning.py +0 -0
  64. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/cli_utils.py +0 -0
  65. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
  66. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/filtering.py +0 -0
  67. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/pose.py +0 -0
  68. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/smoothing.py +0 -0
  69. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/video_io.py +0 -0
  70. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/__init__.py +0 -0
  71. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/analysis.py +0 -0
  72. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
  73. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/kinematics.py +0 -0
  74. {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/py.typed +0 -0
  75. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/__init__.py +0 -0
  76. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_adaptive_threshold.py +0 -0
  77. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_api.py +0 -0
  78. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_aspect_ratio.py +0 -0
  79. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_cmj_analysis.py +0 -0
  80. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_cmj_kinematics.py +0 -0
  81. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_com_estimation.py +0 -0
  82. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_contact_detection.py +0 -0
  83. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_filtering.py +0 -0
  84. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_kinematics.py +0 -0
  85. {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_polyorder.py +0 -0
@@ -39,7 +39,9 @@ env/
39
39
  # Testing
40
40
  .pytest_cache/
41
41
  .coverage
42
+ .coverage.*
42
43
  htmlcov/
44
+ coverage.xml
43
45
 
44
46
  # Output files
45
47
  *.mov
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  <!-- version list -->
9
9
 
10
+ ## v0.16.0 (2025-11-10)
11
+
12
+
13
+ ## v0.15.3 (2025-11-10)
14
+
15
+ ### Bug Fixes
16
+
17
+ - **dropjump**: Correct API imports in CLI module
18
+ ([`b456d4c`](https://github.com/feniix/kinemotion/commit/b456d4c0a09234df70da3d67de0ed53c4fe55cfe))
19
+
20
+ ### Documentation
21
+
22
+ - **development**: Add HYROX wall ball no-rep detection implementation plan
23
+ ([`f38f5ae`](https://github.com/feniix/kinemotion/commit/f38f5ae21b2cb767fdf0156f193ce988d58fee7f))
24
+
25
+
10
26
  ## v0.15.2 (2025-11-07)
11
27
 
12
28
  ### Bug Fixes
@@ -19,10 +19,16 @@ uv run kinemotion cmj-analyze video.mp4
19
19
 
20
20
  **Development:**
21
21
  ```bash
22
- uv run pytest # Run all 70 tests
22
+ uv run pytest # Run all 75 tests with coverage (50.75%)
23
+ uv run pytest --cov-report=html # Generate HTML coverage report
23
24
  uv run ruff check --fix && uv run pyright # Lint + type check
24
25
  ```
25
26
 
27
+ **Coverage Reports:**
28
+ - Terminal: Automatic with `uv run pytest`
29
+ - HTML: `htmlcov/index.html` (open in browser)
30
+ - XML: `coverage.xml` (for CI integration)
31
+
26
32
  ## Architecture
27
33
 
28
34
  ### Module Structure
@@ -35,7 +41,7 @@ src/kinemotion/
35
41
  ├── dropjump/ # Drop jump: cli, analysis, kinematics, debug_overlay
36
42
  └── cmj/ # CMJ: cli, analysis, kinematics, joint_angles, debug_overlay
37
43
 
38
- tests/ # 70 tests total (61 drop jump, 9 CMJ)
44
+ tests/ # 75 tests total (61 drop jump, 9 CMJ, 5 CLI import)
39
45
  docs/ # CMJ_GUIDE, TRIPLE_EXTENSION, REAL_TIME_ANALYSIS, etc.
40
46
  ```
41
47
 
@@ -139,7 +145,7 @@ OpenCV vs NumPy ordering:
139
145
  ```bash
140
146
  uv run ruff check --fix # Auto-fix linting
141
147
  uv run pyright # Type check (strict)
142
- uv run pytest # All 70 tests
148
+ uv run pytest # All 75 tests with coverage
143
149
  ```
144
150
 
145
151
  ### Standards
@@ -148,6 +154,24 @@ uv run pytest # All 70 tests
148
154
  - Ruff (100 char lines)
149
155
  - Conventional Commits (see below)
150
156
  - **Code duplication target: < 3%**
157
+ - **Test coverage: ≥ 50% (current: 50.75% with branch coverage)**
158
+
159
+ ### Coverage Analysis
160
+
161
+ Current coverage: **50.75%** (2184 statements, 752 branches)
162
+
163
+ **Well-tested modules (>80%):**
164
+ - Core filtering: 87.80%
165
+ - Core pose tracking: 88.46%
166
+ - Drop jump kinematics: 83.94%
167
+ - CMJ kinematics: 94.67%
168
+
169
+ **Needs improvement (<30%):**
170
+ - CLI modules: 22-23% (expected - minimal integration tests)
171
+ - Debug overlays: 10-36% (visualization code)
172
+ - Joint angles: 6.20% (feature module)
173
+
174
+ View detailed report: `uv run pytest --cov-report=html && open htmlcov/index.html`
151
175
 
152
176
  ### Avoiding Code Duplication
153
177
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinemotion
3
- Version: 0.15.2
3
+ Version: 0.16.0
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
@@ -41,6 +41,7 @@ Welcome to the kinemotion documentation. This directory contains guides, technic
41
41
 
42
42
  - **[Validation Plan](development/validation-plan.md)** - Testing and validation strategy
43
43
  - **[Errors & Findings](development/errors-findings.md)** - Known issues and debugging information
44
+ - **[Wall Ball No-Rep Detection](development/wallball-norep-detection.md)** - Future feature implementation plan for HYROX wall ball analysis
44
45
 
45
46
  ### 🌍 Translations
46
47
 
@@ -100,4 +101,4 @@ Ensure cross-references use relative paths and follow conventional commits forma
100
101
 
101
102
  ______________________________________________________________________
102
103
 
103
- **Last Updated:** November 6, 2025
104
+ **Last Updated:** November 7, 2025