kinemotion 0.8.2__tar.gz → 0.9.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 (55) hide show
  1. kinemotion-0.9.0/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
  2. kinemotion-0.9.0/.github/ISSUE_TEMPLATE/config.yml +11 -0
  3. kinemotion-0.9.0/.github/ISSUE_TEMPLATE/feature_request.yml +96 -0
  4. kinemotion-0.9.0/.github/pull_request_template.md +102 -0
  5. {kinemotion-0.8.2 → kinemotion-0.9.0}/CHANGELOG.md +21 -0
  6. kinemotion-0.9.0/CODE_OF_CONDUCT.md +133 -0
  7. kinemotion-0.9.0/CONTRIBUTING.md +318 -0
  8. {kinemotion-0.8.2 → kinemotion-0.9.0}/PKG-INFO +1 -1
  9. kinemotion-0.9.0/SECURITY.md +45 -0
  10. kinemotion-0.9.0/examples/bulk/README.md +468 -0
  11. kinemotion-0.9.0/examples/bulk/bulk_processing.py +286 -0
  12. kinemotion-0.9.0/examples/bulk/simple_example.py +97 -0
  13. {kinemotion-0.8.2 → kinemotion-0.9.0}/examples/programmatic_usage.py +20 -15
  14. {kinemotion-0.8.2 → kinemotion-0.9.0}/pyproject.toml +4 -1
  15. kinemotion-0.9.0/src/kinemotion/__init__.py +14 -0
  16. kinemotion-0.9.0/src/kinemotion/api.py +428 -0
  17. kinemotion-0.9.0/src/kinemotion/py.typed +0 -0
  18. kinemotion-0.9.0/tests/test_api.py +319 -0
  19. {kinemotion-0.8.2 → kinemotion-0.9.0}/uv.lock +1 -1
  20. kinemotion-0.8.2/src/kinemotion/__init__.py +0 -3
  21. {kinemotion-0.8.2 → kinemotion-0.9.0}/.dockerignore +0 -0
  22. {kinemotion-0.8.2 → kinemotion-0.9.0}/.github/workflows/release.yml +0 -0
  23. {kinemotion-0.8.2 → kinemotion-0.9.0}/.gitignore +0 -0
  24. {kinemotion-0.8.2 → kinemotion-0.9.0}/.pre-commit-config.yaml +0 -0
  25. {kinemotion-0.8.2 → kinemotion-0.9.0}/.tool-versions +0 -0
  26. {kinemotion-0.8.2 → kinemotion-0.9.0}/CLAUDE.md +0 -0
  27. {kinemotion-0.8.2 → kinemotion-0.9.0}/Dockerfile +0 -0
  28. {kinemotion-0.8.2 → kinemotion-0.9.0}/GEMINI.md +0 -0
  29. {kinemotion-0.8.2 → kinemotion-0.9.0}/LICENSE +0 -0
  30. {kinemotion-0.8.2 → kinemotion-0.9.0}/README.md +0 -0
  31. {kinemotion-0.8.2 → kinemotion-0.9.0}/docs/ERRORS_FINDINGS.md +0 -0
  32. {kinemotion-0.8.2 → kinemotion-0.9.0}/docs/FRAMERATE.md +0 -0
  33. {kinemotion-0.8.2 → kinemotion-0.9.0}/docs/IMU_METADATA_PRESERVATION.md +0 -0
  34. {kinemotion-0.8.2 → kinemotion-0.9.0}/docs/PARAMETERS.md +0 -0
  35. {kinemotion-0.8.2 → kinemotion-0.9.0}/docs/VALIDATION_PLAN.md +0 -0
  36. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/cli.py +0 -0
  37. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/__init__.py +0 -0
  38. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/auto_tuning.py +0 -0
  39. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/filtering.py +0 -0
  40. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/pose.py +0 -0
  41. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/smoothing.py +0 -0
  42. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/core/video_io.py +0 -0
  43. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/dropjump/__init__.py +0 -0
  44. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/dropjump/analysis.py +0 -0
  45. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/dropjump/cli.py +0 -0
  46. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
  47. {kinemotion-0.8.2 → kinemotion-0.9.0}/src/kinemotion/dropjump/kinematics.py +0 -0
  48. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/__init__.py +0 -0
  49. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_adaptive_threshold.py +0 -0
  50. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_aspect_ratio.py +0 -0
  51. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_com_estimation.py +0 -0
  52. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_contact_detection.py +0 -0
  53. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_filtering.py +0 -0
  54. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_kinematics.py +0 -0
  55. {kinemotion-0.8.2 → kinemotion-0.9.0}/tests/test_polyorder.py +0 -0
