Blob Blame History Raw
%global _without_tests 1
%global srcname geopandas

# There is a build dependency loop when built with tests.
# It involves libpysal, mapclassify, networkx.
# This bcons allows to bootstrap it.
%bcond_without tests

Name:           python-%{srcname}
Version:        0.10.2
Release:        %autorelease
Summary:        Geographic Pandas extensions
%global _description \
GeoPandas is a project to add support for geographic data to Pandas objects. \
The goal of GeoPandas is to make working with geospatial data in Python easier. \
It combines the capabilities of Pandas and Shapely, providing geospatial \
operations in Pandas and a high-level interface to multiple geometries to \
Shapely. GeoPandas enables you to easily do operations in Python that would \
otherwise require a spatial database such as PostGIS.

License:        BSD
URL:  {srcname}

BuildArch:      noarch

# TST/COMPAT: update GeometryArray getitem error type + fix tests
# Fixes:
# TST: tests with invalid values fail with pandas master
# TST: fix test_value_counts test for pandas 1.4
# Fixes:
# TST: test_value_counts breaking against pandas latest
# TST: test groupby apply with function that requires GeoDataFrame attributes
# Fixes:
# BUG: Missing _crs attribute when using sjoin on grouped gdf and latest version of pandas
# TST: skip pandas groupby test if no sindex available

%description %{_description}

%package -n python3-%{srcname}
Summary:        %{summary}
BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(numpy) >= 1.15
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(fsspec)
BuildRequires:  python3dist(psycopg2)
BuildRequires:  python3dist(rtree) >= 0.8
BuildRequires:  python3dist(sqlalchemy)
BuildRequires:  python3dist(matplotlib) >= 2.0.1
BuildRequires:  python3dist(mapclassify)
# See:
# Depend on pandas[test] for testing
BuildRequires:  python3dist(pandas[test])

%description -n python3-%{srcname} %{_description}

%autosetup -n %{srcname}-%{version} -p1

%pyproject_buildrequires -r


%pyproject_save_files %{srcname}

%if %{with tests}
%{pytest} -ra geopandas -m 'not web'
# naturalearth_creation assumes zipfile from naturalearthdata was downloaded to current directory
%pyproject_check_import -e 'geopandas.*test*' -e geopandas.datasets.naturalearth_creation

%files -n python3-%{srcname} -f %{pyproject_files}
%license LICENSE.txt