Skip to content

Commit 6e448c3

Browse files
committed
Merge branch 'develop'
2 parents adf7ef3 + a050baa commit 6e448c3

22 files changed

Lines changed: 5074 additions & 1838 deletions

.github/workflows/python-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python-version: ["3.10", "3.11", "3.12"]
19+
python-version: ["3.10", "3.11", "3.12", "3.13"]
2020

2121
steps:
2222
- uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Change log
22

3+
## 1.2.0 (2025-11-20)
4+
5+
* Adds support for Python 3.13.
6+
* Adds support for Gscrib 1.2.0.
7+
* Adds support for Vpype 1.15.0.
8+
* Adds `tox` for multi-version testing with Poetry.
9+
* Relaxes dependency constraints and upgrades multiple dependencies.
10+
311
## 1.1.1 (2025-05-01)
412

513
* Rename HeightMap.get_height_at to HeightMap.get_depth_at.

docs/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ API Reference
8484
vpype_gscrib.config
8585
vpype_gscrib.enums
8686
vpype_gscrib.excepts
87-
vpype_gscrib.heightmaps
8887
vpype_gscrib.processor
8988
vpype_gscrib.renderer
9089
vpype_gscrib.renderer.beds

poetry.lock

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

pyproject.toml

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "vpype_gscrib"
3-
version = "1.1.1"
3+
version = "1.2.0"
44
description = "G-Code generator for Vpype"
55
authors = ["Joan Sala <contact@joansala.com>"]
66
license = "GPL-3.0"
@@ -11,22 +11,38 @@ documentation = "https://vpype-gscrib.readthedocs.io"
1111
keywords = ["Vpype", "G-code", "CNC", "3D printing", "CAM"]
1212

1313
[tool.poetry.dependencies]
14-
python = ">=3.10,<3.13"
15-
gscrib = "~1.1.0"
16-
numpy = "~2.2.0"
17-
opencv-python = "~4.11.0"
18-
pydantic = "~2.10.0"
19-
pyserial = "~3.5.0"
20-
scikit-image = "~0.25.0"
21-
scipy = "~1.15.0"
22-
typeguard = "~4.4.0"
23-
vpype = "~1.14.0"
24-
25-
[tool.poetry.dev-dependencies]
14+
python = ">=3.10,<3.14"
15+
gscrib = ">=1.2.0,<2.0"
16+
numpy = ">=2.2.0,<3"
17+
opencv-python = ">=4.10.0,<5.0"
18+
pydantic = ">=2.8.0,<3.0"
19+
pyserial = ">=3.5.0,<4.0"
20+
scikit-image = ">=0.23.0,<1.0"
21+
scipy = ">=1.14.0,<2.0"
22+
typeguard = ">=4.3.0,<5.0"
23+
vpype = ">=1.14.0,<2.0"
24+
25+
[tool.poetry.group.dev.dependencies]
2626
mock = "~5.2.0"
27-
pre-commit = "~4.1.0"
28-
pylint = "~3.3.0"
29-
pytest = "~8.3.0"
27+
pre-commit = "~4.2.0"
28+
pylint = "~3.3.7"
29+
pytest = "~8.4.1"
30+
tox = "~4.32.0"
31+
32+
[tool.poetry.group.docs.dependencies]
33+
vpython = "~7.6.0"
34+
Sphinx = "~8.1.0"
35+
sphinx-click = "~6.0.0"
36+
sphinx-copybutton = "~0.5.2"
37+
sphinx-rtd-theme = "~3.0.2"
38+
sphinxcontrib-applehelp = "~2.0.0"
39+
sphinxcontrib-devhelp = "~2.0.0"
40+
sphinxcontrib-htmlhelp = "~2.1.0"
41+
sphinxcontrib-jquery = "~4.1.0"
42+
sphinxcontrib-jsmath = "~1.0.1"
43+
sphinxcontrib-qthelp = "~2.0.0"
44+
sphinxcontrib-serializinghtml = "~2.0.0"
45+
myst-parser = "~4.0.1"
3046

3147
[tool.poetry.plugins."vpype.plugins"]
3248
gscrib = "vpype_gscrib.vpype_gscrib:vpype_gscrib"

requirements.dev.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
mock~=5.2.0
2-
pre-commit~=4.1.0
3-
pylint~=3.3.0
4-
pytest~=8.3.0
2+
pre-commit~=4.2.0
3+
pylint~=3.3.7
4+
pytest~=8.4.1
5+
tox~=4.32.0

requirements.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
gscrib~=1.1.0
2-
numpy~=2.2.0
3-
opencv-python~=4.11.0
4-
pydantic~=2.10.0
5-
pyserial~=3.5.0
6-
scikit-image~=0.25.0
7-
scipy~=1.15.0
8-
typeguard~=4.4.0
9-
vpype~=1.14.0
1+
gscrib>=1.2.0,<2.0
2+
numpy>=2.0.0,<3
3+
opencv-python>=4.10.0,<5.0
4+
pydantic>=2.8.0,<3.0
5+
pyserial>=3.5.0,<4.0
6+
scikit-image>=0.23.0,<1.0
7+
scipy>=1.14.0,<2.0
8+
typeguard>=4.3.0,<5.0
9+
vpype>=1.14.0,<2.0

tests/renderer/test_gcode_context.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
from unittest.mock import Mock, MagicMock, patch
33
from dataclasses import FrozenInstanceError
44
from gscrib import GCodeBuilder
5-
from vpype_gscrib.heightmaps import FlatHeightMap
6-
from vpype_gscrib.heightmaps import SparseHeightMap
7-
from vpype_gscrib.heightmaps import RasterHeightMap
5+
from gscrib.enums import LengthUnits
6+
from gscrib.heightmaps import BaseHeightMap
7+
from gscrib.heightmaps import FlatHeightMap
8+
from gscrib.heightmaps import SparseHeightMap
9+
from gscrib.heightmaps import RasterHeightMap
810
from vpype_gscrib.renderer import GContext
911
from vpype_gscrib.config import RenderConfig
10-
from gscrib.enums import LengthUnits
11-
from vpype_gscrib.heightmaps import BaseHeightMap
1212

1313

1414
# --------------------------------------------------------------------
@@ -93,7 +93,7 @@ def test_height_map_no_path(mock_gbuilder, render_config):
9393
context = GContext(mock_gbuilder, render_config)
9494
assert isinstance(context._height_map, FlatHeightMap)
9595

96-
@patch("vpype_gscrib.heightmaps.SparseHeightMap.from_path")
96+
@patch("gscrib.heightmaps.SparseHeightMap.from_path")
9797
def test_build_height_map_sparse(from_path, mock_gbuilder, render_config):
9898
heightmap = MagicMock(spec=SparseHeightMap)
9999
from_path.return_value = heightmap
@@ -105,7 +105,7 @@ def test_build_height_map_sparse(from_path, mock_gbuilder, render_config):
105105
heightmap.set_tolerance.assert_called_with(tolerance)
106106
heightmap.set_scale.assert_called_with(scale)
107107

108-
@patch("vpype_gscrib.heightmaps.RasterHeightMap.from_path")
108+
@patch("gscrib.heightmaps.RasterHeightMap.from_path")
109109
def test_build_height_map_raster(from_path, mock_gbuilder, render_config):
110110
heightmap = MagicMock(spec=RasterHeightMap)
111111
from_path.return_value = heightmap

tests/renderer/test_raster_heightmap.py

Lines changed: 0 additions & 160 deletions
This file was deleted.

0 commit comments

Comments
 (0)