Skip to content

Commit 29892b6

Browse files
authored
Add Python 3.14, remove Python 3.10, future-proof pandas (#9)
* Support for Python 3.14 * Update pixi.lock * Update pixi.lock * Remove Python 3.10 * Fix pandas issues
1 parent 5ed6ae6 commit 29892b6

File tree

7 files changed

+6903
-6761
lines changed

7 files changed

+6903
-6761
lines changed

.github/workflows/checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
- windows-latest
2121
- macos-latest
2222
python-version:
23-
- "3.10"
24-
- "3.13"
23+
- "3.11"
24+
- "3.14"
2525

2626
steps:
2727
# Pixi should manage Python versions, but it doesn't work on Windows in GitHub Actions

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10-
- Replace flatdict from pypi with a local version to avoid pkg_resource install issues
1110
- Change default compression to zstd
1211
- Add option to set compression level, zstd defaults to 15
12+
- Add support for Python 3.14, remove support for Python 3.10
13+
- Replace flatdict from pypi with a local version to avoid pkg_resource install issues
14+
- Updated dependencies (especially catering for future pandas versions)
1315

1416
## [v0.2.12] - 2025-12-08
1517

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pixi run vec
3131

3232
#### Using pip
3333

34-
Alternatively, you can install from PyPI with **Python 3.10** or any later version:
34+
Alternatively, you can install from PyPI with **Python 3.11** or any later version:
3535

3636
```bash
3737
pip install vecorel-cli

pixi.lock

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

pyproject.toml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,21 @@ authors = [
1414
classifiers = [
1515
"Development Status :: 4 - Beta",
1616
"Programming Language :: Python :: 3",
17-
"Programming Language :: Python :: 3.10",
1817
"Programming Language :: Python :: 3.11",
1918
"Programming Language :: Python :: 3.12",
2019
"Programming Language :: Python :: 3.13",
20+
"Programming Language :: Python :: 3.14",
2121
]
22-
requires-python = ">=3.10,<3.14"
22+
requires-python = ">=3.11"
2323
# This is duplicate, must also be changed below in the pixi configuration
2424
dependencies = [
2525
"pyyaml>=6.0,<7.0",
2626
"click>=8.1,<9.0",
2727
"geopandas>=1.0.0,<2.0",
2828
"requests>=2.30,<3.0",
2929
"shapely>=2.1,<3.0",
30-
# numpy is restricted <2.2.0 due to the lower supported Python version being 3.11 and we still cater for 3.10
31-
"numpy>=2.0,<2.2",
32-
"pyarrow>=21.0,<22.0",
30+
"numpy>=2.0,<3.0",
31+
"pyarrow>=21.0,<24.0",
3332
"py7zr>=1.0,<2.0",
3433
"fsspec==2025.7.0",
3534
"jsonschema[format]>=4.20,<5.0",
@@ -57,15 +56,14 @@ channels = ["conda-forge"]
5756
platforms = ["win-64", "linux-64", "osx-64", "osx-arm64"]
5857

5958
[tool.pixi.dependencies]
60-
python = ">=3.10,<3.14"
59+
python = ">=3.11"
6160
pyyaml = ">=6.0,<7.0"
6261
click = ">=8.1,<9.0"
6362
geopandas = ">=1.0.0,<2.0"
6463
requests = ">=2.30,<3.0"
6564
shapely = ">=2.1,<3.0"
66-
# numpy is restricted <2.2.0 due to the lower supported Python version being 3.11 and we still cater for 3.10
67-
numpy = ">=2.0,<2.2"
68-
pyarrow = ">=21.0,<22.0"
65+
numpy = ">=2.0,<3.0"
66+
pyarrow = ">=21.0,<24.0"
6967
py7zr = ">=1.0,<2.0"
7068
unrar = ">=0.4"
7169

vecorel_cli/encoding/geoparquet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def write(
190190
if callable(gp_type):
191191
data[column] = gp_type(data[column])
192192
else:
193-
data[column] = data[column].astype(gp_type, copy=False)
193+
data[column] = data[column].astype(gp_type)
194194
except Exception as e:
195195
self.warning(f"{column}: Can't convert to {dtype}: {e}")
196196

vecorel_cli/parquet/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def get_pyarrow_type_for_geopandas(dtype):
190190
dtype = dtype.lower()
191191
if dtype == "bool":
192192
return pa.bool_()
193-
elif dtype == "string" or dtype == "|s0" or dtype == "<u0":
193+
elif dtype in ("str", "string", "|s0", "<u0"):
194194
return pa.string()
195195
elif (
196196
dtype == "float128"

0 commit comments

Comments
 (0)