python3Packages.async-geotiff: init at 0.4.0

This commit is contained in:
Augustin Trancart
2026-04-01 10:43:58 +02:00
parent dbe04393a8
commit c071522005
3 changed files with 127 additions and 0 deletions
@@ -0,0 +1,76 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
pytestCheckHook,
uv-build,
affine,
async-tiff,
defusedxml,
numpy,
pyproj,
# tests
pydantic,
rasterio,
morecantile,
jsonschema,
pytest-asyncio,
}:
buildPythonPackage (finalAttrs: {
pname = "async-geotiff";
version = "0.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "developmentseed";
repo = "async-geotiff";
tag = "v${finalAttrs.version}";
hash = "sha256-J72/VRDAgqGOm7rYmlkURKgWSIa11L260LX447MQWbc=";
fetchSubmodules = true;
};
patches = [
# see https://github.com/developmentseed/async-geotiff/pull/136
./uv-build-relax-deps.patch
# see https://github.com/developmentseed/async-tiff/pull/292
(fetchpatch2 {
url = "https://github.com/developmentseed/async-geotiff/commit/f8325c0decb2a7e61faf3db5e51ec5a104d3cbdb.patch?full_index=1";
hash = "sha256-RLqMWKtjDSmxQkUXz9dXKIIqRXM7BWkuJIbbeHxCPyQ=";
})
];
build-system = [ uv-build ];
# see https://github.com/developmentseed/async-geotiff/pull/133
pythonRemoveDeps = [ "types-defusedxml" ];
dependencies = [
affine
async-tiff
defusedxml
numpy
pyproj
];
pythonImportsCheck = [ "async_geotiff" ];
nativeCheckInputs = [ pytestCheckHook ];
checkInputs = [
jsonschema
morecantile
rasterio
pydantic
pytest-asyncio
];
meta = {
description = "Fast, async GeoTIFF and COG reader for Python";
homepage = "https://developmentseed.org/async-geotiff/latest/";
license = lib.licenses.mit;
teams = [ lib.teams.geospatial ];
};
})
@@ -0,0 +1,49 @@
diff --git i/pyproject.toml w/pyproject.toml
index 601e2e5..cd26339 100644
--- i/pyproject.toml
+++ w/pyproject.toml
@@ -69,7 +69,7 @@ docs = [
[build-system]
-requires = ["uv_build>=0.8.8,<0.9.0"]
+requires = ["uv_build>=0.8.8,<0.12.0"]
build-backend = "uv_build"
[tool.ruff]
diff --git i/uv.lock w/uv.lock
index e7cd10f..2a74412 100644
--- i/uv.lock
+++ w/uv.lock
@@ -55,7 +55,6 @@ dependencies = [
{ name = "defusedxml" },
{ name = "numpy" },
{ name = "pyproj" },
- { name = "types-defusedxml" },
]
[package.optional-dependencies]
@@ -77,6 +76,7 @@ dev = [
{ name = "pytest-asyncio" },
{ name = "rasterio", version = "1.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },
{ name = "rasterio", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" },
+ { name = "types-defusedxml" },
{ name = "types-jsonschema" },
]
docs = [
@@ -97,7 +97,6 @@ requires-dist = [
{ name = "morecantile", marker = "extra == 'morecantile'", specifier = ">=7.0,<8.0" },
{ name = "numpy", specifier = ">=2.0" },
{ name = "pyproj", specifier = ">=3.3.0" },
- { name = "types-defusedxml", specifier = ">=0.7.0.20250822" },
]
provides-extras = ["morecantile"]
@@ -114,6 +113,7 @@ dev = [
{ name = "pytest", specifier = ">=9.0.2" },
{ name = "pytest-asyncio", specifier = ">=1.3.0" },
{ name = "rasterio", specifier = ">=1.4.4" },
+ { name = "types-defusedxml", specifier = ">=0.7.0.20250822" },
{ name = "types-jsonschema", specifier = ">=4.26.0.20260109" },
]
docs = [
+2
View File
@@ -1114,6 +1114,8 @@ self: super: with self; {
async-generator = callPackage ../development/python-modules/async-generator { };
async-geotiff = callPackage ../development/python-modules/async-geotiff { };
async-interrupt = callPackage ../development/python-modules/async-interrupt { };
async-lru = callPackage ../development/python-modules/async-lru { };