Skip to content

Commit ab8f14e

Browse files
authored
Merge pull request #20 from 3DFin/dev_0_3_4
v0.3.4
2 parents 9c2e7b9 + 08ac623 commit ab8f14e

File tree

6 files changed

+40
-38
lines changed

6 files changed

+40
-38
lines changed

.github/workflows/tests.yml

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,25 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
os: [ubuntu-22.04, windows-2022, macos-14]
15-
python-version: ['3.9', '3.10', '3.11', '3.12']
14+
os: [ubuntu-latest, windows-latest, macos-latest]
15+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1616
exclude:
1717
- os: macos-14
18-
python-version: '3.9' #macos-14 & py39 not supported by setup-python@v5
18+
python-version: "3.9" #macos-14 & py39 not supported by setup-python@v5
1919
steps:
20-
- uses: actions/checkout@v4
21-
with:
22-
submodules: True
23-
- name: Set up Python ${{ matrix.python-version }}
24-
uses: actions/setup-python@v5
25-
with:
26-
python-version: ${{ matrix.python-version }}
27-
- name: Install dependencies
28-
run: |
29-
python -m pip install --upgrade pip
30-
python -m pip install tox tox-gh-actions
31-
- name: Test with tox
32-
run: tox
20+
- uses: actions/checkout@v5
21+
with:
22+
submodules: True
23+
24+
- name: Set up Python ${{ matrix.python-version }}
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
29+
- name: Install dependencies
30+
run: |
31+
python -m pip install --upgrade pip
32+
python -m pip install tox tox-gh-actions
33+
34+
- name: Test with tox
35+
run: tox

.github/workflows/wheels.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,30 @@ on:
77
tags: ["*"]
88
pull_request:
99
branches: ["*"]
10-
1110

1211
jobs:
1312
build_wheels:
1413
name: Build wheels on ${{ matrix.os }}
1514
runs-on: ${{ matrix.os }}
1615
strategy:
1716
matrix:
18-
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
17+
os: [ubuntu-latest, windows-latest, macos-latest]
1918
fail-fast: false
2019

2120
steps:
22-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v5
2322
with:
2423
submodules: True
25-
24+
2625
# Used to host cibuildwheel
2726
- uses: actions/setup-python@v5
2827
with:
2928
python-version: "3.13"
3029

31-
- name: Install cibuildwheel
32-
run: python -m pip install cibuildwheel==2.22.0
33-
3430
- name: Build wheels
35-
run: python -m cibuildwheel --output-dir wheelhouse
31+
uses: pypa/[email protected]
32+
with:
33+
output-dir: wheelhouse
3634

3735
- uses: actions/upload-artifact@v4
3836
with:

include/pca.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ static inline PCAResult<real_t> pca_from_pointcloud(const PointCloud<real_t>& cl
7979
Eigen::SelfAdjointEigenSolver<Eigen::Matrix<real_t, 3, 3>> es(cov);
8080

8181
// Sort the values and vectors in order of increasing eigenvalue
82-
const auto ev = es.eigenvalues();
82+
const auto& ev = es.eigenvalues();
8383

8484
// Clamp eigen values
85-
Vec3<real_t> val = {(std::max(ev(0), real_t(0.))), (std::max(ev(1), real_t(0.))), (std::max(ev(2), real_t(0.)))};
85+
Vec3<real_t> val = {(std::max(ev(2), real_t(0.))), (std::max(ev(1), real_t(0.))), (std::max(ev(0), real_t(0.)))};
8686

87-
Vec3<real_t> v0 = es.eigenvectors().col(0);
87+
Vec3<real_t> v0 = es.eigenvectors().col(2);
8888
Vec3<real_t> v1 = es.eigenvectors().col(1);
89-
Vec3<real_t> v2 = es.eigenvectors().col(2);
89+
Vec3<real_t> v2 = es.eigenvectors().col(0);
9090

9191
// To standardize the orientation of eigenvectors, we choose to enforce all eigenvectors
9292
// to be expressed in the Z+ half-space.

pyproject.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
[build-system]
22
requires = [
33
"scikit-build-core >=0.4.3",
4-
"nanobind == 2.1.0",
4+
"nanobind == 2.9.2",
55
"typing_extensions;python_version < '3.11'",
66
]
77
build-backend = "scikit_build_core.build"
88

99
[project]
1010
name = "pgeof"
11-
version = "0.3.3"
11+
version = "0.3.4"
1212
readme = "README.md"
13-
description = "Compute the geometric features associated with each point's neighborhood:"
14-
requires-python = ">=3.8,<3.14"
13+
description = "Compute the geometric features associated with each point's neighborhood"
14+
requires-python = ">=3.8,<3.15"
1515
license = { file = "LICENSE" }
1616
authors = [
1717
{ name = "Loic Landrieu", email = "[email protected]" },
@@ -39,7 +39,7 @@ build-dir = "build/{wheel_tag}"
3939
cmake.build-type = "Release"
4040

4141
# make sdist a lot lighter by removing some useless files from third_party
42-
# ⚠️ be sure to keep copyrights and license file
42+
# ⚠️ be sure to keep copyrights and license file
4343
sdist.exclude = [
4444
"third_party/eigen/bench",
4545
"third_party/eigen/demos",
@@ -91,6 +91,7 @@ python =
9191
3.11: py311
9292
3.12: py312
9393
3.13: py313
94+
3.14: py314
9495
9596
[testenv]
9697
deps =
@@ -107,7 +108,7 @@ commands = pytest -s --basetemp="{envtmpdir}" {posargs:tests/bench_knn.py tests/
107108
"""
108109

109110
[tool.cibuildwheel]
110-
build = "cp3{8,9,10,11,12,13}-*"
111+
build = "cp3{8,9,10,11,12,13,14}-*"
111112
archs = ["auto64"] # limits to 64bits builds
112113
skip = "cp38-macosx_arm64"
113114

third_party/eigen

Submodule eigen updated from 3147391 to 549bf8c

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)