[PATCH 0/2] Add python-osmnx

DoneSubmitted by Felix Gruber.
Details
2 participants
  • Felix Gruber
  • Ludovic Courtès
Owner
unassigned
Severity
normal
F
F
Felix Gruber wrote on 19 May 21:44 +0200
(address . guix-patches@gnu.org)(name . Felix Gruber)(address . felgru@posteo.net)
20220519194407.4435-1-felgru@posteo.net
This patchset adds the OSMnx Python library for working with
OpenStreetMap data.

Felix Gruber (2):
gnu: python-rtree: Update to 1.0.0.
gnu: Add python-osmnx

gnu/packages/geo.scm | 82 +++++++++++++++++++++++++++++++++++++++-----
1 file changed, 74 insertions(+), 8 deletions(-)

--
2.30.2
F
F
Felix Gruber wrote on 19 May 21:46 +0200
[PATCH 1/2] gnu: python-rtree: Update to 1.0.0.
(address . 55528@debbugs.gnu.org)(name . Felix Gruber)(address . felgru@posteo.net)
20220519194606.4548-1-felgru@posteo.net
* gnu/packages/geo.scm (python-rtree): Update to 1.0.0.
[arguments]: Fix 'find-libspatialindex phase.
---
gnu/packages/geo.scm | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 0c9240eea7..37a3e6d179 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -1486,27 +1486,28 @@ persisted.
 (define-public python-rtree
   (package
     (name "python-rtree")
-    (version "0.9.7")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Rtree" version))
        (sha256
-        (base32 "0gna530vy6rh76035cqh7i2lx199cvxjrzjczg9rm6k96k5751xy"))))
+        (base32 "10lnhf67c9pb0yisxdqmb52dy6lj1za1h9d4p69v0ihk2a138j6h"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'find-libspatialindex
            (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "SPATIALINDEX_C_LIBRARY"
-                     (string-append (assoc-ref inputs "libspatialindex")
-                                    "/lib/libspatialindex.so"))))
+             (let ((libspatialindex (assoc-ref inputs "libspatialindex")))
+               (substitute* "rtree/finder.py"
+                 (("find_library\\(\"spatialindex_c\"\\)")
+                  (string-append  "\"" libspatialindex
+                                  "/lib/libspatialindex_c.so\""))))))
          (replace 'check
-           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+           (lambda* (#:key outputs tests? #:allow-other-keys)
              (when tests?
-               (add-installed-pythonpath inputs outputs)
-               (invoke "python" "-m" "pytest")))))))
+                 (invoke "pytest")))))))
     (native-inputs
      (list python-numpy python-pytest python-wheel))
     (inputs
-- 
2.30.2
F
F
Felix Gruber wrote on 19 May 21:46 +0200
[PATCH 2/2] gnu: Add python-osmnx
(address . 55528@debbugs.gnu.org)(name . Felix Gruber)(address . felgru@posteo.net)
20220519194606.4548-2-felgru@posteo.net
* gnu/packages/geo.scm (python-osmnx): New variable.
---
gnu/packages/geo.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 37a3e6d179..ea7483f16f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -739,6 +739,71 @@ enables you to easily do operations in Python that would otherwise
 require a spatial database such as PostGIS.")
     (license license:bsd-3)))
 
+(define-public python-osmnx
+  (package
+    (name "python-osmnx")
+    (version "1.1.2")
+    (source
+     (origin
+       ; Fetch from github as the pypi package is missing the tests dir.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gboeing/osmnx")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1n8qjn184p5a2s3j6x6iyc1i7p3l3xnbqqxm6ajwgwv6j5fw1d5a"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               ; TODO: Disable network tests
+               (invoke "pytest" "tests"
+                       "-k"
+                       (string-append
+                         ;; The following tests require network access.
+                         "not test_geocode_to_gdf"
+                         " and not test_stats"
+                         " and not test_osm_xml"
+                         " and not test_elevation"
+                         " and not test_routing"
+                         " and not test_plots"
+                         " and not test_find_nearest"
+                         " and not test_api_endpoints"
+                         " and not test_graph_save_load"
+                         " and not test_graph_from_functions"
+                         " and not test_geometries"))))))))
+    (propagated-inputs
+      (list python-folium
+            python-geopandas
+            python-matplotlib
+            python-networkx
+            python-numpy
+            python-pandas
+            python-pyproj
+            python-requests
+            python-rtree
+            python-shapely))
+    (native-inputs
+      (list python-numpy python-pytest))
+    (home-page "https://github.com/gboeing/osmnx")
+    (synopsis
+      "Retrieve, model, analyze, and visualize OpenStreetMap street networks")
+    (description
+      "OSMnx is a Python library that lets you download geospatial data
+from OpenStreetMap and model, project, visualize, and analyze real-world
+street networks and any other geospatial geometries.  You can download
+and model walkable, drivable, or bikeable urban networks with a single
+line of Python code then easily analyze and visualize them.  You can
+just as easily download and work with other infrastructure types,
+amenities/points of interest, building footprints, elevation data,
+street bearings/orientations, and speed/travel time.")
+    (license license:expat)))
+
 (define-public mapnik
   (package
     (name "mapnik")
-- 
2.30.2
L
L
Ludovic Courtès wrote on 1 Jun 23:09 +0200
Re: bug#55528: [PATCH 0/2] Add python-osmnx
(name . Felix Gruber)(address . felgru@posteo.net)(address . 55528-done@debbugs.gnu.org)
87mtewrsyz.fsf@gnu.org
Hi,

Felix Gruber <felgru@posteo.net> skribis:

Toggle quote (3 lines)
> gnu: python-rtree: Update to 1.0.0.
> gnu: Add python-osmnx

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 55528@debbugs.gnu.org