kinemotion 0.17.6__tar.gz → 0.18.1__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.17.6 → kinemotion-0.18.1}/.github/workflows/docs.yml +21 -23
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/workflows/release.yml +15 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/workflows/test.yml +7 -9
- {kinemotion-0.17.6 → kinemotion-0.18.1}/CHANGELOG.md +26 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/PKG-INFO +1 -1
- {kinemotion-0.17.6 → kinemotion-0.18.1}/pyproject.toml +1 -1
- {kinemotion-0.17.6 → kinemotion-0.18.1}/sonar-project.properties +0 -1
- {kinemotion-0.17.6 → kinemotion-0.18.1}/uv.lock +1 -1
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.dockerignore +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.github/pull_request_template.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.gitignore +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.readthedocs.yml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/.tool-versions +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/CLAUDE.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/CONTRIBUTING.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/Dockerfile +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/GEMINI.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/LICENSE +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/README.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/SECURITY.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/README.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/api/cmj.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/api/core.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/api/dropjump.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/api/overview.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/development/wallball-norep-detection.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/index.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/reference/parameters.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/technical/framerate.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/examples/bulk/README.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/mkdocs.yml +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/requirements-docs.txt +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/samples/cmjs/README.md +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/__init__.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/api.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/cmj/kinematics.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/core/video_io.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/dropjump/cli.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/dropjump/kinematics.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/__init__.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_adaptive_threshold.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_api.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_aspect_ratio.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_cli_imports.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_cmj_analysis.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_cmj_kinematics.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_com_estimation.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_contact_detection.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_filtering.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_kinematics.py +0 -0
- {kinemotion-0.17.6 → kinemotion-0.18.1}/tests/test_polyorder.py +0 -0
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
name: Documentation
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
#
|
|
5
|
-
workflow_run:
|
|
6
|
-
workflows: ["Release"]
|
|
7
|
-
types:
|
|
8
|
-
- completed
|
|
9
|
-
branches: [main]
|
|
10
|
-
# Also allow manual trigger and PR builds
|
|
4
|
+
# Build docs on PRs for validation (not deployed)
|
|
11
5
|
pull_request:
|
|
12
6
|
branches: [main]
|
|
13
|
-
|
|
7
|
+
# Called by release workflow for deployment
|
|
8
|
+
workflow_call:
|
|
14
9
|
|
|
15
10
|
jobs:
|
|
16
11
|
build:
|
|
17
12
|
runs-on: ubuntu-latest
|
|
18
13
|
steps:
|
|
19
|
-
-
|
|
14
|
+
- name: Checkout repository
|
|
15
|
+
uses: actions/checkout@v4
|
|
20
16
|
with:
|
|
21
|
-
# Check out main to get the version bump commit from semantic-release
|
|
22
|
-
ref: main
|
|
23
17
|
fetch-depth: 0
|
|
24
18
|
|
|
25
19
|
- name: Set up Python
|
|
@@ -27,9 +21,10 @@ jobs:
|
|
|
27
21
|
with:
|
|
28
22
|
python-version: "3.12"
|
|
29
23
|
|
|
30
|
-
- name:
|
|
31
|
-
uses: astral-sh/setup-uv@
|
|
24
|
+
- name: Set up uv
|
|
25
|
+
uses: astral-sh/setup-uv@v5
|
|
32
26
|
with:
|
|
27
|
+
version: "0.8.17"
|
|
33
28
|
enable-cache: true
|
|
34
29
|
|
|
35
30
|
- name: Install dependencies
|
|
@@ -47,29 +42,33 @@ jobs:
|
|
|
47
42
|
path: site/
|
|
48
43
|
|
|
49
44
|
deploy:
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
name: Deploy to GitHub Pages
|
|
46
|
+
# Only deploy when called from release workflow, not on PRs
|
|
47
|
+
if: github.event_name == 'workflow_call'
|
|
52
48
|
needs: build
|
|
53
49
|
runs-on: ubuntu-latest
|
|
54
50
|
permissions:
|
|
55
51
|
contents: write
|
|
56
52
|
steps:
|
|
57
|
-
-
|
|
53
|
+
- name: Checkout repository
|
|
54
|
+
uses: actions/checkout@v4
|
|
58
55
|
with:
|
|
59
56
|
ref: main
|
|
60
|
-
fetch-depth: 0
|
|
57
|
+
fetch-depth: 0
|
|
61
58
|
|
|
62
59
|
- name: Set up Python
|
|
63
60
|
uses: actions/setup-python@v5
|
|
64
61
|
with:
|
|
65
62
|
python-version: "3.12"
|
|
66
63
|
|
|
67
|
-
- name:
|
|
68
|
-
uses: astral-sh/setup-uv@
|
|
64
|
+
- name: Set up uv
|
|
65
|
+
uses: astral-sh/setup-uv@v5
|
|
66
|
+
with:
|
|
67
|
+
version: "0.8.17"
|
|
68
|
+
enable-cache: true
|
|
69
69
|
|
|
70
70
|
- name: Install dependencies
|
|
71
|
-
run:
|
|
72
|
-
uv sync --frozen
|
|
71
|
+
run: uv sync --frozen
|
|
73
72
|
|
|
74
73
|
- name: Configure git
|
|
75
74
|
run: |
|
|
@@ -77,5 +76,4 @@ jobs:
|
|
|
77
76
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
78
77
|
|
|
79
78
|
- name: Deploy to GitHub Pages
|
|
80
|
-
run:
|
|
81
|
-
uv run mkdocs gh-deploy --force
|
|
79
|
+
run: uv run mkdocs gh-deploy --force
|
|
@@ -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
|
|
@@ -59,6 +66,14 @@ jobs:
|
|
|
59
66
|
if: steps.get_version.outputs.released == 'true'
|
|
60
67
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
61
68
|
|
|
69
|
+
docs:
|
|
70
|
+
name: Deploy Documentation
|
|
71
|
+
needs: release
|
|
72
|
+
if: needs.release.outputs.released == 'true'
|
|
73
|
+
uses: ./.github/workflows/docs.yml
|
|
74
|
+
permissions:
|
|
75
|
+
contents: write
|
|
76
|
+
|
|
62
77
|
docker:
|
|
63
78
|
name: Build and Push Docker Image
|
|
64
79
|
needs: release
|
|
@@ -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: |
|
|
@@ -64,7 +64,6 @@ jobs:
|
|
|
64
64
|
uv run pytest --cov --cov-report=xml --cov-report=term
|
|
65
65
|
|
|
66
66
|
- name: Upload coverage artifact
|
|
67
|
-
if: matrix.python-version == '3.12'
|
|
68
67
|
uses: actions/upload-artifact@v4
|
|
69
68
|
with:
|
|
70
69
|
name: coverage-report
|
|
@@ -90,7 +89,6 @@ jobs:
|
|
|
90
89
|
|
|
91
90
|
- name: SonarQube Scan
|
|
92
91
|
uses: SonarSource/sonarqube-scan-action@v6
|
|
93
|
-
continue-on-error: true # Don't fail workflow if SonarCloud isn't configured yet
|
|
94
92
|
env:
|
|
95
93
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
96
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.1 (2025-11-10)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- Ci build
|
|
15
|
+
([`f45e2c3`](https://github.com/feniix/kinemotion/commit/f45e2c3c11ae241d24de3e44836206e111defc2a))
|
|
16
|
+
|
|
17
|
+
### Refactoring
|
|
18
|
+
|
|
19
|
+
- **ci**: Use reusable workflow for docs deployment
|
|
20
|
+
([`013dbd1`](https://github.com/feniix/kinemotion/commit/013dbd112cd5bcbe69bc405066b39bb142996d46))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## v0.18.0 (2025-11-10)
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
- **ci**: Pass SONAR_TOKEN to reusable test workflow
|
|
28
|
+
([`79919d0`](https://github.com/feniix/kinemotion/commit/79919d065e5db5d039deec899324c76fa9c11960))
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
- **ci**: Streamline testing and enforce quality gates before release
|
|
33
|
+
([`7b95bc5`](https://github.com/feniix/kinemotion/commit/7b95bc5890521bd10910c87024f77c32475a8fad))
|
|
34
|
+
|
|
35
|
+
|
|
10
36
|
## v0.17.6 (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.1
|
|
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
|
{kinemotion-0.17.6 → kinemotion-0.18.1}/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
|