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.
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.gitignore +2 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/CHANGELOG.md +16 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/CLAUDE.md +27 -3
- {kinemotion-0.15.2 → kinemotion-0.16.0}/PKG-INFO +1 -1
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/README.md +2 -1
- kinemotion-0.16.0/docs/development/wallball-norep-detection.md +2412 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/pyproject.toml +30 -1
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/cli.py +16 -10
- kinemotion-0.16.0/tests/test_cli_imports.py +57 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/uv.lock +69 -1
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.dockerignore +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/pull_request_template.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/workflows/docs.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.github/workflows/release.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.readthedocs.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/.tool-versions +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/CONTRIBUTING.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/Dockerfile +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/GEMINI.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/LICENSE +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/README.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/SECURITY.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/cmj.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/core.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/dropjump.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/api/overview.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/index.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/reference/parameters.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/framerate.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/README.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/mkdocs.yml +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/requirements-docs.txt +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/samples/cmjs/README.md +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/__init__.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/api.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/cmj/kinematics.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/core/video_io.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/dropjump/kinematics.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/__init__.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_adaptive_threshold.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_api.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_aspect_ratio.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_cmj_analysis.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_cmj_kinematics.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_com_estimation.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_contact_detection.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_filtering.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_kinematics.py +0 -0
- {kinemotion-0.15.2 → kinemotion-0.16.0}/tests/test_polyorder.py +0 -0
|
@@ -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
|
|
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/ #
|
|
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
|
|
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.
|
|
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
|
|
104
|
+
**Last Updated:** November 7, 2025
|