scikit-spatial 7.2.0__tar.gz → 8.1.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.
- scikit_spatial-8.1.0/.coveragerc +9 -0
- scikit_spatial-8.1.0/.dockerignore +5 -0
- scikit_spatial-8.1.0/.github/workflows/main.yml +61 -0
- scikit_spatial-8.1.0/.gitignore +16 -0
- scikit_spatial-8.1.0/.pre-commit-config.yaml +22 -0
- scikit_spatial-8.1.0/.readthedocs.yml +13 -0
- scikit_spatial-8.1.0/AUTHORS.rst +16 -0
- scikit_spatial-8.1.0/CITATION.cff +11 -0
- scikit_spatial-8.1.0/CONTRIBUTING.rst +87 -0
- scikit_spatial-8.1.0/HISTORY.rst +352 -0
- scikit_spatial-8.1.0/PKG-INFO +277 -0
- scikit_spatial-8.1.0/README.md +248 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.measurement.rst +13 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Circle.rst +16 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Cylinder.rst +19 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Line.rst +25 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.LineSegment.rst +13 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Plane.rst +27 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Point.rst +12 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Points.rst +19 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Sphere.rst +16 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Triangle.rst +24 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.Vector.rst +26 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.objects.rst +16 -0
- scikit_spatial-8.1.0/docs/source/api_reference/skspatial.transformation.rst +11 -0
- scikit_spatial-8.1.0/docs/source/api_reference/toc.rst +20 -0
- scikit_spatial-8.1.0/docs/source/conf.py +190 -0
- scikit_spatial-8.1.0/docs/source/images/logo.svg +604 -0
- scikit_spatial-8.1.0/docs/source/index.rst +63 -0
- scikit_spatial-8.1.0/docs/source/objects/circle.rst +29 -0
- scikit_spatial-8.1.0/docs/source/objects/cylinder.rst +31 -0
- scikit_spatial-8.1.0/docs/source/objects/line.rst +41 -0
- scikit_spatial-8.1.0/docs/source/objects/line_segment.rst +35 -0
- scikit_spatial-8.1.0/docs/source/objects/plane.rst +35 -0
- scikit_spatial-8.1.0/docs/source/objects/point_vector.rst +62 -0
- scikit_spatial-8.1.0/docs/source/objects/points.rst +47 -0
- scikit_spatial-8.1.0/docs/source/objects/sphere.rst +29 -0
- scikit_spatial-8.1.0/docs/source/objects/toc.rst +16 -0
- scikit_spatial-8.1.0/docs/source/objects/triangle.rst +57 -0
- scikit_spatial-8.1.0/docs/source/plotting.rst +60 -0
- scikit_spatial-8.1.0/docs/source/requirements.txt +6 -0
- scikit_spatial-8.1.0/examples/README.txt +3 -0
- scikit_spatial-8.1.0/examples/fitting/README.txt +3 -0
- scikit_spatial-8.1.0/examples/fitting/plot_line_2d.py +31 -0
- scikit_spatial-8.1.0/examples/fitting/plot_line_3d.py +31 -0
- scikit_spatial-8.1.0/examples/fitting/plot_plane.py +20 -0
- scikit_spatial-8.1.0/examples/intersection/README.txt +3 -0
- scikit_spatial-8.1.0/examples/intersection/plot_circle_circle.py +24 -0
- scikit_spatial-8.1.0/examples/intersection/plot_cylinder_line.py +21 -0
- scikit_spatial-8.1.0/examples/intersection/plot_line_circle.py +23 -0
- scikit_spatial-8.1.0/examples/intersection/plot_line_line_2d.py +20 -0
- scikit_spatial-8.1.0/examples/intersection/plot_line_line_3d.py +20 -0
- scikit_spatial-8.1.0/examples/intersection/plot_line_plane.py +20 -0
- scikit_spatial-8.1.0/examples/intersection/plot_plane_plane.py +20 -0
- scikit_spatial-8.1.0/examples/intersection/plot_sphere_line.py +21 -0
- scikit_spatial-8.1.0/examples/projection/README.txt +3 -0
- scikit_spatial-8.1.0/examples/projection/plot_line_plane.py +22 -0
- scikit_spatial-8.1.0/examples/projection/plot_point_line.py +25 -0
- scikit_spatial-8.1.0/examples/projection/plot_point_plane.py +24 -0
- scikit_spatial-8.1.0/examples/projection/plot_vector_line.py +22 -0
- scikit_spatial-8.1.0/examples/projection/plot_vector_plane.py +24 -0
- scikit_spatial-8.1.0/examples/projection/plot_vector_vector.py +24 -0
- scikit_spatial-8.1.0/examples/triangle/README.txt +3 -0
- scikit_spatial-8.1.0/examples/triangle/plot_normal.py +21 -0
- scikit_spatial-8.1.0/examples/triangle/plot_orthocenter.py +19 -0
- scikit_spatial-8.1.0/images/logo.svg +604 -0
- scikit_spatial-8.1.0/mypy.ini +7 -0
- scikit_spatial-8.1.0/pyproject.toml +108 -0
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/_functions.py +3 -3
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/measurement.py +13 -13
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/__init__.py +1 -0
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/_base_array.py +27 -31
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/_base_line_plane.py +2 -5
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/_base_spatial.py +0 -3
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/_base_sphere.py +1 -2
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/_mixins.py +2 -3
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/circle.py +13 -13
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/cylinder.py +33 -36
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/line.py +46 -21
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/line_segment.py +2 -4
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/plane.py +48 -30
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/point.py +6 -6
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/points.py +14 -14
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/sphere.py +8 -8
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/triangle.py +13 -14
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/objects/vector.py +28 -25
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/plotting.py +2 -2
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/transformation.py +2 -2
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/typing.py +2 -3
- scikit_spatial-8.1.0/tests/__init__.py +0 -0
- scikit_spatial-8.1.0/tests/unit/__init__.py +0 -0
- scikit_spatial-8.1.0/tests/unit/objects/__init__.py +0 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_all_objects.py +45 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_base_array.py +49 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_base_array_1d.py +72 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_base_array_2d.py +20 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_base_line_plane.py +12 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_circle.py +254 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_cylinder.py +337 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_line.py +391 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_line_plane.py +52 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_line_segment.py +95 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_plane.py +507 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_point.py +26 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_points.py +125 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_sphere.py +201 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_triangle.py +186 -0
- scikit_spatial-8.1.0/tests/unit/objects/test_vector.py +336 -0
- scikit_spatial-8.1.0/tests/unit/test_functions.py +39 -0
- scikit_spatial-8.1.0/tests/unit/test_measurement.py +78 -0
- scikit_spatial-8.1.0/tox.ini +47 -0
- scikit_spatial-8.1.0/uv.lock +906 -0
- scikit_spatial-7.2.0/PKG-INFO +0 -255
- scikit_spatial-7.2.0/README.rst +0 -224
- scikit_spatial-7.2.0/pyproject.toml +0 -70
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/LICENSE +0 -0
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/__init__.py +0 -0
- {scikit_spatial-7.2.0 → scikit_spatial-8.1.0}/src/skspatial/py.typed +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: scikit-spatial
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
tags:
|
|
7
|
+
- "v*.*.*"
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v2
|
|
19
|
+
|
|
20
|
+
- name: Install uv
|
|
21
|
+
uses: astral-sh/setup-uv@v3
|
|
22
|
+
with:
|
|
23
|
+
version: "0.4.18"
|
|
24
|
+
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
uses: actions/setup-python@v5
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
|
|
30
|
+
- name: Install tox
|
|
31
|
+
run: uv tool install tox --with tox-uv --with tox-gh
|
|
32
|
+
|
|
33
|
+
- name: Run tox
|
|
34
|
+
run: tox
|
|
35
|
+
|
|
36
|
+
- name: Upload coverage report to codecov
|
|
37
|
+
if: matrix.python-version == '3.12'
|
|
38
|
+
uses: codecov/codecov-action@v4
|
|
39
|
+
with:
|
|
40
|
+
fail_ci_if_error: true
|
|
41
|
+
verbose: true
|
|
42
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
43
|
+
|
|
44
|
+
publish:
|
|
45
|
+
needs: build
|
|
46
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
47
|
+
|
|
48
|
+
runs-on: ubuntu-latest
|
|
49
|
+
|
|
50
|
+
steps:
|
|
51
|
+
- uses: actions/checkout@v2
|
|
52
|
+
|
|
53
|
+
- name: Install uv
|
|
54
|
+
uses: astral-sh/setup-uv@v3
|
|
55
|
+
with:
|
|
56
|
+
version: "0.4.18"
|
|
57
|
+
|
|
58
|
+
- name: Build and publish to PyPI
|
|
59
|
+
run: |
|
|
60
|
+
uv build
|
|
61
|
+
uv publish --token ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v4.4.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-ast
|
|
6
|
+
- id: check-builtin-literals
|
|
7
|
+
- id: check-docstring-first
|
|
8
|
+
- id: check-merge-conflict
|
|
9
|
+
- id: check-yaml
|
|
10
|
+
- id: end-of-file-fixer
|
|
11
|
+
- id: trailing-whitespace
|
|
12
|
+
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
13
|
+
rev: v3.0.0-alpha.4
|
|
14
|
+
hooks:
|
|
15
|
+
- id: prettier
|
|
16
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
17
|
+
rev: v0.2.1
|
|
18
|
+
hooks:
|
|
19
|
+
- id: ruff
|
|
20
|
+
args: [--fix, --preview]
|
|
21
|
+
- id: ruff-format
|
|
22
|
+
args: [--preview]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
=======
|
|
2
|
+
Credits
|
|
3
|
+
=======
|
|
4
|
+
|
|
5
|
+
Development Lead
|
|
6
|
+
----------------
|
|
7
|
+
|
|
8
|
+
* Andrew Hynes (https://github.com/ajhynes7)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Contributors
|
|
12
|
+
------------
|
|
13
|
+
|
|
14
|
+
* Marcelo Moreno (https://github.com/martxelo)
|
|
15
|
+
|
|
16
|
+
* Cristiano Pizzamiglio (https://github.com/CristianoPizzamiglio)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: "scikit-spatial: Spatial objects and computations based on NumPy arrays"
|
|
3
|
+
message: "If you use this software, please cite it using the metadata from this file."
|
|
4
|
+
type: software
|
|
5
|
+
authors:
|
|
6
|
+
- given-names: Andrew
|
|
7
|
+
family-names: Hynes
|
|
8
|
+
email: andrewjhynes@gmail.com
|
|
9
|
+
license: BSD-3-Clause
|
|
10
|
+
url: https://scikit-spatial.readthedocs.io
|
|
11
|
+
repository-code: https://github.com/ajhynes7/scikit-spatial
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
============
|
|
2
|
+
Contributing
|
|
3
|
+
============
|
|
4
|
+
|
|
5
|
+
You can contribute in many ways:
|
|
6
|
+
|
|
7
|
+
Types of Contributions
|
|
8
|
+
----------------------
|
|
9
|
+
|
|
10
|
+
Report Bugs
|
|
11
|
+
~~~~~~~~~~~
|
|
12
|
+
|
|
13
|
+
Report bugs at https://github.com/ajhynes7/scikit-spatial/issues.
|
|
14
|
+
|
|
15
|
+
If you are reporting a bug, please include:
|
|
16
|
+
|
|
17
|
+
* Your operating system name and version.
|
|
18
|
+
* Any details about your local setup that might be helpful in troubleshooting.
|
|
19
|
+
* Detailed steps to reproduce the bug.
|
|
20
|
+
|
|
21
|
+
Fix Bugs
|
|
22
|
+
~~~~~~~~
|
|
23
|
+
|
|
24
|
+
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
|
|
25
|
+
wanted" is open to whoever wants to implement it.
|
|
26
|
+
|
|
27
|
+
Implement Features
|
|
28
|
+
~~~~~~~~~~~~~~~~~~
|
|
29
|
+
|
|
30
|
+
Look through the GitHub issues for features. Anything tagged with "enhancement"
|
|
31
|
+
and "help wanted" is open to whoever wants to implement it.
|
|
32
|
+
|
|
33
|
+
Submit Feedback
|
|
34
|
+
~~~~~~~~~~~~~~~
|
|
35
|
+
|
|
36
|
+
The best way to send feedback is to file an issue at https://github.com/ajhynes7/scikit-spatial/issues.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Get Started!
|
|
40
|
+
------------
|
|
41
|
+
|
|
42
|
+
Ready to contribute? Here's how to set up `scikit-spatial` for local development.
|
|
43
|
+
|
|
44
|
+
1. Fork the `scikit-spatial` repo on GitHub.
|
|
45
|
+
|
|
46
|
+
2. Create a branch for local development::
|
|
47
|
+
|
|
48
|
+
$ git checkout -b name-of-your-bugfix-or-feature
|
|
49
|
+
|
|
50
|
+
Now you can make your changes locally.
|
|
51
|
+
|
|
52
|
+
3. When you're done making changes, check that your changes pass linting and tests.
|
|
53
|
+
See ``.travis.yml`` for test commands.
|
|
54
|
+
|
|
55
|
+
4. Commit your changes and push your branch to GitHub::
|
|
56
|
+
|
|
57
|
+
$ git add .
|
|
58
|
+
$ git commit -m "Your detailed description of your changes."
|
|
59
|
+
$ git push origin name-of-your-bugfix-or-feature
|
|
60
|
+
|
|
61
|
+
5. Submit a pull request through the GitHub website.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
Pull Request Guidelines
|
|
65
|
+
-----------------------
|
|
66
|
+
|
|
67
|
+
Before you submit a pull request, check that it meets these guidelines:
|
|
68
|
+
|
|
69
|
+
1. The pull request should include tests.
|
|
70
|
+
2. If the pull request adds functionality, the docs should be updated. Put
|
|
71
|
+
your new functionality into a function with a docstring.
|
|
72
|
+
3. Check https://travis-ci.org/ajhynes7/scikit-spatial/pull_requests
|
|
73
|
+
and make sure that the tests pass for all supported Python versions.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
Deploying
|
|
77
|
+
---------
|
|
78
|
+
|
|
79
|
+
A reminder for the maintainers on how to deploy.
|
|
80
|
+
Make sure all your changes are committed (including an entry in HISTORY.rst).
|
|
81
|
+
Then run::
|
|
82
|
+
|
|
83
|
+
$ bumpversion patch # possible: major / minor / patch
|
|
84
|
+
$ git push
|
|
85
|
+
$ git push --tags
|
|
86
|
+
|
|
87
|
+
Travis will then deploy to PyPI if tests pass.
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
=======
|
|
2
|
+
History
|
|
3
|
+
=======
|
|
4
|
+
|
|
5
|
+
8.1.0 (2024-12-23)
|
|
6
|
+
------------------
|
|
7
|
+
|
|
8
|
+
Features
|
|
9
|
+
~~~~~~~~
|
|
10
|
+
- Add optiont to return error for line and plane of best fit.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
8.0.0 (2024-10-03)
|
|
14
|
+
------------------
|
|
15
|
+
|
|
16
|
+
Features
|
|
17
|
+
~~~~~~~~
|
|
18
|
+
- Support NumPy 2.0.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
7.2.2 (2024-03-27)
|
|
22
|
+
------------------
|
|
23
|
+
|
|
24
|
+
Fixes
|
|
25
|
+
~~~~~
|
|
26
|
+
- Change reference in `Plane.best_fit` docstring as the previous link was broken.
|
|
27
|
+
- Change `README.rst` to `README.md` as GitHub was not rendering the former well.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
7.2.1 (2024-02-17)
|
|
31
|
+
------------------
|
|
32
|
+
|
|
33
|
+
Docs
|
|
34
|
+
~~~~
|
|
35
|
+
Include new methods in the documentation:
|
|
36
|
+
- `Line.project_points`
|
|
37
|
+
- `Line.distance_points`
|
|
38
|
+
- `Plane.project_points`
|
|
39
|
+
- `Plane.distance_points`
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
7.2.0 (2024-02-12)
|
|
43
|
+
------------------
|
|
44
|
+
|
|
45
|
+
Features
|
|
46
|
+
~~~~~~~~
|
|
47
|
+
- Add new methods:
|
|
48
|
+
- `Line.project_points`
|
|
49
|
+
- `Line.distance_points`
|
|
50
|
+
- `Plane.project_points`
|
|
51
|
+
- `Plane.distance_points`
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
7.1.1 (2024-01-29)
|
|
55
|
+
------------------
|
|
56
|
+
|
|
57
|
+
Fixes
|
|
58
|
+
~~~~~
|
|
59
|
+
- Restore import of `importlib_metadata`.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
7.1.0 (2024-01-28)
|
|
63
|
+
------------------
|
|
64
|
+
|
|
65
|
+
Features
|
|
66
|
+
~~~~~~~~
|
|
67
|
+
- Add support for Python 3.12.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
7.0.0 (2023-03-26)
|
|
71
|
+
------------------
|
|
72
|
+
|
|
73
|
+
Breaking Changes
|
|
74
|
+
~~~~~~~~~~~~~~~~
|
|
75
|
+
- Drop support for Python 3.7.
|
|
76
|
+
- Increase minimum NumPy version to 1.17.3 (to be compatible with the new dependency SciPy).
|
|
77
|
+
|
|
78
|
+
Features
|
|
79
|
+
~~~~~~~~
|
|
80
|
+
- Add `Cylinder.best_fit` method.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
6.8.1 (2023-03-07)
|
|
84
|
+
------------------
|
|
85
|
+
|
|
86
|
+
Fixes
|
|
87
|
+
~~~~~
|
|
88
|
+
- Add missing `plotter` method to `LineSegment`.
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
6.8.0 (2023-01-28)
|
|
92
|
+
------------------
|
|
93
|
+
|
|
94
|
+
Features
|
|
95
|
+
~~~~~~~~
|
|
96
|
+
- Add `Circle.from_points` method.
|
|
97
|
+
- Add `check_coplanar` kwarg to `Line.intersect_line`.
|
|
98
|
+
- Lower minimum NumPy version to 1.16.
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
6.7.0 (2022-12-28)
|
|
102
|
+
------------------
|
|
103
|
+
|
|
104
|
+
Features
|
|
105
|
+
~~~~~~~~
|
|
106
|
+
- Add `Circle.intersect_circle` method.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
6.6.0 (2022-11-20)
|
|
110
|
+
------------------
|
|
111
|
+
|
|
112
|
+
Features
|
|
113
|
+
~~~~~~~~
|
|
114
|
+
- Add `Vector.angle_signed_3d` method.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
6.5.0 (2022-09-05)
|
|
118
|
+
------------------
|
|
119
|
+
|
|
120
|
+
Features
|
|
121
|
+
~~~~~~~~
|
|
122
|
+
- Add `LineSegment` class.
|
|
123
|
+
|
|
124
|
+
Docs
|
|
125
|
+
~~~~
|
|
126
|
+
- Add plot of Cylinder-Line Intersection to the gallery.
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
6.4.1 (2022-06-21)
|
|
130
|
+
------------------
|
|
131
|
+
|
|
132
|
+
Fixes
|
|
133
|
+
~~~~~
|
|
134
|
+
- Update the `dimension` value of a slice, instead of using the value of the original array.
|
|
135
|
+
- Fix the output radius of `Cylinder.to_mesh`.
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
6.4.0 (2022-04-07)
|
|
139
|
+
------------------
|
|
140
|
+
|
|
141
|
+
Features
|
|
142
|
+
~~~~~~~~
|
|
143
|
+
- Add `Plane.project_line` method to project a line onto a plane.
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
6.3.0 (2022-02-26)
|
|
147
|
+
------------------
|
|
148
|
+
|
|
149
|
+
Features
|
|
150
|
+
~~~~~~~~
|
|
151
|
+
- Add `Circle.best_fit` method to fit a circle to 2D points.
|
|
152
|
+
- Add `area_signed` function to compute the signed area of a polygon using the shoelace algorithm.
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
6.2.1 (2022-01-08)
|
|
156
|
+
------------------
|
|
157
|
+
|
|
158
|
+
Fixes
|
|
159
|
+
~~~~~
|
|
160
|
+
- Allow for versions of `importlib-metadata` above 1.
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
6.2.0 (2021-10-06)
|
|
164
|
+
------------------
|
|
165
|
+
|
|
166
|
+
Features
|
|
167
|
+
~~~~~~~~
|
|
168
|
+
- Add `infinite` keyword argument to `Cylinder.intersect_line` with a default value of `True`.
|
|
169
|
+
Now the line can be intersected with a finite cylinder by passing `infinite=False`.
|
|
170
|
+
|
|
171
|
+
Fixes
|
|
172
|
+
~~~~~
|
|
173
|
+
- Fix the return type hint of `Plane.intersect_line` (from Plane to Point).
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
6.1.1 (2021-09-11)
|
|
177
|
+
------------------
|
|
178
|
+
|
|
179
|
+
Fixes
|
|
180
|
+
~~~~~
|
|
181
|
+
- Add code to `skspatial.__init__.py` to keep the __version__ attribute in sync with the version in `pyproject.toml`.
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
6.1.0 (2021-07-25)
|
|
185
|
+
------------------
|
|
186
|
+
|
|
187
|
+
Features
|
|
188
|
+
~~~~~~~~
|
|
189
|
+
- Add `lateral_surface_area` and `surface_area` methods to `Cylinder`.
|
|
190
|
+
|
|
191
|
+
Improvements
|
|
192
|
+
~~~~~~~~~~~~
|
|
193
|
+
- Remove unnecessary `np.copy` from `Circle.intersect_line`.
|
|
194
|
+
- Complete the docstring for `Line.distance_point`.
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
6.0.1 (2021-03-25)
|
|
198
|
+
------------------
|
|
199
|
+
|
|
200
|
+
Fixes
|
|
201
|
+
~~~~~
|
|
202
|
+
* Wrap `filterwarnings("error")` in a `catch_warnings` context manager, in `__BaseArray.__new__()`.
|
|
203
|
+
Now the warning level is reset at the end of the context manager.
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
6.0.0 (2021-03-21)
|
|
207
|
+
------------------
|
|
208
|
+
|
|
209
|
+
Breaking changes
|
|
210
|
+
~~~~~~~~~~~~~~~~
|
|
211
|
+
* Require NumPy >= 1.20 to make use of the static types introduced in 1.20.
|
|
212
|
+
Now numpy-stubs doesn't need to be installed for static type checking.
|
|
213
|
+
* Move tests outside of package, and move package under ``src`` directory.
|
|
214
|
+
This ensures that tox is running the tests with the installed package.
|
|
215
|
+
* Switch from ``setup.py`` to ``pyproject.toml``.
|
|
216
|
+
* Add more ValueErrors for clarity, such as "The lines must have the same dimension"
|
|
217
|
+
ValueError in ``Line.intersect_line``.
|
|
218
|
+
|
|
219
|
+
Features
|
|
220
|
+
~~~~~~~~
|
|
221
|
+
* Add ``Cylinder`` class.
|
|
222
|
+
* Add ``Vector.different_direction`` method.
|
|
223
|
+
* Add ``Sphere.best_fit`` method.
|
|
224
|
+
|
|
225
|
+
Refactoring
|
|
226
|
+
~~~~~~~~~~~
|
|
227
|
+
* Delete ``Vector.dot`` method. The ``dot`` method is already inherited from NumPy.
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
5.2.0 (2020-12-19)
|
|
231
|
+
------------------
|
|
232
|
+
* Add keyword arguments to ``Plane.best_fit`` and ``Line.best_fit``.
|
|
233
|
+
These are passed to ``np.linalg.svd``.
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
5.1.0 (2020-12-07)
|
|
237
|
+
------------------
|
|
238
|
+
* Edit type annotations to support Python 3.6.
|
|
239
|
+
* CI now tests Python versions 3.6-3.9.
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
5.0.0 (2020-11-23)
|
|
243
|
+
------------------
|
|
244
|
+
* Return regular ``ndarray`` from inherited NumPy functions, e.g. ``vector.sum()``
|
|
245
|
+
- This prevents getting spatial objects with disallowed dimensions, such as a 0-D vector.
|
|
246
|
+
- This fixes broken examples in the README.
|
|
247
|
+
* Test README examples with doctest.
|
|
248
|
+
* Replace tox with Docker.
|
|
249
|
+
- Docker multi-stage builds are a convenient feature for isolating test environments.
|
|
250
|
+
* Organize requirements into multiple files.
|
|
251
|
+
- This makes it easy to install only what's needed for each test environment.
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
4.0.1 (2020-02-01)
|
|
255
|
+
------------------
|
|
256
|
+
* Fix to replace Python 3.6 with 3.8 in the setup.py file.
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
4.0.0 (2020-02-01)
|
|
260
|
+
------------------
|
|
261
|
+
* Drop support for Python 3.6 (this allows for postponed evaluation of type annotations, introduced in Python 3.7).
|
|
262
|
+
* Add Triangle class.
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
3.0.0 (2019-11-02)
|
|
266
|
+
------------------
|
|
267
|
+
* Add `Points.normalize_distance` method to fit points inside a unit sphere.
|
|
268
|
+
* Change `Points.mean_center` to only return the centroid of the points if specified.
|
|
269
|
+
This allows for chaining with other transformations on points, like `normalize_distance`.
|
|
270
|
+
* Add `to_array` method to convert an array based object to a regular NumPy array.
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
2.0.1 (2019-08-15)
|
|
274
|
+
------------------
|
|
275
|
+
* Use installation of numpy-stubs from its GitHub repository instead of a custom numpy stubs folder.
|
|
276
|
+
* Introduce 'array_like' type annotation as the union of np.ndarray and Sequence.
|
|
277
|
+
* Add py.typed file so that annotations can be used when scikit-spatial is installed.
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
2.0.0 (2019-07-20)
|
|
281
|
+
------------------
|
|
282
|
+
* Replace some NumPy functions with ones from Python math module. The math functions are faster than NumPy when the inputs are scalars.
|
|
283
|
+
The tolerances for isclose are now rel_tol and abs_tol instead of rtol and atol.
|
|
284
|
+
The math.isclose function is preferable to np.isclose for three main reasons:
|
|
285
|
+
* It is symmetric (isclose(a, b) == isclose(b, a)).
|
|
286
|
+
* It has a default absolute tolerance of zero.
|
|
287
|
+
* It does not correlate the absolute and relative tolerances.
|
|
288
|
+
* Add type annotations to methods and run mypy in Travis CI.
|
|
289
|
+
* Add round method to array objects (Point, Points and Vector). Now a Vector is returned when a Vector is rounded.
|
|
290
|
+
* Add methods to return coordinates on the surface of a Plane or Sphere. The coordinates are used for 3D plotting.
|
|
291
|
+
* Improve Plane plotting so that vertical planes can be plotted.
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
1.5.0 (2019-07-04)
|
|
295
|
+
------------------
|
|
296
|
+
* Add Circle and Sphere spatial objects.
|
|
297
|
+
* Add scalar keyword argument to Vector plot methods.
|
|
298
|
+
* Improve plotting of Plane. The x and y limits now treat the plane point as the origin.
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
1.4.2 (2019-06-21)
|
|
302
|
+
------------------
|
|
303
|
+
* Extra release because regex for version tags was incorrect in Travis.
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
1.4.1 (2019-06-21)
|
|
307
|
+
------------------
|
|
308
|
+
* Extra release because Travis did not deploy the last one.
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
1.4.0 (2019-06-21)
|
|
312
|
+
------------------
|
|
313
|
+
* Add functions `plot_2d` and `plot_3d` to facilitate plotting multiple spatial objects.
|
|
314
|
+
* Change `_plotting` module name to `plotting`, because it now contains some public functions.
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
1.3.0 (2019-06-19)
|
|
318
|
+
------------------
|
|
319
|
+
* Remove dpcontracts as a dependency. The contracts were causing performance issues.
|
|
320
|
+
* Add 'dimension' attribute to all spatial objects.
|
|
321
|
+
* Add Vector.angle_signed method.
|
|
322
|
+
* Add Line.from_slope method.
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
1.2.0 (2019-06-11)
|
|
326
|
+
------------------
|
|
327
|
+
* Move tests into skspatial directory. This allows for importing custom hypothesis strategies for testing other projects.
|
|
328
|
+
* Drop support for Python 3.5 (matplotlib requires >= 3.6).
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
1.1.0 (2019-05-04)
|
|
332
|
+
------------------
|
|
333
|
+
* Add methods for 2D and 3D plotting.
|
|
334
|
+
* Rename private modules and functions to include leading underscore.
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
1.0.1 (2019-03-29)
|
|
338
|
+
------------------
|
|
339
|
+
* Support Python versions 3.5-3.7.
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
1.0.0 (2019-03-26)
|
|
343
|
+
------------------
|
|
344
|
+
* Change Vector and Point to be subclasses of the NumPy `ndarray`.
|
|
345
|
+
* Change all spatial objects to accept `array_like` inputs, such as a list or tuple.
|
|
346
|
+
* Add the Points class to represent multiple points in space. This is also an `ndarray` subclass.
|
|
347
|
+
* The dimension of the objects is no longer automatically set to 3D. Points and vectors can be 2D and up.
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
0.1.0 (2019-02-27)
|
|
351
|
+
------------------
|
|
352
|
+
* First release on PyPI.
|