InterpolatePy 1.0.3__tar.gz → 2.0.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.
- interpolatepy-2.0.0/.github/workflows/docs.yml +74 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.github/workflows/pre-commit.yml +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.github/workflows/publish.yml +1 -1
- interpolatepy-2.0.0/.github/workflows/test.yml +63 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.gitignore +3 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.pre-commit-config.yaml +5 -12
- interpolatepy-2.0.0/ALGORITHMS.md +1092 -0
- interpolatepy-2.0.0/InterpolatePy.egg-info/PKG-INFO +345 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/InterpolatePy.egg-info/SOURCES.txt +43 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/InterpolatePy.egg-info/requires.txt +2 -4
- interpolatepy-2.0.0/PKG-INFO +345 -0
- interpolatepy-2.0.0/README.md +290 -0
- interpolatepy-2.0.0/codecov.yml +27 -0
- interpolatepy-2.0.0/docs/algorithms.md +818 -0
- interpolatepy-2.0.0/docs/api-reference.md +640 -0
- interpolatepy-2.0.0/docs/assets/extra.css +110 -0
- interpolatepy-2.0.0/docs/assets/extra.js +79 -0
- interpolatepy-2.0.0/docs/changelog.md +223 -0
- interpolatepy-2.0.0/docs/contributing.md +656 -0
- interpolatepy-2.0.0/docs/examples.md +1414 -0
- interpolatepy-2.0.0/docs/index.md +179 -0
- interpolatepy-2.0.0/docs/installation.md +355 -0
- interpolatepy-2.0.0/docs/quickstart.md +369 -0
- interpolatepy-2.0.0/docs/troubleshooting.md +413 -0
- interpolatepy-2.0.0/docs/tutorials/motion-profiles.md +861 -0
- interpolatepy-2.0.0/docs/tutorials/spline-interpolation.md +926 -0
- interpolatepy-2.0.0/docs/user-guide.md +673 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/b_spline_approx_ex.py +20 -4
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/b_spline_ex.py +6 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/c_s_smoot_search_ex.py +5 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/c_s_smoothing_ex.py +5 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/c_s_with_acc1_ex.py +47 -9
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/c_s_with_acc2_ex.py +3 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/cubic_spline_ex.py +2 -0
- interpolatepy-2.0.0/examples/lin_poly_parabolic_ex.py +124 -0
- interpolatepy-2.0.0/examples/log_quat_ex.py +207 -0
- interpolatepy-2.0.0/examples/log_quat_new_ex.py +394 -0
- interpolatepy-2.0.0/examples/quat_visualization_ex.py +295 -0
- interpolatepy-2.0.0/examples/squad_c2_ex.py +225 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/trapezoidal_ex.py +24 -4
- interpolatepy-2.0.0/interpolatepy/__init__.py +100 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/b_spline.py +75 -29
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/b_spline_approx.py +9 -5
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/b_spline_cubic.py +12 -17
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/b_spline_interpolate.py +21 -6
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/b_spline_smooth.py +7 -11
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/c_s_smoot_search.py +18 -5
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/c_s_smoothing.py +10 -4
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/c_s_with_acc1.py +5 -3
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/c_s_with_acc2.py +16 -2
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/cubic_spline.py +16 -13
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/double_s.py +57 -50
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/frenet_frame.py +30 -10
- interpolatepy-2.0.0/interpolatepy/lin_poly_parabolic.py +224 -0
- interpolatepy-2.0.0/interpolatepy/log_quat.py +950 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/polynomials.py +0 -1
- interpolatepy-2.0.0/interpolatepy/quat_core.py +682 -0
- interpolatepy-2.0.0/interpolatepy/quat_spline.py +348 -0
- interpolatepy-2.0.0/interpolatepy/quat_visualization.py +584 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/simple_paths.py +12 -3
- interpolatepy-2.0.0/interpolatepy/squad_c2.py +515 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/trapezoidal.py +0 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/version.py +1 -1
- interpolatepy-2.0.0/mkdocs.yml +159 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/pyproject.toml +41 -79
- interpolatepy-2.0.0/requirements-dev.txt +28 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/tests/inv_test.py +20 -8
- interpolatepy-2.0.0/tests/test_b_spline.py +840 -0
- interpolatepy-2.0.0/tests/test_b_spline_variants.py +1123 -0
- interpolatepy-2.0.0/tests/test_cubic_spline.py +639 -0
- interpolatepy-2.0.0/tests/test_lin_poly_parabolic.py +667 -0
- interpolatepy-2.0.0/tests/test_linear.py +507 -0
- interpolatepy-2.0.0/tests/test_log_quat.py +654 -0
- interpolatepy-2.0.0/tests/test_motion_profiles.py +709 -0
- interpolatepy-2.0.0/tests/test_path_planning.py +1045 -0
- interpolatepy-2.0.0/tests/test_polynomials.py +818 -0
- interpolatepy-2.0.0/tests/test_quat_interp.py +1251 -0
- interpolatepy-2.0.0/tests/test_quat_visualization.py +767 -0
- interpolatepy-2.0.0/tests/test_smoothing.py +1509 -0
- interpolatepy-2.0.0/tests/test_squad_c2.py +658 -0
- interpolatepy-1.0.3/.github/workflows/test.yml +0 -42
- interpolatepy-1.0.3/InterpolatePy.egg-info/PKG-INFO +0 -473
- interpolatepy-1.0.3/PKG-INFO +0 -473
- interpolatepy-1.0.3/README.md +0 -413
- interpolatepy-1.0.3/interpolatepy/__init__.py +0 -8
- interpolatepy-1.0.3/requirements-dev.txt +0 -19
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.editorconfig +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/.gitattributes +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/InterpolatePy.egg-info/dependency_links.txt +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/InterpolatePy.egg-info/top_level.txt +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/LICENSE +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/b_spline_cubic_ex.py +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/b_spline_interpolate_ex.py +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/b_spline_smooth_ex.py +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/double_s_ex.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/frenet_frame_ex.py +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/linear_ex.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/main.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/polynomials_ex.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/examples/simple_paths_ex.py +1 -1
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/linear.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/interpolatepy/tridiagonal_inv.py +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/requirements.txt +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/setup.cfg +0 -0
- {interpolatepy-1.0.3 → interpolatepy-2.0.0}/tests/__init__.py +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, dev ]
|
|
6
|
+
paths:
|
|
7
|
+
- 'docs/**'
|
|
8
|
+
- 'mkdocs.yml'
|
|
9
|
+
- 'interpolatepy/**/*.py' # Only Python files for API docs
|
|
10
|
+
- '.github/workflows/docs.yml'
|
|
11
|
+
pull_request:
|
|
12
|
+
branches: [ main ]
|
|
13
|
+
paths:
|
|
14
|
+
- 'docs/**'
|
|
15
|
+
- 'mkdocs.yml'
|
|
16
|
+
- 'interpolatepy/**/*.py'
|
|
17
|
+
workflow_dispatch: # Allow manual triggering
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: read
|
|
21
|
+
pages: write
|
|
22
|
+
id-token: write
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: "pages"
|
|
26
|
+
cancel-in-progress: false
|
|
27
|
+
|
|
28
|
+
jobs:
|
|
29
|
+
build:
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- name: Checkout repository
|
|
34
|
+
uses: actions/checkout@v4
|
|
35
|
+
|
|
36
|
+
- name: Set up Python
|
|
37
|
+
uses: actions/setup-python@v5
|
|
38
|
+
with:
|
|
39
|
+
python-version: '3.11'
|
|
40
|
+
cache: 'pip'
|
|
41
|
+
|
|
42
|
+
- name: Install dependencies
|
|
43
|
+
run: |
|
|
44
|
+
python -m pip install --upgrade pip
|
|
45
|
+
pip install -r requirements-dev.txt
|
|
46
|
+
pip install -e .
|
|
47
|
+
|
|
48
|
+
- name: Build documentation
|
|
49
|
+
run: |
|
|
50
|
+
mkdocs build --clean --strict
|
|
51
|
+
|
|
52
|
+
- name: Setup Pages
|
|
53
|
+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
54
|
+
uses: actions/configure-pages@v4
|
|
55
|
+
|
|
56
|
+
- name: Upload artifact
|
|
57
|
+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
58
|
+
uses: actions/upload-pages-artifact@v3
|
|
59
|
+
with:
|
|
60
|
+
path: ./site
|
|
61
|
+
|
|
62
|
+
deploy:
|
|
63
|
+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
|
64
|
+
environment:
|
|
65
|
+
name: github-pages
|
|
66
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
needs: build
|
|
69
|
+
|
|
70
|
+
steps:
|
|
71
|
+
- name: Deploy to GitHub Pages
|
|
72
|
+
id: deployment
|
|
73
|
+
uses: actions/deploy-pages@v4
|
|
74
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
name: ci-test
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [ main, master ]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ main, master ]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build-linux:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ['3.10', '3.11', '3.12']
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
- name: Install dependencies
|
|
23
|
+
run: |
|
|
24
|
+
python -m pip install --upgrade pip
|
|
25
|
+
pip install -r requirements-dev.txt
|
|
26
|
+
pip install -e .
|
|
27
|
+
- name: Testing with coverage
|
|
28
|
+
run: |
|
|
29
|
+
python -m pytest tests --cov=interpolatepy --cov-report=xml --cov-report=term-missing
|
|
30
|
+
- name: Upload coverage to Codecov
|
|
31
|
+
uses: codecov/codecov-action@v5
|
|
32
|
+
with:
|
|
33
|
+
file: ./coverage.xml
|
|
34
|
+
flags: unittests
|
|
35
|
+
name: codecov-umbrella
|
|
36
|
+
fail_ci_if_error: false
|
|
37
|
+
|
|
38
|
+
build-macos:
|
|
39
|
+
runs-on: macos-latest
|
|
40
|
+
strategy:
|
|
41
|
+
matrix:
|
|
42
|
+
python-version: ['3.10', '3.11', '3.12']
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v4
|
|
45
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
46
|
+
uses: actions/setup-python@v5
|
|
47
|
+
with:
|
|
48
|
+
python-version: ${{ matrix.python-version }}
|
|
49
|
+
- name: Install dependencies
|
|
50
|
+
run: |
|
|
51
|
+
python -m pip install --upgrade pip
|
|
52
|
+
pip install -r requirements-dev.txt
|
|
53
|
+
pip install -e .
|
|
54
|
+
- name: Testing with coverage
|
|
55
|
+
run: |
|
|
56
|
+
python -m pytest tests --cov=interpolatepy --cov-report=xml --cov-report=term-missing
|
|
57
|
+
- name: Upload coverage to Codecov
|
|
58
|
+
uses: codecov/codecov-action@v5
|
|
59
|
+
with:
|
|
60
|
+
file: ./coverage.xml
|
|
61
|
+
flags: unittests
|
|
62
|
+
name: codecov-umbrella
|
|
63
|
+
fail_ci_if_error: false
|
|
@@ -8,27 +8,20 @@ repos:
|
|
|
8
8
|
- id: check-builtin-literals
|
|
9
9
|
- id: check-merge-conflict
|
|
10
10
|
- id: check-yaml
|
|
11
|
+
exclude: ^mkdocs\.yml$
|
|
11
12
|
- id: check-toml
|
|
12
13
|
|
|
13
|
-
- repo: https://github.com/PyCQA/isort
|
|
14
|
-
rev: 6.0.1
|
|
15
|
-
hooks:
|
|
16
|
-
- id: isort
|
|
17
|
-
|
|
18
|
-
- repo: https://github.com/psf/black
|
|
19
|
-
rev: 25.1.0
|
|
20
|
-
hooks:
|
|
21
|
-
- id: black
|
|
22
|
-
|
|
23
14
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
24
|
-
rev: 'v0.
|
|
15
|
+
rev: 'v0.12.7'
|
|
25
16
|
hooks:
|
|
26
17
|
- id: ruff
|
|
27
18
|
types_or: [python, pyi, jupyter]
|
|
28
19
|
args: [ --fix, --exit-non-zero-on-fix, --preview ]
|
|
29
20
|
|
|
30
21
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
31
|
-
rev: v1.
|
|
22
|
+
rev: v1.17.1
|
|
32
23
|
hooks:
|
|
33
24
|
- id: mypy
|
|
34
25
|
args: [--ignore-missing-imports]
|
|
26
|
+
|
|
27
|
+
# pre-commit autoupdate
|