commit 15198e629a29092cc49d367b33ae4c6f670559aa
parent 7f8239719550c2c103e84b3dc284be5340c6c1ba
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date: Mon, 29 Sep 2025 19:35:06 +0400
Add city2graph
Diffstat:
2 files changed, 50 insertions(+), 1 deletion(-)
diff --git a/pkgs/default.nix b/pkgs/default.nix
@@ -192,8 +192,9 @@ lib.makeScope newScope (
arcgis2geojson = callPackage ./geospatial/arcgis2geojson { };
bbox = callPackage ./geospatial/bbox { };
- cassini = callPackage ./geospatial/cassini { };
c2cwsgiutils = callPackage ./geospatial/c2cwsgiutils { };
+ cassini = callPackage ./geospatial/cassini { };
+ city2graph = callPackage ./geospatial/city2graph { };
cmocean = callPackage ./geospatial/cmocean { };
cogdumper = callPackage ./geospatial/cogdumper { };
cogeo-mosaic = callPackage ./geospatial/cogeo-mosaic { };
diff --git a/pkgs/geospatial/city2graph/default.nix b/pkgs/geospatial/city2graph/default.nix
@@ -0,0 +1,48 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ python3Packages,
+ overturemaps,
+}:
+
+python3Packages.buildPythonPackage rec {
+ pname = "city2graph";
+ version = "0.1.6";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "c2g-dev";
+ repo = "city2graph";
+ tag = "v${version}";
+ hash = "sha256-wjce9I1HBQklQUwVObhlPmXGOZeX1Jm+kGKC9dm4oEw=";
+ };
+
+ build-system = with python3Packages; [
+ hatchling
+ ];
+
+ pythonRelaxDeps = true;
+
+ dependencies = with python3Packages; [
+ networkx
+ osmnx
+ shapely
+ geopandas
+ libpysal
+ momepy
+ overturemaps
+ ];
+
+ nativeCheckInputs = with python3Packages; [
+ pytestCheckHook
+ pytest-cov-stub
+ ];
+
+ meta = {
+ description = "GeoAI with Graph Neural Networks (GNNs) and Spatial Network Analysis";
+ homepage = "https://github.com/c2g-dev/city2graph";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.sikmir ];
+ };
+}