kinemotion 0.17.5__tar.gz → 0.18.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.
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/release.yml +7 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/test.yml +9 -10
- {kinemotion-0.17.5 → kinemotion-0.18.0}/CHANGELOG.md +26 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/PKG-INFO +1 -1
- {kinemotion-0.17.5 → kinemotion-0.18.0}/pyproject.toml +1 -1
- {kinemotion-0.17.5 → kinemotion-0.18.0}/sonar-project.properties +0 -1
- {kinemotion-0.17.5 → kinemotion-0.18.0}/uv.lock +1 -1
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.dockerignore +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/pull_request_template.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/docs.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.gitignore +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.readthedocs.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/.tool-versions +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/CLAUDE.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/CONTRIBUTING.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/Dockerfile +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/GEMINI.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/LICENSE +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/README.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/SECURITY.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/README.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/cmj.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/core.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/dropjump.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/overview.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/wallball-norep-detection.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/index.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/reference/parameters.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/framerate.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/README.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/mkdocs.yml +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/requirements-docs.txt +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/samples/cmjs/README.md +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/__init__.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/api.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/kinematics.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/video_io.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/cli.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/kinematics.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/__init__.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_adaptive_threshold.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_api.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_aspect_ratio.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cli_imports.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cmj_analysis.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cmj_kinematics.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_com_estimation.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_contact_detection.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_filtering.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_kinematics.py +0 -0
- {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_polyorder.py +0 -0
|
@@ -6,8 +6,15 @@ on:
|
|
|
6
6
|
- main
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
+
test:
|
|
10
|
+
name: Run Tests
|
|
11
|
+
uses: ./.github/workflows/test.yml
|
|
12
|
+
secrets:
|
|
13
|
+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
14
|
+
|
|
9
15
|
release:
|
|
10
16
|
name: Create Release
|
|
17
|
+
needs: test
|
|
11
18
|
runs-on: ubuntu-latest
|
|
12
19
|
permissions:
|
|
13
20
|
contents: write
|
|
@@ -7,15 +7,15 @@ on:
|
|
|
7
7
|
pull_request:
|
|
8
8
|
branches:
|
|
9
9
|
- main
|
|
10
|
+
workflow_call: # Allow this workflow to be called by other workflows
|
|
11
|
+
secrets:
|
|
12
|
+
SONAR_TOKEN:
|
|
13
|
+
required: false
|
|
10
14
|
|
|
11
15
|
jobs:
|
|
12
16
|
test:
|
|
13
|
-
name: Test
|
|
17
|
+
name: Test & Quality
|
|
14
18
|
runs-on: ubuntu-latest
|
|
15
|
-
strategy:
|
|
16
|
-
fail-fast: false # Continue running other matrix jobs even if one fails
|
|
17
|
-
matrix:
|
|
18
|
-
python-version: ["3.10", "3.11", "3.12"]
|
|
19
19
|
|
|
20
20
|
steps:
|
|
21
21
|
- name: Checkout repository
|
|
@@ -23,10 +23,10 @@ jobs:
|
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0 # Shallow clones should be disabled for better SonarQube analysis
|
|
25
25
|
|
|
26
|
-
- name: Set up Python
|
|
26
|
+
- name: Set up Python 3.12
|
|
27
27
|
uses: actions/setup-python@v5
|
|
28
28
|
with:
|
|
29
|
-
python-version:
|
|
29
|
+
python-version: "3.12"
|
|
30
30
|
|
|
31
31
|
- name: Install system dependencies
|
|
32
32
|
run: |
|
|
@@ -44,6 +44,7 @@ jobs:
|
|
|
44
44
|
uses: astral-sh/setup-uv@v5
|
|
45
45
|
with:
|
|
46
46
|
version: "0.8.17"
|
|
47
|
+
enable-cache: true
|
|
47
48
|
|
|
48
49
|
- name: Install dependencies
|
|
49
50
|
run: uv sync
|
|
@@ -63,7 +64,6 @@ jobs:
|
|
|
63
64
|
uv run pytest --cov --cov-report=xml --cov-report=term
|
|
64
65
|
|
|
65
66
|
- name: Upload coverage artifact
|
|
66
|
-
if: matrix.python-version == '3.12'
|
|
67
67
|
uses: actions/upload-artifact@v4
|
|
68
68
|
with:
|
|
69
69
|
name: coverage-report
|
|
@@ -88,8 +88,7 @@ jobs:
|
|
|
88
88
|
name: coverage-report
|
|
89
89
|
|
|
90
90
|
- name: SonarQube Scan
|
|
91
|
-
uses: SonarSource/
|
|
92
|
-
continue-on-error: true # Don't fail workflow if SonarCloud isn't configured yet
|
|
91
|
+
uses: SonarSource/sonarqube-scan-action@v6
|
|
93
92
|
env:
|
|
94
93
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
95
94
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
|
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
<!-- version list -->
|
|
9
9
|
|
|
10
|
+
## v0.18.0 (2025-11-10)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **ci**: Pass SONAR_TOKEN to reusable test workflow
|
|
15
|
+
([`79919d0`](https://github.com/feniix/kinemotion/commit/79919d065e5db5d039deec899324c76fa9c11960))
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **ci**: Streamline testing and enforce quality gates before release
|
|
20
|
+
([`7b95bc5`](https://github.com/feniix/kinemotion/commit/7b95bc5890521bd10910c87024f77c32475a8fad))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## v0.17.6 (2025-11-10)
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
- **ci**: Use unified SonarQube scan action
|
|
28
|
+
([`be20164`](https://github.com/feniix/kinemotion/commit/be20164339a545ff2256d38a8297281eb75ddfea))
|
|
29
|
+
|
|
30
|
+
### Performance Improvements
|
|
31
|
+
|
|
32
|
+
- **ci**: Enable uv dependency caching for faster builds
|
|
33
|
+
([`3a2e093`](https://github.com/feniix/kinemotion/commit/3a2e0932a34953bae8ae31b9a324eb2ca2450f57))
|
|
34
|
+
|
|
35
|
+
|
|
10
36
|
## v0.17.5 (2025-11-10)
|
|
11
37
|
|
|
12
38
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kinemotion
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.18.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinemotion-0.17.5 → kinemotion-0.18.0}/docs/research/sports-biomechanics-pose-estimation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|