diff --git a/.gitignore b/.gitignore index 987589d..caee4bc 100644 --- a/.gitignore +++ b/.gitignore @@ -101,6 +101,7 @@ coverage.xml *.rhl *.rui_bak temp/ +data/omg.* recipe/** !recipe/sha256.py diff --git a/CHANGELOG.md b/CHANGELOG.md index cbbddbe..2e4a0bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Bumped `nanobind` build-system requirement from `>=1.3.2` to `>=2.12` to fix `refined_delaunay_mesh` (and other `Eigen::Ref` overloads) raising `TypeError: incompatible function arguments` when called with `numpy>=2.4.0`. * Extended `[tool.cibuildwheel] test-requires` to `numpy>=2.4` and `compas>=2.15,<3` so the wheel test job exercises the post-2.4 ndarray ABI on every build. +* Applied `ruff format` to `docs/examples/example_booleans_with_face_source.py`, `docs/examples/example_isolines.py`, `tasks.py`, and `tests/test_booleans.py` so the working tree is clean for the next `invoke release` run. ### Removed diff --git a/README.md b/README.md index 0ab124c..4850382 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,7 @@ ![build](https://github.com/compas-dev/compas_cgal/workflows/build/badge.svg) [![GitHub - License](https://img.shields.io/github/license/compas-dev/compas_cgal.svg)](https://github.com/compas-dev/compas_cgal) -[![Conda - Latest Release](https://anaconda.org/conda-forge/compas_cgal/badges/version.svg)](https://anaconda.org/conda-forge/compas_cgal) -[![Conda - Platform](https://img.shields.io/conda/pn/conda-forge/compas_cgal)](https://anaconda.org/conda-forge/compas_cgal) +[![PyPI - Latest Release](https://img.shields.io/pypi/v/compas-cgal)](https://pypi.org/project/compas-cgal/) This package provides Python bindings for specific algorithms of CGAL. The bindings are generated with Nanobind and data is exchanged using NumPy arrays. diff --git a/docs/examples/example_booleans_with_face_source.py b/docs/examples/example_booleans_with_face_source.py index 8a2b1f0..7a52488 100644 --- a/docs/examples/example_booleans_with_face_source.py +++ b/docs/examples/example_booleans_with_face_source.py @@ -81,10 +81,7 @@ def cylinder_along(axis, radius=0.8): # submesh is independent (boundary vertices are duplicated across submeshes) # and gets its own scene object with a single color. Convenient for viewers # that prefer one material/layer per object. -submeshes = { - mesh_id: Mesh.from_vertices_and_faces(Vs, Fs) - for mesh_id, (Vs, Fs) in split_by_source(V, F, S).items() -} +submeshes = {mesh_id: Mesh.from_vertices_and_faces(Vs, Fs) for mesh_id, (Vs, Fs) in split_by_source(V, F, S).items()} # ============================================================================= # Visualize — toggle USE_SPLIT to compare the two paths. diff --git a/docs/examples/example_isolines.py b/docs/examples/example_isolines.py index 51dc525..181fda9 100644 --- a/docs/examples/example_isolines.py +++ b/docs/examples/example_isolines.py @@ -18,7 +18,7 @@ mesh = Mesh.from_off(FILE) mesh.quads_to_triangles() -V, F = mesh_subdivide_loop(mesh.to_vertices_and_faces(), k=2) # k=4 for proper smoothness +V, F = mesh_subdivide_loop(mesh.to_vertices_and_faces(), k=2) # k=4 for proper smoothness mesh = Mesh.from_vertices_and_faces(V.tolist(), F.tolist()) # ============================================================================= diff --git a/tasks.py b/tasks.py index ff82845..96f5929 100644 --- a/tasks.py +++ b/tasks.py @@ -24,4 +24,4 @@ { "base_folder": os.path.dirname(__file__), } -) \ No newline at end of file +) diff --git a/tests/test_booleans.py b/tests/test_booleans.py index 3aadf0d..a572d62 100644 --- a/tests/test_booleans.py +++ b/tests/test_booleans.py @@ -211,9 +211,7 @@ def test_boolean_chain_with_face_source(): cube = Box(2).to_vertices_and_faces(triangulated=True) sphere = Sphere(0.8, point=[1, 1, 1]).to_vertices_and_faces(u=32, v=32, triangulated=True) - cyl = Cylinder( - 0.4, 4.0, Frame([0, 0, 0], [1, 0, 0], [0, 1, 0]) - ).to_vertices_and_faces(u=32, triangulated=True) + cyl = Cylinder(0.4, 4.0, Frame([0, 0, 0], [1, 0, 0], [0, 1, 0])).to_vertices_and_faces(u=32, triangulated=True) V, F, S = boolean_chain_with_face_source( [cube, sphere, cyl],