[PATCH 0/2] Add python-osmnx

  • Done
  • quality assurance status badge
Details
2 participants
  • Felix Gruber
  • Ludovic Courtès
Owner
unassigned
Submitted by
Felix Gruber
Severity
normal
F
F
Felix Gruber wrote on 19 May 2022 21:44
(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 2022 21:46
[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 2022 21:46
[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 2022 23:09
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
?