@@ -0,0 +1,105 @@
1
+ name: Bug Report
2
+ description: Report a bug or issue with Kinemotion
3
+ title: "[Bug]: "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thank you for taking the time to report a bug! Please fill out the form below with as much detail as possible.
10
+
11
+ - type: textarea
12
+ id: description
13
+ attributes:
14
+ label: Bug Description
15
+ description: A clear and concise description of what the bug is.
16
+ placeholder: Describe what happened...
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: reproduction
22
+ attributes:
23
+ label: Steps to Reproduce
24
+ description: Detailed steps to reproduce the behavior.
25
+ placeholder: |
26
+ 1. Run command '...'
27
+ 2. With video file '...'
28
+ 3. See error '...'
29
+ validations:
30
+ required: true
31
+
32
+ - type: textarea
33
+ id: expected
34
+ attributes:
35
+ label: Expected Behavior
36
+ description: What you expected to happen.
37
+ placeholder: Describe the expected behavior...
38
+ validations:
39
+ required: true
40
+
41
+ - type: textarea
42
+ id: actual
43
+ attributes:
44
+ label: Actual Behavior
45
+ description: What actually happened.
46
+ placeholder: Describe what actually happened...
47
+ validations:
48
+ required: true
49
+
50
+ - type: textarea
51
+ id: command
52
+ attributes:
53
+ label: Command Used
54
+ description: The exact command you ran (please remove any sensitive paths if needed).
55
+ placeholder: |
56
+ kinemotion dropjump-analyze video.mp4 --drop-height 0.40 --output debug.mp4
57
+ render: bash
58
+ validations:
59
+ required: false
60
+
61
+ - type: textarea
62
+ id: environment
63
+ attributes:
64
+ label: Environment
65
+ description: Information about your environment.
66
+ value: |
67
+ - OS: [e.g., macOS 14.0, Ubuntu 22.04, Windows 11]
68
+ - Python version: [run `python --version`]
69
+ - Kinemotion version: [run `kinemotion --version` or check `pyproject.toml`]
70
+ - Video format: [e.g., MP4 H.264, MOV, AVI]
71
+ - Video specs: [e.g., 1920x1080, 30fps, iPhone 15 Pro recording]
72
+ validations:
73
+ required: true
74
+
75
+ - type: textarea
76
+ id: logs
77
+ attributes:
78
+ label: Error Messages / Logs
79
+ description: Any error messages, stack traces, or relevant log output.
80
+ placeholder: Paste error messages or logs here...
81
+ render: text
82
+ validations:
83
+ required: false
84
+
85
+ - type: textarea
86
+ id: additional
87
+ attributes:
88
+ label: Additional Context
89
+ description: Add any other context about the problem here (screenshots, debug videos, etc.).
90
+ placeholder: Any additional information...
91
+ validations:
92
+ required: false
93
+
94
+ - type: checkboxes
95
+ id: checklist
96
+ attributes:
97
+ label: Pre-submission Checklist
98
+ description: Please confirm the following before submitting.
99
+ options:
100
+ - label: I have searched existing issues to avoid duplicates
101
+ required: true
102
+ - label: I am using the latest version of Kinemotion
103
+ required: false
104
+ - label: I have included all relevant environment details
105
+ required: true
@@ -0,0 +1,11 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Question or Discussion
4
+ url: https://github.com/feniix/kinemotion/discussions
5
+ about: Ask questions or discuss ideas with the community
6
+ - name: Documentation
7
+ url: https://github.com/feniix/kinemotion/blob/main/README.md
8
+ about: Read the documentation, usage guides, and troubleshooting tips
9
+ - name: Contributing Guide
10
+ url: https://github.com/feniix/kinemotion/blob/main/CONTRIBUTING.md
11
+ about: Learn how to contribute to Kinemotion
@@ -0,0 +1,96 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or enhancement for Kinemotion
3
+ title: "[Feature]: "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thank you for suggesting a new feature! Please describe your idea in detail below.
10
+
11
+ - type: textarea
12
+ id: problem
13
+ attributes:
14
+ label: Problem Statement
15
+ description: Is your feature request related to a problem? Please describe.
16
+ placeholder: "I'm frustrated when... / It would be helpful if..."
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: solution
22
+ attributes:
23
+ label: Proposed Solution
24
+ description: Describe the solution or feature you'd like to see.
25
+ placeholder: "I would like Kinemotion to..."
26
+ validations:
27
+ required: true
28
+
29
+ - type: textarea
30
+ id: alternatives
31
+ attributes:
32
+ label: Alternatives Considered
33
+ description: Describe any alternative solutions or features you've considered.
34
+ placeholder: "Another approach could be..."
35
+ validations:
36
+ required: false
37
+
38
+ - type: dropdown
39
+ id: feature-type
40
+ attributes:
41
+ label: Feature Type
42
+ description: What type of feature is this?
43
+ options:
44
+ - New analysis capability
45
+ - Improved accuracy/precision
46
+ - Performance improvement
47
+ - Better output/visualization
48
+ - CLI/UX improvement
49
+ - Documentation improvement
50
+ - Other
51
+ validations:
52
+ required: true
53
+
54
+ - type: textarea
55
+ id: use-case
56
+ attributes:
57
+ label: Use Case
58
+ description: Describe your specific use case for this feature.
59
+ placeholder: "I want to analyze... / This would help me..."
60
+ validations:
61
+ required: true
62
+
63
+ - type: dropdown
64
+ id: priority
65
+ attributes:
66
+ label: Priority
67
+ description: How important is this feature to you?
68
+ options:
69
+ - Critical - blocking my work
70
+ - High - would significantly improve my workflow
71
+ - Medium - would be nice to have
72
+ - Low - minor enhancement
73
+ validations:
74
+ required: false
75
+
76
+ - type: textarea
77
+ id: additional
78
+ attributes:
79
+ label: Additional Context
80
+ description: Add any other context, screenshots, examples, or references about the feature request.
81
+ placeholder: "Related papers, similar tools, mockups, etc..."
82
+ validations:
83
+ required: false
84
+
85
+ - type: checkboxes
86
+ id: contribution
87
+ attributes:
88
+ label: Contribution
89
+ description: Would you be willing to contribute to this feature?
90
+ options:
91
+ - label: I would be willing to submit a PR for this feature
92
+ required: false
93
+ - label: I can help with testing this feature
94
+ required: false
95
+ - label: I can help with documentation for this feature
96
+ required: false
@@ -0,0 +1,102 @@
1
+ ## Description
2
+
3
+ <!-- Provide a brief description of the changes in this PR -->
4
+
5
+ ## Type of Change
6
+
7
+ <!-- Mark the relevant option with an "x" -->
8
+
9
+ - [ ] Bug fix (non-breaking change which fixes an issue)
10
+ - [ ] New feature (non-breaking change which adds functionality)
11
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12
+ - [ ] Documentation update
13
+ - [ ] Code refactoring (no functional changes)
14
+ - [ ] Performance improvement
15
+ - [ ] Test coverage improvement
16
+
17
+ ## Related Issues
18
+
19
+ <!-- Link to related issues using #issue_number -->
20
+
21
+ Closes #
22
+ Related to #
23
+
24
+ ## Changes Made
25
+
26
+ <!-- Describe the changes in detail -->
27
+
28
+ -
29
+ -
30
+ -
31
+
32
+ ## Testing
33
+
34
+ <!-- Describe the testing you've done -->
35
+
36
+ ### Test Environment
37
+
38
+ - OS: <!-- e.g., macOS 14.0, Ubuntu 22.04 -->
39
+ - Python version: <!-- e.g., 3.12.7 -->
40
+ - Video specs tested: <!-- e.g., 1920x1080 30fps MP4 -->
41
+
42
+ ### Test Cases
43
+
44
+ <!-- Describe what you tested -->
45
+
46
+ - [ ] Tested with sample videos
47
+ - [ ] Added/updated unit tests
48
+ - [ ] All existing tests pass
49
+ - [ ] Tested edge cases
50
+
51
+ ### Commands Run
52
+
53
+ ```bash
54
+ # Example test commands
55
+ uv run kinemotion dropjump-analyze test_video.mp4 --drop-height 0.40
56
+ ```
57
+
58
+ ## Code Quality Checklist
59
+
60
+ <!-- Confirm all checks pass -->
61
+
62
+ - [ ] Code follows the project's style guidelines
63
+ - [ ] Code is formatted with Black: `uv run black src/`
64
+ - [ ] Linting passes: `uv run ruff check`
65
+ - [ ] Type checking passes: `uv run mypy src/kinemotion`
66
+ - [ ] All tests pass: `uv run pytest`
67
+ - [ ] Added type annotations to all new functions
68
+ - [ ] Added docstrings to public functions/classes
69
+ - [ ] No new linting warnings introduced
70
+
71
+ ## Documentation
72
+
73
+ <!-- Update documentation as needed -->
74
+
75
+ - [ ] Updated README.md (if needed)
76
+ - [ ] Updated CLAUDE.md (if needed)
77
+ - [ ] Updated docs/PARAMETERS.md (if adding/changing parameters)
78
+ - [ ] Added/updated code comments
79
+ - [ ] Added docstrings
80
+
81
+ ## Screenshots / Videos
82
+
83
+ <!-- If applicable, add screenshots or demo videos -->
84
+
85
+ ## Breaking Changes
86
+
87
+ <!-- If this PR introduces breaking changes, describe them and migration steps -->
88
+
89
+ ## Additional Notes
90
+
91
+ <!-- Any additional information reviewers should know -->
92
+
93
+ ## Reviewer Checklist
94
+
95
+ <!-- For reviewers -->
96
+
97
+ - [ ] Code quality meets project standards
98
+ - [ ] Tests are comprehensive and pass
99
+ - [ ] Documentation is clear and complete
100
+ - [ ] No security concerns
101
+ - [ ] Performance impact is acceptable
102
+ - [ ] Breaking changes are justified and documented
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  <!-- version list -->
9
9
 
