Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ __pycache__
env
env-*
.venv
.venv-*

# Lock files
uv.lock

# Private files
.pypirc
Expand Down
81 changes: 73 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,75 @@
[build-system]
requires = [
"setuptools>=42",
"wheel",
[project]
name = "geoengine"
version = "0.8.0"
authors = [{ name = "Geo Engine GmbH", email = "[email protected]" }]
description = "A package for easy access to Geo Engine instances"
classifiers = [
"Programming Language :: Python :: 3",
"Topic :: Database :: Front-Ends",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Software Development :: Libraries",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Intended Audience :: Information Technology",
]
readme = { file = "README.md", content-type = "text/markdown" }
license-files = ["LICENSE"]
requires-python = ">=3.10"
dependencies = [
"geoengine-openapi-client == 0.0.25",
"geopandas >=1.0,<2.0",
"matplotlib >=3.5,<3.11",
"numpy >=1.21,<2.4",
"owslib >=0.27,<0.35",
"pillow >=10.0,<12",
"pyarrow >=17.0,<21",
"python-dotenv >=0.19,<1.2",
"rasterio >=1.3,<2",
"requests >= 2.26,<3",
"rioxarray >=0.9.1, <0.20",
"StrEnum >=0.4.6,<0.5", # TODO: use from stdlib when `python_requires = >=3.11`
"vega >= 3.5,<4.2",
"websockets >= 14.0,<16",
"xarray >=0.19,<2025.8",
"urllib3 >= 2.1, < 2.6",
"pydantic >= 2.10.6, < 2.12",
'skl2onnx >=1.19.1,<1.20',
]

[project.urls]
Homepage = "https://www.geoengine.io"
Repository = "https://github.com/geo-engine/geoengine-python"

[project.optional-dependencies] # TODO: use [dependency-groups] in the future
dev = [
"build >=0.7,<1.3",
"mypy >=1.14,<2.0",
"pdoc3 >=0.10,<0.12",
"pycodestyle >=2.8,<3", # formatter
"pylint >=3.3,<4", # code linter
"setuptools >=62,<81",
"twine >=3.4,<6.2", # PyPI
"types-requests >=2.26,<3", # mypy type hints
"types-setuptools >=71.1,<81", # mypy type hints
"wheel >=0.37,<0.46",
]
test = [
"psycopg >=3.2,<4",
"pytest >=6.3,<9",
"pytest-cov >=6.0,<7",
"requests_mock >=1.9,<2",
"scikit-learn >=1.5,<1.8",
]
examples = [
"cartopy >=0.22,<0.25", # for WMS example
"ipympl >=0.9.4,<0.10", # for ML example
"ipyvuetify >=1.10,<1.12", # for ML app
"ipywidgets >=8.1.5,<9", # for ML example
"nbconvert >=7,<8", # convert notebooks to Python
"scipy >=1.7,<2", # for WMS example
"voila >=0.5,<0.6", # for ML app
]
build-backend = "setuptools.build_meta"

[tool.pytest.ini_options]
log_cli = true
log_level = "INFO"
[build-system]
requires = ["setuptools>=62"]
build-backend = "setuptools.build_meta"
77 changes: 1 addition & 76 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,79 +1,4 @@
[metadata]
name = geoengine
version = 0.8.0
author = Geo Engine GmbH
author_email = [email protected]
description = A package for easy access to Geo Engine instances
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/geo-engine/geoengine-python
project_urls =
Bug Tracker = https://github.com/geo-engine/geoengine-python
classifiers =
Programming Language :: Python :: 3
Topic :: Database :: Front-Ends

[options]
package_dir =
packages = find:
python_requires = >=3.10
install_requires =
geoengine-openapi-client == 0.0.25
geopandas >=1.0,<2.0
matplotlib >=3.5,<3.11
numpy >=1.21,<2.3
owslib >=0.27,<0.34
pillow >=10.0,<12
pyarrow >=17.0,<21
python-dotenv >=0.19,<1.2
rasterio >=1.3,<2
requests >= 2.26,<3
rioxarray >=0.9.1, <0.20
StrEnum >=0.4.6,<0.5 # TODO: use from stdlib when `python_requires = >=3.11`
vega >= 3.5,<4.2
websockets >= 14.0,<16
xarray >=0.19,<2025.5
urllib3 >= 2.1, < 2.5
pydantic >= 2.10.6, < 2.12
skl2onnx >=1.17,<2 ; python_version<"3.13"
skl2onnx @ git+https://github.com/onnx/sklearn-onnx@1035fdf ; python_version>="3.13" # TODO: remove when skl2onnx 1.19 is released
onnx == 1.17 ; python_version<"3.13" # TODO: remove when skl2onnx 1.19 is released
onnx == 1.18 ; python_version>="3.13" # TODO: remove when skl2onnx 1.19 is released

[[onnx]]

[options.extras_require]
dev =
build >=0.7,<1.3
mypy >=1.14,<2.0
pdoc3 >=0.10,<0.11
pycodestyle >=2.8,<3 # formatter
pylint >=3.3,<4 # code linter
setuptools >=42,<81
twine >=3.4,<6 # PyPI
types-requests >=2.26,<3 # mypy type hints
types-setuptools >=71.1,<81 # mypy type hints
wheel >=0.37,<0.46
test =
psycopg >=3.2,<4
pytest >=6.3,<9
pytest-cov >=6.0,<7
requests_mock >=1.9,<2
scikit-learn >=1.5,<1.7
examples =
cartopy >=0.22,<0.25 # for WMS example
ipympl >=0.9.4,<0.10 # for ML example
ipyvuetify >=1.10,<1.12 # for ML app
ipywidgets >=8.1.5,<9 # for ML example
nbconvert >=7,<8 # convert notebooks to Python
scipy >=1.7,<2 # for WMS example
voila >=0.5,<0.6 # for ML app


[options.packages.find]
where = .

[pycodestyle]
[pycodestyle] # does not support `pyproject.toml`: https://peps.python.org/pep-0518/#sticking-with-setup-cfg
max-line-length = 120
ignore =
# line length is check with pylint
Expand Down
2 changes: 0 additions & 2 deletions setup.py

This file was deleted.