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.
Files changed (87) hide show
  1. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/release.yml +7 -0
  2. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/test.yml +9 -10
  3. {kinemotion-0.17.5 → kinemotion-0.18.0}/CHANGELOG.md +26 -0
  4. {kinemotion-0.17.5 → kinemotion-0.18.0}/PKG-INFO +1 -1
  5. {kinemotion-0.17.5 → kinemotion-0.18.0}/pyproject.toml +1 -1
  6. {kinemotion-0.17.5 → kinemotion-0.18.0}/sonar-project.properties +0 -1
  7. {kinemotion-0.17.5 → kinemotion-0.18.0}/uv.lock +1 -1
  8. {kinemotion-0.17.5 → kinemotion-0.18.0}/.dockerignore +0 -0
  9. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  10. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  11. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  12. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/pull_request_template.md +0 -0
  13. {kinemotion-0.17.5 → kinemotion-0.18.0}/.github/workflows/docs.yml +0 -0
  14. {kinemotion-0.17.5 → kinemotion-0.18.0}/.gitignore +0 -0
  15. {kinemotion-0.17.5 → kinemotion-0.18.0}/.pre-commit-config.yaml +0 -0
  16. {kinemotion-0.17.5 → kinemotion-0.18.0}/.readthedocs.yml +0 -0
  17. {kinemotion-0.17.5 → kinemotion-0.18.0}/.tool-versions +0 -0
  18. {kinemotion-0.17.5 → kinemotion-0.18.0}/CLAUDE.md +0 -0
  19. {kinemotion-0.17.5 → kinemotion-0.18.0}/CODE_OF_CONDUCT.md +0 -0
  20. {kinemotion-0.17.5 → kinemotion-0.18.0}/CONTRIBUTING.md +0 -0
  21. {kinemotion-0.17.5 → kinemotion-0.18.0}/Dockerfile +0 -0
  22. {kinemotion-0.17.5 → kinemotion-0.18.0}/GEMINI.md +0 -0
  23. {kinemotion-0.17.5 → kinemotion-0.18.0}/LICENSE +0 -0
  24. {kinemotion-0.17.5 → kinemotion-0.18.0}/README.md +0 -0
  25. {kinemotion-0.17.5 → kinemotion-0.18.0}/SECURITY.md +0 -0
  26. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/README.md +0 -0
  27. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/cmj.md +0 -0
  28. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/core.md +0 -0
  29. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/dropjump.md +0 -0
  30. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/api/overview.md +0 -0
  31. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/errors-findings.md +0 -0
  32. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/validation-plan.md +0 -0
  33. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/development/wallball-norep-detection.md +0 -0
  34. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/bulk-processing.md +0 -0
  35. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/camera-setup.md +0 -0
  36. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/guides/cmj-guide.md +0 -0
  37. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/index.md +0 -0
  38. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/reference/parameters.md +0 -0
  39. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/reference/pose-systems.md +0 -0
  40. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
  41. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/framerate.md +0 -0
  42. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/imu-metadata.md +0 -0
  43. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/real-time-analysis.md +0 -0
  44. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/technical/triple-extension.md +0 -0
  45. {kinemotion-0.17.5 → kinemotion-0.18.0}/docs/translations/es/camera-setup.md +0 -0
  46. {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/README.md +0 -0
  47. {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/bulk_processing.py +0 -0
  48. {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/bulk/simple_example.py +0 -0
  49. {kinemotion-0.17.5 → kinemotion-0.18.0}/examples/programmatic_usage.py +0 -0
  50. {kinemotion-0.17.5 → kinemotion-0.18.0}/mkdocs.yml +0 -0
  51. {kinemotion-0.17.5 → kinemotion-0.18.0}/requirements-docs.txt +0 -0
  52. {kinemotion-0.17.5 → kinemotion-0.18.0}/samples/cmjs/README.md +0 -0
  53. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/__init__.py +0 -0
  54. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/api.py +0 -0
  55. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cli.py +0 -0
  56. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/__init__.py +0 -0
  57. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/analysis.py +0 -0
  58. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/cli.py +0 -0
  59. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
  60. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/joint_angles.py +0 -0
  61. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/cmj/kinematics.py +0 -0
  62. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/__init__.py +0 -0
  63. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/auto_tuning.py +0 -0
  64. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/cli_utils.py +0 -0
  65. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
  66. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/filtering.py +0 -0
  67. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/pose.py +0 -0
  68. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/smoothing.py +0 -0
  69. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/core/video_io.py +0 -0
  70. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/__init__.py +0 -0
  71. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/analysis.py +0 -0
  72. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/cli.py +0 -0
  73. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
  74. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/dropjump/kinematics.py +0 -0
  75. {kinemotion-0.17.5 → kinemotion-0.18.0}/src/kinemotion/py.typed +0 -0
  76. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/__init__.py +0 -0
  77. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_adaptive_threshold.py +0 -0
  78. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_api.py +0 -0
  79. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_aspect_ratio.py +0 -0
  80. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cli_imports.py +0 -0
  81. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cmj_analysis.py +0 -0
  82. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_cmj_kinematics.py +0 -0
  83. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_com_estimation.py +0 -0
  84. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_contact_detection.py +0 -0
  85. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_filtering.py +0 -0
  86. {kinemotion-0.17.5 → kinemotion-0.18.0}/tests/test_kinematics.py +0 -0
  87. {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 (Python ${{ matrix.python-version }})
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 ${{ matrix.python-version }}
26
+ - name: Set up Python 3.12
27
27
  uses: actions/setup-python@v5
28
28
  with:
29
- python-version: ${{ matrix.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/sonarcloud-github-action@master
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.17.5
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kinemotion"
3
- version = "0.17.5"
3
+ version = "0.18.0"
4
4
  description = "Video-based kinematic analysis for athletic performance"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10,<3.13"
@@ -1,7 +1,6 @@
1
1
  # Project identification
2
2
  sonar.projectKey=feniix_kinemotion
3
3
  sonar.projectName=Kinemotion
4
- sonar.projectVersion=0.16.0
5
4
  sonar.organization=feniix
6
5
 
7
6
  # Project metadata
@@ -700,7 +700,7 @@ wheels = [
700
700
 
701
701
  [[package]]
702
702
  name = "kinemotion"
703
- version = "0.17.5"
703
+ version = "0.18.0"
704
704
  source = { editable = "." }
705
705
  dependencies = [
706
706
  { name = "click" },
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