10
+ ## v0.9.0 (2025-11-02)
11
+
12
+ ### Features
13
+
14
+ - Add programmatic API for bulk video processing
15
+ ([`213de56`](https://github.com/feniix/kinemotion/commit/213de564fda96b461807dbefa2795e037a5edc94))
16
+
17
+
18
+ ## v0.8.3 (2025-11-02)
19
+
20
+ ### Bug Fixes
21
+
22
+ - Create new release
23
+ ([`5f6322b`](https://github.com/feniix/kinemotion/commit/5f6322b6da24631f95f4e3036ed145e0d47b53a1))
24
+
25
+ ### Documentation
26
+
27
+ - Update repository metadata for GHCR package description
28
+ ([`4779355`](https://github.com/feniix/kinemotion/commit/4779355901a407514d83cf2aa82f55fa083e7e63))
29
+
30
+
10
31
  ## v0.8.2 (2025-11-02)
11
32
 
12
33
  ### Bug Fixes
@@ -0,0 +1,133 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, caste, color, religion, or sexual
10
+ identity and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ * Demonstrating empathy and kindness toward other people
21
+ * Being respectful of differing opinions, viewpoints, and experiences
22
+ * Giving and gracefully accepting constructive feedback
23
+ * Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ * Focusing on what is best not just for us as individuals, but for the overall
26
+ community
27
+
28
+ Examples of unacceptable behavior include:
29
+
30
+ * The use of sexualized language or imagery, and sexual attention or advances of
31
+ any kind
32
+ * Trolling, insulting or derogatory comments, and personal or political attacks
33
+ * Public or private harassment
34
+ * Publishing others' private information, such as a physical or email address,
35
+ without their explicit permission
36
+ * Other conduct which could reasonably be considered inappropriate in a
37
+ professional setting
38
+
39
+ ## Enforcement Responsibilities
40
+
41
+ Community leaders are responsible for clarifying and enforcing our standards of
42
+ acceptable behavior and will take appropriate and fair corrective action in
43
+ response to any behavior that they deem inappropriate, threatening, offensive,
44
+ or harmful.
45
+
46
+ Community leaders have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
49
+ decisions when appropriate.
50
+
51
+ ## Scope
52
+
53
+ This Code of Conduct applies within all community spaces, and also applies when
54
+ an individual is officially representing the community in public spaces.
55
+ Examples of representing our community include using an official e-mail address,
56
+ posting via an official social media account, or acting as an appointed
57
+ representative at an online or offline event.
58
+
59
+ ## Enforcement
60
+
61
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
+ reported to the community leaders responsible for enforcement via GitHub issues
63
+ or by contacting the project maintainers directly.
64
+
65
+ All complaints will be reviewed and investigated promptly and fairly.
66
+
67
+ All community leaders are obligated to respect the privacy and security of the
68
+ reporter of any incident.
69
+
70
+ ## Enforcement Guidelines
71
+
72
+ Community leaders will follow these Community Impact Guidelines in determining
73
+ the consequences for any action they deem in violation of this Code of Conduct:
74
+
75
+ ### 1. Correction
76
+
77
+ **Community Impact**: Use of inappropriate language or other behavior deemed
78
+ unprofessional or unwelcome in the community.
79
+
80
+ **Consequence**: A private, written warning from community leaders, providing
81
+ clarity around the nature of the violation and an explanation of why the
82
+ behavior was inappropriate. A public apology may be requested.
83
+
84
+ ### 2. Warning
85
+
86
+ **Community Impact**: A violation through a single incident or series of
87
+ actions.
88
+
89
+ **Consequence**: A warning with consequences for continued behavior. No
90
+ interaction with the people involved, including unsolicited interaction with
91
+ those enforcing the Code of Conduct, for a specified period of time. This
92
+ includes avoiding interactions in community spaces as well as external channels
93
+ like social media. Violating these terms may lead to a temporary or permanent
94
+ ban.
95
+
96
+ ### 3. Temporary Ban
97
+
98
+ **Community Impact**: A serious violation of community standards, including
99
+ sustained inappropriate behavior.
100
+
101
+ **Consequence**: A temporary ban from any sort of interaction or public
102
+ communication with the community for a specified period of time. No public or
103
+ private interaction with the people involved, including unsolicited interaction
104
+ with those enforcing the Code of Conduct, is allowed during this period.
105
+ Violating these terms may lead to a permanent ban.
106
+
107
+ ### 4. Permanent Ban
108
+
109
+ **Community Impact**: Demonstrating a pattern of violation of community
110
+ standards, including sustained inappropriate behavior, harassment of an
111
+ individual, or aggression toward or disparagement of classes of individuals.
112
+
113
+ **Consequence**: A permanent ban from any sort of public interaction within the
114
+ community.
115
+
116
+ ## Attribution
117
+
118
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
+ version 2.1, available at
120
+ [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
121
+
122
+ Community Impact Guidelines were inspired by
123
+ [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124
+
125
+ For answers to common questions about this code of conduct, see the FAQ at
126
+ [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
127
+ [https://www.contributor-covenant.org/translations][translations].
128
+
129
+ [homepage]: https://www.contributor-covenant.org
130
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
131
+ [Mozilla CoC]: https://github.com/mozilla/diversity
132
+ [FAQ]: https://www.contributor-covenant.org/faq
133
+ [translations]: https://www.contributor-covenant.org/translations