diff --git a/.gitignore b/.gitignore index 3f782a8..5fa314f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,32 @@ /geopandas-0.3.0.tar.gz +/geopandas-0.4.0.tar.gz +/geopandas-0.4.1.tar.gz +/geopandas-0.5.0.tar.gz +/geopandas-0.5.1.tar.gz +/geopandas-0.6.0rc1.tar.gz +/geopandas-0.6.0.tar.gz +/geopandas-0.6.3.tar.gz +/geopandas-0.7.0.tar.gz +/geopandas-0.8.0.tar.gz +/geopandas-0.8.1.tar.gz +/geopandas-0.8.2.tar.gz +/geopandas-0.9.0.tar.gz +/geopandas-0.10.0.tar.gz +/geopandas-0.10.1.tar.gz +/geopandas-0.10.2.tar.gz +/geopandas-0.11.1.tar.gz +/geopandas-0.12.1.tar.gz +/geopandas-0.12.2.tar.gz +/geopandas-0.13.0.tar.gz +/geopandas-0.13.2.tar.gz +/geopandas-0.14.0.tar.gz +/geopandas-0.14.1.tar.gz +/geopandas-0.14.2.tar.gz +/geopandas-0.14.3.tar.gz +/geopandas-0.14.4.tar.gz +/geopandas-1.0.1.tar.gz +/geopandas-1.1.0.tar.gz +/geopandas-1.1.1.tar.gz +/geopandas-1.1.2.tar.gz +/geopandas-1.1.3.tar.gz +/geopandas-1.1.4.tar.gz diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..d11d5ba --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,18 @@ +# See the documentation for more information: +# https://packit.dev/docs/configuration/ +--- +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + rawhide: + fast_forward_merge_into: + - fedora-branched + - job: koji_build + trigger: commit + dist_git_branches: + - fedora-all + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-all diff --git a/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch b/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch deleted file mode 100644 index 0e6330c..0000000 --- a/0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ff44cd10b0e3bcdb583c034f8450507ed4a461c8 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Sep 2017 00:48:06 -0400 -Subject: [PATCH 1/3] Fix default cmap for Matplotlib 2.0.0. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/plotting.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/geopandas/plotting.py b/geopandas/plotting.py -index 31b6284..a198e50 100644 ---- a/geopandas/plotting.py -+++ b/geopandas/plotting.py -@@ -402,8 +402,11 @@ def plot_dataframe(df, column=None, cmap=None, color=None, ax=None, - # Define `values` as a Series - if categorical: - if cmap is None: -- if LooseVersion(matplotlib.__version__) >= '2.0': -+ if LooseVersion(matplotlib.__version__) >= '2.0.1': - cmap = 'tab10' -+ elif LooseVersion(matplotlib.__version__) >= '2.0.0': -+ # Erroneous name. -+ cmap = 'Vega10' - else: - cmap = 'Set1' - categories = list(set(df[column].values)) --- -2.13.6 - diff --git a/0002-TST-Fix-determination-of-expected-dash-style.patch b/0002-TST-Fix-determination-of-expected-dash-style.patch deleted file mode 100644 index 958e026..0000000 --- a/0002-TST-Fix-determination-of-expected-dash-style.patch +++ /dev/null @@ -1,87 +0,0 @@ -From f1ccfb43a0d0cc400474a60d984e653dfd292063 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Sep 2017 01:02:43 -0400 -Subject: [PATCH 2/3] TST: Fix determination of expected dash style. - -In Matplotlib 2.0.0, there was a minimum dash length that was eventually -removed because it was problematic. The expected line style does not -apply this minimum. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/tests/test_plotting.py | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - -diff --git a/geopandas/tests/test_plotting.py b/geopandas/tests/test_plotting.py -index b3f98b7..03ab184 100644 ---- a/geopandas/tests/test_plotting.py -+++ b/geopandas/tests/test_plotting.py -@@ -184,24 +184,26 @@ class TestLineStringPlotting: - _check_colors(self.N, ax.collections[0].get_colors(), ['green']*self.N) - - def test_style_kwargs(self): -- - # linestyle (style patterns depend on linewidth, therefore pin to 1) - linestyle = 'dashed' -- ax = self.lines.plot(linestyle=linestyle, linewidth=1) -- exp_ls = _style_to_linestring_onoffseq(linestyle) -+ linewidth = 1 -+ -+ ax = self.lines.plot(linestyle=linestyle, linewidth=linewidth) -+ exp_ls = _style_to_linestring_onoffseq(linestyle, linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - -- ax = self.df.plot(linestyle=linestyle, linewidth=1) -+ ax = self.df.plot(linestyle=linestyle, linewidth=linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - -- ax = self.df.plot(column='values', linestyle=linestyle, linewidth=1) -+ ax = self.df.plot(column='values', linestyle=linestyle, -+ linewidth=linewidth) - for ls in ax.collections[0].get_linestyles(): - assert ls[0] == exp_ls[0] -- assert tuple(ls[1]) == exp_ls[1] -+ assert ls[1] == exp_ls[1] - - - class TestPolygonPlotting: -@@ -469,10 +471,10 @@ class TestPlotCollections: - # pass through of kwargs - coll = plot_linestring_collection(ax, self.lines, linestyle='--', - linewidth=1) -- exp_ls = _style_to_linestring_onoffseq('dashed') -+ exp_ls = _style_to_linestring_onoffseq('--', 1) - res_ls = coll.get_linestyle()[0] - assert res_ls[0] == exp_ls[0] -- assert tuple(res_ls[1]) == exp_ls[1] -+ assert res_ls[1] == exp_ls[1] - ax.cla() - - def test_linestrings_values(self): -@@ -619,14 +621,15 @@ def _check_colors(N, actual_colors, expected_colors, alpha=None): - '{} != {}'.format(actual, conv.to_rgba(expected, alpha=alpha)) - - --def _style_to_linestring_onoffseq(linestyle): -+def _style_to_linestring_onoffseq(linestyle, linewidth): - """ Converts a linestyle string representation, namely one of: - ['dashed', 'dotted', 'dashdot', 'solid'], - documented in `Collections.set_linestyle`, - to the form `onoffseq`. - """ - if LooseVersion(matplotlib.__version__) >= '2.0': -- return matplotlib.lines._get_dash_pattern(linestyle) -+ offset, dashes = matplotlib.lines._get_dash_pattern(linestyle) -+ return matplotlib.lines._scale_dashes(offset, dashes, linewidth) - else: - from matplotlib.backend_bases import GraphicsContextBase - return GraphicsContextBase.dashd[linestyle] --- -2.13.6 - diff --git a/0003-Workaround-test-issues-on-non-x86-systems.patch b/0003-Workaround-test-issues-on-non-x86-systems.patch deleted file mode 100644 index 6d762d2..0000000 --- a/0003-Workaround-test-issues-on-non-x86-systems.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 0e9bc3047ad66778835ee5ad2d7d767ac1caec24 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 28 Nov 2017 02:24:32 -0500 -Subject: [PATCH 3/3] Workaround test issues on non-x86 systems. - -Signed-off-by: Elliott Sales de Andrade ---- - geopandas/tests/test_overlay.py | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/geopandas/tests/test_overlay.py b/geopandas/tests/test_overlay.py -index d928224..fc7ae2e 100644 ---- a/geopandas/tests/test_overlay.py -+++ b/geopandas/tests/test_overlay.py -@@ -34,41 +34,47 @@ class TestDataFrame: - # why is the sindex not generated automatically? - self.polydf2._generate_sindex() - -- self.union_shape = (180, 7) -+ # Some errors on non-x86 cause different results here. -+ # https://github.com/geopandas/geopandas/issues/552 -+ self.union_shape_0 = (180, 182) -+ self.union_shape_1 = (7, ) - - def test_union(self): - df = overlay(self.polydf, self.polydf2, how="union") - assert type(df) is GeoDataFrame -- assert df.shape == self.union_shape -+ assert df.shape[0] in self.union_shape_0 -+ assert df.shape[1] in self.union_shape_1 - assert 'value1' in df.columns and 'Shape_Area' in df.columns - - def test_union_no_index(self): - # explicitly ignore indicies - dfB = overlay(self.polydf, self.polydf2, how="union", use_sindex=False) -- assert dfB.shape == self.union_shape -+ assert dfB.shape[0] in self.union_shape_0 -+ assert dfB.shape[1] in self.union_shape_1 - - # remove indicies from df - self.polydf._sindex = None - self.polydf2._sindex = None - dfC = overlay(self.polydf, self.polydf2, how="union") -- assert dfC.shape == self.union_shape -+ assert dfC.shape[0] in self.union_shape_0 -+ assert dfC.shape[1] in self.union_shape_1 - - def test_intersection(self): - df = overlay(self.polydf, self.polydf2, how="intersection") - assert df['BoroName'][0] is not None -- assert df.shape == (68, 7) -+ assert df.shape == (68, 7) or df.shape == (69, 7) - - def test_identity(self): - df = overlay(self.polydf, self.polydf2, how="identity") -- assert df.shape == (154, 7) -+ assert df.shape == (154, 7) or df.shape == (156, 7) - - def test_symmetric_difference(self): - df = overlay(self.polydf, self.polydf2, how="symmetric_difference") -- assert df.shape == (122, 7) -+ assert df.shape == (122, 7) or df.shape == (123, 7) - - def test_difference(self): - df = overlay(self.polydf, self.polydf2, how="difference") -- assert df.shape == (86, 7) -+ assert df.shape == (86, 7) or df.shape == (87, 7) - - def test_bad_how(self): - with pytest.raises(ValueError): --- -2.13.6 - diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..dd0af79 --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 1.16.1. diff --git a/changelog b/changelog new file mode 100644 index 0000000..3b0a351 --- /dev/null +++ b/changelog @@ -0,0 +1,113 @@ +* Mon Sep 13 2021 Elliott Sales de Andrade - 0.9.0-4 +- Backport patches for GDAL 3.3 (#1981675) + +* Fri Jul 23 2021 Fedora Release Engineering - 0.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 17 2021 Elliott Sales de Andrade - 0.9.0-2 +- Update & correct dependencies +- Backport patch to fix tests with Proj 8.0.1 +- Skip tests broken on GDAL 3.3.0 + +* Fri Jun 04 2021 Python Maint - 0.9.0-2 +- Rebuilt for Python 3.10 + +* Sun Feb 28 2021 Elliott Sales de Andrade - 0.9.0-1 +- Update to latest version (#1933514) + +* Sat Feb 06 2021 Elliott Sales de Andrade - 0.8.2-1 +- Update to latest version (#1920235) + +* Wed Jan 27 2021 Fedora Release Engineering - 0.8.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.8.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 Elliott Sales de Andrade - 0.8.1-2 +- Fix alternate architecture patch. + +* Thu Jul 16 2020 Elliott Sales de Andrade - 0.8.1-1 +- Update to latest version + +* Thu Jul 02 2020 Elliott Sales de Andrade - 0.8.0-1 +- Update to latest version + +* Tue May 26 2020 Miro Hrončok - 0.7.0-2 +- Rebuilt for Python 3.9 + +* Tue Feb 18 2020 Elliott Sales de Andrade - 0.7.0-1 +- Update to latest version + +* Sat Feb 08 2020 Elliott Sales de Andrade - 0.6.3-1 +- Update to latest version + +* Thu Jan 30 2020 Fedora Release Engineering - 0.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Sep 29 2019 Elliott Sales de Andrade - 0.6.0-1 +- Update to latest version + +* Sat Aug 24 2019 Elliott Sales de Andrade - 0.6.0-0.1.rc1 +- Update to latest release candidate + +* Sat Aug 24 2019 Elliott Sales de Andrade - 0.5.1-1 +- Update to latest version + +* Mon Aug 19 2019 Miro Hrončok - 0.5.0-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Apr 27 2019 Elliott Sales de Andrade - 0.5.0-1 +- Update to latest version + +* Sat Mar 09 2019 Elliott Sales de Andrade - 0.4.1-1 +- Update to latest version + +* Sat Feb 02 2019 Fedora Release Engineering - 0.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Sep 21 2018 Miro Hrončok - 0.4.0-2 +- Drop Python 2 subpackage + +* Wed Jul 18 2018 Elliott Sales de Andrade - 0.4.0-1 +- Update to latest version + +* Sat Jul 14 2018 Fedora Release Engineering - 0.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Elliott Sales de Andrade - 0.3.0-6 +- Add patch to build against Pandas 0.23.0 + +* Tue Jun 19 2018 Miro Hrončok - 0.3.0-6 +- Rebuilt for Python 3.7 + +* Wed Feb 14 2018 Elliott Sales de Andrade - 0.3.0-5 +- rebuilt + +* Fri Feb 09 2018 Fedora Release Engineering - 0.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Dec 09 2017 Elliott Sales de Andrade - 0.3.0-3 +- Add patch for non-x86 systems. +- Use python2-* BR. + +* Fri Dec 01 2017 Elliott Sales de Andrade - 0.3.0-2 +- Add patch for non-x86 systems. + +* Tue Sep 19 2017 Elliott Sales de Andrade - 0.3.0-1 +- Update to latest version. +- Use lowercase rtree dependency. +- Fix inconsistent capitalization. + +* Sat Aug 12 2017 Elliott Sales de Andrade - 0.2.1-3 +- Simplify spec with more macros. + +* Sun Jul 09 2017 Elliott Sales de Andrade - 0.2.1-2 +- Simplify spec a bit. +- Add patch for new Pandas compatibility. + +* Sun Mar 05 2017 Elliott Sales de Andrade - 0.2.1-1 +- Initial package release. diff --git a/python-geopandas.spec b/python-geopandas.spec index 0c17f47..47100b5 100644 --- a/python-geopandas.spec +++ b/python-geopandas.spec @@ -1,9 +1,22 @@ %global srcname geopandas +# There is a build dependency loop when built with tests. +# It involves libpysal, mapclassify, networkx. +# This bcond allows to bootstrap it. +%bcond bootstrap 0 + Name: python-%{srcname} -Version: 0.3.0 -Release: 3%{?dist} +Version: 1.1.4 +Release: %autorelease Summary: Geographic Pandas extensions + +License: BSD-3-Clause +URL: https://pypi.python.org/pypi/%{srcname} +# PyPI source does not have test data. +Source: https://github.com/%{srcname}/%{srcname}/archive/v%{version}/%{srcname}-%{version}.tar.gz + +BuildArch: noarch + %global _description \ GeoPandas is a project to add support for geographic data to Pandas objects. \ \ @@ -13,139 +26,55 @@ 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: https://pypi.python.org/pypi/%{srcname} -Source0: https://github.com/%{srcname}/%{srcname}/archive/v%{version}/%{srcname}-%{version}.tar.gz -# https://github.com/geopandas/geopandas/pull/551 for both -Patch0001: 0001-Fix-default-cmap-for-Matplotlib-2.0.0.patch -Patch0002: 0002-TST-Fix-determination-of-expected-dash-style.patch -# https://github.com/geopandas/geopandas/issues/552 -Patch0003: 0003-Workaround-test-issues-on-non-x86-systems.patch - -BuildArch: noarch - %description %{_description} -%package -n python2-%{srcname} -Summary: %{summary} -%{?python_provide:%python_provide python2-%{srcname}} - -BuildRequires: python2-devel -BuildRequires: python2-six >= 1.3.0 -BuildRequires: python2-descartes >= 1.0 -BuildRequires: python2-fiona >= 1.0.1 -BuildRequires: python2-pandas -BuildRequires: python2-pyproj >= 1.9.3 -%if %{fedora} > 27 -BuildRequires: python2-shapely >= 1.2.18 -%else -BuildRequires: python-shapely >= 1.2.18 -%endif - -BuildRequires: python2-pytest -BuildRequires: python2-rtree >= 0.8 -BuildRequires: python2-mock >= 1.0.1 -BuildRequires: python2-matplotlib >= 1.2.1 -# Still needed in this release of Matplotlib. -BuildRequires: python2-nose python3-nose - -Requires: python2-six >= 1.3.0 -Requires: python2-descartes >= 1.0 -Requires: python2-fiona >= 1.0.1 -Requires: python2-pandas -Requires: python2-pyproj >= 1.9.3 -%if %{fedora} > 27 -Requires: python2-shapely >= 1.2.18 -%else -Requires: python-shapely >= 1.2.18 -%endif - -%description -n python2-%{srcname} %{_description} - - %package -n python3-%{srcname} Summary: %{summary} -%{?python_provide:%python_provide python3-%{srcname}} - BuildRequires: python3-devel -BuildRequires: python3-six >= 1.3.0 -BuildRequires: python3-descartes -BuildRequires: python3-fiona >= 1.0.1 -BuildRequires: python3-pandas -BuildRequires: python3-pyproj >= 1.9.3 -BuildRequires: python3-shapely >= 1.2.18 -BuildRequires: python3-pytest -BuildRequires: python3-rtree >= 0.8 -BuildRequires: python3-matplotlib >= 1.2.1 -# Still needed in this release of Matplotlib. -BuildRequires: python3-nose - -Requires: python3-six >= 1.3.0 -Requires: python3-descartes -Requires: python3-fiona >= 1.0.1 -Requires: python3-pandas -Requires: python3-pyproj >= 1.9.3 -Requires: python3-shapely >= 1.2.18 +%if %{without bootstrap} +BuildRequires: python3dist(fsspec) +BuildRequires: python3dist(fiona) >= 1.8.21 +BuildRequires: python3dist(geopy) +BuildRequires: python3dist(mapclassify) >= 2.5 +BuildRequires: python3dist(matplotlib) >= 3.7 +BuildRequires: python3dist(psycopg) >= 3.1 +BuildRequires: python3dist(pyarrow) >= 8 +BuildRequires: python3dist(pytest) +BuildRequires: python3dist(sqlalchemy) >= 2 +BuildRequires: python3dist(xyzservices) +# See: +# Depend on pandas[test] for testing +# https://github.com/geopandas/geopandas/pull/2438 +BuildRequires: python3dist(pandas[test]) +%endif %description -n python3-%{srcname} %{_description} - %prep %autosetup -n %{srcname}-%{version} -p1 +%generate_buildrequires +%pyproject_buildrequires %build -%py2_build -%py3_build - +%pyproject_wheel %install -%py2_install -%py3_install - +%pyproject_install +%pyproject_save_files %{srcname} %check -PYTHONPATH="%{buildroot}%{python3_sitelib}" \ - py.test-%{python3_version} -ra geopandas -PYTHONPATH="%{buildroot}%{python2_sitelib}" \ - py.test-%{python2_version} -ra geopandas +%if %{without bootstrap} +%{pytest} -ra geopandas -m 'not web' +%else +%pyproject_check_import -e 'geopandas.*test*' +%endif - -%files -n python2-%{srcname} +%files -n python3-%{srcname} -f %{pyproject_files} %license LICENSE.txt %doc README.md CHANGELOG.md -%{python2_sitelib}/%{srcname} -%{python2_sitelib}/%{srcname}-%{version}-py?.?.egg-info - - -%files -n python3-%{srcname} -%license LICENSE.txt -%doc README.md CHANGELOG.md -%{python3_sitelib}/%{srcname} -%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info - %changelog -* Sat Dec 09 2017 Elliott Sales de Andrade 0.3.0-3 -- Add patch for non-x86 systems. -- Use python2-* BR. - -* Fri Dec 01 2017 Elliott Sales de Andrade 0.3.0-2 -- Add patch for non-x86 systems. - -* Tue Sep 19 2017 Elliott Sales de Andrade 0.3.0-1 -- Update to latest version. -- Use lowercase rtree dependency. -- Fix inconsistent capitalization. - -* Sat Aug 12 2017 Elliott Sales de Andrade 0.2.1-3 -- Simplify spec with more macros. - -* Sun Jul 09 2017 Elliott Sales de Andrade 0.2.1-2 -- Simplify spec a bit. -- Add patch for new Pandas compatibility. - -* Sun Mar 05 2017 Elliott Sales de Andrade 0.2.1-1 -- Initial package release. +%autochangelog diff --git a/sources b/sources index 7e6a65a..b798a00 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (geopandas-0.3.0.tar.gz) = bb7c0fedfaa095e7ac7c93dfa3c4909e21c2679d1eb624c17557eb8d533275977d051f885e8a981e6e56b76b956a10e156667a6c99dc1485bbe8ba2dc7042d56 +SHA512 (geopandas-1.1.4.tar.gz) = 70e30407e50acee8ff8d081d3db097ab188a078467bffe2e9765c5d64d9e1d88be76c4f37747a5c107cb96d75c9fa53a7f779e0b406b784386be7d5fef899878