diff --git a/.github/workflows/mega-linter.yml b/.github/workflows/mega-linter.yml new file mode 100644 index 0000000..209b737 --- /dev/null +++ b/.github/workflows/mega-linter.yml @@ -0,0 +1,43 @@ +--- +name: MegaLinter + +on: # yamllint disable-line rule:truthy + push: + branches: + - dev + pull_request: + branches: + - dev + workflow_dispatch: + +permissions: + contents: read + pull-requests: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + megalinter: + name: MegaLinter + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run MegaLinter + uses: oxsecurity/megalinter/flavors/python@v9.4.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload MegaLinter reports + if: always() + uses: actions/upload-artifact@v4 + with: + name: megalinter-reports + path: | + megalinter-reports + mega-linter.log \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc16752 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# Python caches and test artifacts +__pycache__/ +*.py[cod] +*$py.class +.pytest_cache/ +.pytest-tmp/ +.pytest_tmp/ +.pytest_tmp*/ +.mypy_cache/ +.ruff_cache/ +.coverage +.coverage.* +coverage.xml +htmlcov/ +.tox/ +.nox/ + +# Virtual environments and local configuration +.env +.venv/ +venv/ +env/ +ENV/ + +# Python packaging +build/ +dist/ +*.egg-info/ +.eggs/ +*.egg +wheels/ + +# MegaLinter reports +megalinter-reports/ +mega-linter.log +mega-linter.report + +# Editors and OS files +.idea/ +.vscode/settings.json +.DS_Store +Thumbs.db +*.swp + +# Local diagnostics and generated data +alpine-wheels/ +data/ +results/ +runs/ +outputs/ +*.png +*.mat +*.npy +*.npz diff --git a/.gitignore/orientation_diagnostics_joint16.png b/.gitignore/orientation_diagnostics_joint16.png deleted file mode 100644 index c613beb..0000000 Binary files a/.gitignore/orientation_diagnostics_joint16.png and /dev/null differ diff --git a/.mega-linter.yml b/.mega-linter.yml new file mode 100644 index 0000000..b6199a8 --- /dev/null +++ b/.mega-linter.yml @@ -0,0 +1,15 @@ +--- +# Keep MegaLinter focused on checks that are useful across these Python repos +# before strict typing, spelling, and security-scan baselines are established. +ENABLE_LINTERS: + - ACTION_ACTIONLINT + - MARKDOWN_MARKDOWNLINT + - PYTHON_RUFF + - REPOSITORY_GIT_DIFF + - YAML_YAMLLINT + - YAML_V8R + +VALIDATE_ALL_CODEBASE: true +PRINT_ALPACA: false +SHOW_ELAPSED_TIME: true +FLAVOR_SUGGESTIONS: false diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..697f090 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Florian Pfaff + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.