From d095c29327f8ef2d52268df1d0978547e9fb7ec9 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Mon, 31 Jan 2022 11:19:25 -0500 Subject: [PATCH 01/26] TST: Test that packages can be build from sdists. I'm having trouble with this locally. --- .github/workflows/basemap-data-hires.yml | 3 +++ .github/workflows/basemap-data.yml | 3 +++ .github/workflows/basemap-for-manylinux.yml | 3 ++- .github/workflows/basemap-for-windows.yml | 4 ++-- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index edb242a1d..62269e472 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -49,6 +49,9 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} + pip install build + python -m build + rm dist/*.whl python setup.py sdist bdist_wheel --universal - name: Upload build artifacts diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index 14dbb587a..77cf3c4ab 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -49,6 +49,9 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} + pip install build + python -m build + rm -f dist/*.whl python setup.py sdist bdist_wheel --universal - name: Upload build artifacts diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 21c0a1e56..941d899a4 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -139,8 +139,9 @@ jobs: cd ${{ env.PKGDIR }} export GEOS_DIR=extern export NUMPY_INCLUDE_PATH=extern/include + pip install build pip install -r requirements-setup.txt - python setup.py sdist bdist_wheel + python -m build - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index 80b5e7d63..58686e3de 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -130,7 +130,7 @@ jobs: - name: Install Python base packages run: | - python -m pip install --upgrade pip setuptools wheel + python -m pip install --upgrade pip setuptools wheel build - name: Generate NumPy headers run: | @@ -167,7 +167,7 @@ jobs: $env:GEOS_DIR = "extern" $env:NUMPY_INCLUDE_PATH = "extern/include" pip install -r requirements-setup.txt - python setup.py sdist bdist_wheel + python -m build - name: Upload build artifacts uses: actions/upload-artifact@v1 From 8970ab50f10b463a1931f11bcda0a6f20d93a3fa Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Mon, 31 Jan 2022 12:38:08 -0500 Subject: [PATCH 02/26] BLD: Include requirements files in sdist. This should allow builds from the sdist to complete. --- packages/basemap/MANIFEST.in | 1 + 1 file changed, 1 insertion(+) create mode 100644 packages/basemap/MANIFEST.in diff --git a/packages/basemap/MANIFEST.in b/packages/basemap/MANIFEST.in new file mode 100644 index 000000000..47e0d9457 --- /dev/null +++ b/packages/basemap/MANIFEST.in @@ -0,0 +1 @@ +include requirements*.txt \ No newline at end of file From a24498e827068c01b440c3aaeaab266fd05e9f1a Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Mon, 31 Jan 2022 13:14:36 -0500 Subject: [PATCH 03/26] BLD: List build dependencies in pyproject.toml --- packages/basemap/pyproject.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 packages/basemap/pyproject.toml diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml new file mode 100644 index 000000000..341c5964b --- /dev/null +++ b/packages/basemap/pyproject.toml @@ -0,0 +1,9 @@ +[build-system] +requires = ["setuptools", "wheel", "numpy", + 'cython >= 0.29, < 3.0; python_version == "2.6"', + 'cython >= 0.29, < 3.0; python_version == "2.7"', + 'cython >= 0.26, < 0.27; python_version == "3.2"', + 'cython >= 0.29, < 3.0; python_version == "3.3"', + 'cython >= 0.29, < 3.0; python_version == "3.4"', + 'cython >= 0.29, <3.1; python_version >= "3.5"'] +build-backend = "setuptools.build_meta" From 6b1ee2ba179c25f406df8539a4c6ad37ced04034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Fri, 4 Feb 2022 17:19:23 +0100 Subject: [PATCH 04/26] Complete MANIFEST.in --- packages/basemap/MANIFEST.in | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/basemap/MANIFEST.in b/packages/basemap/MANIFEST.in index 47e0d9457..0ea74f384 100644 --- a/packages/basemap/MANIFEST.in +++ b/packages/basemap/MANIFEST.in @@ -1 +1,8 @@ -include requirements*.txt \ No newline at end of file +include requirements*.txt +recursive-include doc * +recursive-exclude doc/build * +recursive-include test * +recursive-include utils *.py +recursive-exclude **/__pycache__ * +exclude **/*.pyc +exclude **/.gitkeep From 6370cbb55f6b731b4ef736ee2a434848be79f949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Fri, 4 Feb 2022 17:33:43 +0100 Subject: [PATCH 05/26] Simplify pyproject.toml Old Python versions will not be using this anyway. --- packages/basemap/pyproject.toml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index 341c5964b..f172db704 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -1,9 +1,3 @@ [build-system] -requires = ["setuptools", "wheel", "numpy", - 'cython >= 0.29, < 3.0; python_version == "2.6"', - 'cython >= 0.29, < 3.0; python_version == "2.7"', - 'cython >= 0.26, < 0.27; python_version == "3.2"', - 'cython >= 0.29, < 3.0; python_version == "3.3"', - 'cython >= 0.29, < 3.0; python_version == "3.4"', - 'cython >= 0.29, <3.1; python_version >= "3.5"'] +requires = ["setuptools", "wheel", "numpy", "cython"] build-backend = "setuptools.build_meta" From 9cec59ed69ad8e3ddd4ab6d78fdc36a79b1b54ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Fri, 4 Feb 2022 18:01:11 +0100 Subject: [PATCH 06/26] Revert changes in basemap-for-manylinux workflow --- .github/workflows/basemap-for-manylinux.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 941d899a4..21c0a1e56 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -139,9 +139,8 @@ jobs: cd ${{ env.PKGDIR }} export GEOS_DIR=extern export NUMPY_INCLUDE_PATH=extern/include - pip install build pip install -r requirements-setup.txt - python -m build + python setup.py sdist bdist_wheel - name: Upload build artifacts uses: actions/upload-artifact@v1 From 9757a10465ecfb43ce33a92d34fd126d9754f733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Fri, 4 Feb 2022 18:02:02 +0100 Subject: [PATCH 07/26] Revert changes in basemap-for-windows workflow --- .github/workflows/basemap-for-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index 58686e3de..80b5e7d63 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -130,7 +130,7 @@ jobs: - name: Install Python base packages run: | - python -m pip install --upgrade pip setuptools wheel build + python -m pip install --upgrade pip setuptools wheel - name: Generate NumPy headers run: | @@ -167,7 +167,7 @@ jobs: $env:GEOS_DIR = "extern" $env:NUMPY_INCLUDE_PATH = "extern/include" pip install -r requirements-setup.txt - python -m build + python setup.py sdist bdist_wheel - name: Upload build artifacts uses: actions/upload-artifact@v1 From 2b23126fd330a0a88d3e2c3da6e7838417c1e359 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:11:42 -0500 Subject: [PATCH 08/26] CI: Use build to create the basemap wheels. --- .github/workflows/basemap-for-manylinux.yml | 7 ++++--- .github/workflows/basemap-for-windows.yml | 6 +++--- packages/basemap/pyproject.toml | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 21c0a1e56..f8fe20257 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -137,10 +137,11 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - export GEOS_DIR=extern - export NUMPY_INCLUDE_PATH=extern/include + export GEOS_DIR="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern" + export NUMPY_INCLUDE_PATH="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern/include" + pip install build pip install -r requirements-setup.txt - python setup.py sdist bdist_wheel + python -m build - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index 80b5e7d63..3f0d56337 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -130,7 +130,7 @@ jobs: - name: Install Python base packages run: | - python -m pip install --upgrade pip setuptools wheel + python -m pip install --upgrade pip setuptools wheel build - name: Generate NumPy headers run: | @@ -164,8 +164,8 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - $env:GEOS_DIR = "extern" - $env:NUMPY_INCLUDE_PATH = "extern/include" + $env:GEOS_DIR = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern" + $env:NUMPY_INCLUDE_PATH = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern/include" pip install -r requirements-setup.txt python setup.py sdist bdist_wheel - diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index f172db704..c21e7f6a6 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -1,3 +1,3 @@ [build-system] -requires = ["setuptools", "wheel", "numpy", "cython"] +requires = ["setuptools", "wheel", 'oldest-supported-numpy; python_version >= "3.5"', 'numpy; python_version < "3.5"', "cython"] build-backend = "setuptools.build_meta" From 48b9ca774ce1def01eae7c7028c3d62a0fc64509 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:29:16 -0500 Subject: [PATCH 09/26] BLD: Add version specifiers for NumPy and Cython to pyproject.toml for python 2.{6,7} and 3.4+ --- packages/basemap/pyproject.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index c21e7f6a6..6a4b9152c 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -1,3 +1,11 @@ [build-system] -requires = ["setuptools", "wheel", 'oldest-supported-numpy; python_version >= "3.5"', 'numpy; python_version < "3.5"', "cython"] +requires = [ + "setuptools", "wheel", + 'oldest-supported-numpy; python_version >= "3.5"', + 'numpy==1.16.6; python_version == "3.4" or python_version == "2.7"', + 'numpy == 1.11.3; python_version == "3.3" or python_version == "3.2" or python_version == "2.6"', + 'cython >= 0.29, <3.0; python_version >= "2.6" and python_version <= 3.4 and python_version != "3.2"', + 'cython >= 0.26, < 0.27; python_version == "3.2"', + 'cython >= 0.29, <3.1; python_version >= "3.5"' +] build-backend = "setuptools.build_meta" From 8bee972e811599a111217c9b1182c890058ef1fc Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:31:29 -0500 Subject: [PATCH 10/26] BLD: Simplify the cython requirements in pyproject.toml The dropped python_versions probobly won't be using pyproject.toml. --- packages/basemap/pyproject.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index 6a4b9152c..51a0578bf 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -4,8 +4,6 @@ requires = [ 'oldest-supported-numpy; python_version >= "3.5"', 'numpy==1.16.6; python_version == "3.4" or python_version == "2.7"', 'numpy == 1.11.3; python_version == "3.3" or python_version == "3.2" or python_version == "2.6"', - 'cython >= 0.29, <3.0; python_version >= "2.6" and python_version <= 3.4 and python_version != "3.2"', - 'cython >= 0.26, < 0.27; python_version == "3.2"', 'cython >= 0.29, <3.1; python_version >= "3.5"' ] build-backend = "setuptools.build_meta" From 47b5ebbb62d9f5957e81c2bdcb65a4a0d98e78d6 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 13:36:11 -0500 Subject: [PATCH 11/26] CI: Use build to create basemap-data{,-hires} wheels. --- .github/workflows/basemap-data-hires.yml | 3 ++- .github/workflows/basemap-data.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index a43562f10..82b4626f5 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -49,7 +49,8 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist bdist_wheel + python -m pip install build + python -m build - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index cd82ae63f..32ab8b433 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -49,7 +49,8 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist bdist_wheel + python -m pip install build + python -m build - name: Upload build artifacts uses: actions/upload-artifact@v1 From 5eff00f75c34e0e85c5415b642ef0da7877e8be5 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 14:12:28 -0500 Subject: [PATCH 12/26] CI: Specify C99 standard for building wheel Hopefully this allows NumPy to actually build. --- .github/workflows/basemap-for-manylinux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index f8fe20257..26e02ba97 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -139,6 +139,7 @@ jobs: cd ${{ env.PKGDIR }} export GEOS_DIR="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern" export NUMPY_INCLUDE_PATH="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern/include" + export CFLAGS="-std=c99" pip install build pip install -r requirements-setup.txt python -m build From 0940037692f207c7b5b2fca250987d4fb28fed6a Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 14:33:09 -0500 Subject: [PATCH 13/26] BLD: Specify sdist format as zip for all packages --- packages/basemap/setup.cfg | 3 +++ packages/basemap_data/setup.cfg | 3 +++ packages/basemap_data_hires/setup.cfg | 3 +++ 3 files changed, 9 insertions(+) diff --git a/packages/basemap/setup.cfg b/packages/basemap/setup.cfg index f0d50b88d..3195b621d 100644 --- a/packages/basemap/setup.cfg +++ b/packages/basemap/setup.cfg @@ -3,6 +3,9 @@ license_files = LICENSE LICENSE.geos +[sdist] +formats = zip + [flake8] ignore = E301,E306,E402,E501,E731,W503,W504 diff --git a/packages/basemap_data/setup.cfg b/packages/basemap_data/setup.cfg index 98f8f7925..46fc44d00 100644 --- a/packages/basemap_data/setup.cfg +++ b/packages/basemap_data/setup.cfg @@ -5,5 +5,8 @@ license_files = LICENSE.epsg LICENSE.mit +[sdist] +formats = zip + [bdist_wheel] universal = 1 diff --git a/packages/basemap_data_hires/setup.cfg b/packages/basemap_data_hires/setup.cfg index 365ae95ff..e408a4da9 100644 --- a/packages/basemap_data_hires/setup.cfg +++ b/packages/basemap_data_hires/setup.cfg @@ -3,5 +3,8 @@ license_files = COPYING COPYING.LESSER +[sdist] +formats = zip + [bdist_wheel] universal = 1 From 9dce170bf5457e0d0a4dede548e28c539b439dcb Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Fri, 4 Feb 2022 16:04:55 -0500 Subject: [PATCH 14/26] BLD: Include setup.cfg in MANIFEST.in --- packages/basemap/MANIFEST.in | 1 + packages/basemap_data/MANIFEST.in | 1 + packages/basemap_data_hires/MANIFEST.in | 1 + 3 files changed, 3 insertions(+) create mode 100644 packages/basemap_data/MANIFEST.in create mode 100644 packages/basemap_data_hires/MANIFEST.in diff --git a/packages/basemap/MANIFEST.in b/packages/basemap/MANIFEST.in index 0ea74f384..62fb783fe 100644 --- a/packages/basemap/MANIFEST.in +++ b/packages/basemap/MANIFEST.in @@ -6,3 +6,4 @@ recursive-include utils *.py recursive-exclude **/__pycache__ * exclude **/*.pyc exclude **/.gitkeep +include setup.cfg \ No newline at end of file diff --git a/packages/basemap_data/MANIFEST.in b/packages/basemap_data/MANIFEST.in new file mode 100644 index 000000000..bf469dbde --- /dev/null +++ b/packages/basemap_data/MANIFEST.in @@ -0,0 +1 @@ +include setup.cfg \ No newline at end of file diff --git a/packages/basemap_data_hires/MANIFEST.in b/packages/basemap_data_hires/MANIFEST.in new file mode 100644 index 000000000..bf469dbde --- /dev/null +++ b/packages/basemap_data_hires/MANIFEST.in @@ -0,0 +1 @@ +include setup.cfg \ No newline at end of file From 3225eb41d161d97583ff7a619339a12758e50a6c Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Sat, 5 Feb 2022 06:51:00 -0500 Subject: [PATCH 15/26] CI: Build sdist with setup.py; wheel from sdist with pip --- .github/workflows/basemap-data-hires.yml | 4 ++-- .github/workflows/basemap-data.yml | 4 ++-- .github/workflows/basemap-for-manylinux.yml | 4 ++-- .github/workflows/basemap-for-windows.yml | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index 82b4626f5..7e194c4a4 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -49,8 +49,8 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python -m pip install build - python -m build + python setup.py sdist + pip wheel -w dist/ --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index 32ab8b433..86e523172 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -49,8 +49,8 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python -m pip install build - python -m build + python setup.py sdist + pip wheel -w dist --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 26e02ba97..cef15406d 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -140,9 +140,9 @@ jobs: export GEOS_DIR="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern" export NUMPY_INCLUDE_PATH="${GITHUB_WORKSPACE}/${{ env.PKGDIR }}/extern/include" export CFLAGS="-std=c99" - pip install build pip install -r requirements-setup.txt - python -m build + python setup.py sdist + pip wheel -w dist --no-deps dist/basemap*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index 3f0d56337..6c7acc4bd 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -130,7 +130,7 @@ jobs: - name: Install Python base packages run: | - python -m pip install --upgrade pip setuptools wheel build + python -m pip install --upgrade pip setuptools wheel - name: Generate NumPy headers run: | @@ -167,7 +167,8 @@ jobs: $env:GEOS_DIR = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern" $env:NUMPY_INCLUDE_PATH = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern/include" pip install -r requirements-setup.txt - python setup.py sdist bdist_wheel + python setup.py sdist + pip wheel -w dist/ --no-deps dist/basemap*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 From b0723cf38eec66db40e6e1e9e747462723c7572b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 13:48:10 +0100 Subject: [PATCH 16/26] Revert adding setup.cfg to MANIFEST files The `setup.cfg` is automatically added to any source distribution, so it does not need to be specified explicitly in `MANIFEST.in`. --- packages/basemap/MANIFEST.in | 1 - packages/basemap_data/MANIFEST.in | 1 - packages/basemap_data_hires/MANIFEST.in | 1 - 3 files changed, 3 deletions(-) delete mode 100644 packages/basemap_data/MANIFEST.in delete mode 100644 packages/basemap_data_hires/MANIFEST.in diff --git a/packages/basemap/MANIFEST.in b/packages/basemap/MANIFEST.in index 62fb783fe..0ea74f384 100644 --- a/packages/basemap/MANIFEST.in +++ b/packages/basemap/MANIFEST.in @@ -6,4 +6,3 @@ recursive-include utils *.py recursive-exclude **/__pycache__ * exclude **/*.pyc exclude **/.gitkeep -include setup.cfg \ No newline at end of file diff --git a/packages/basemap_data/MANIFEST.in b/packages/basemap_data/MANIFEST.in deleted file mode 100644 index bf469dbde..000000000 --- a/packages/basemap_data/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include setup.cfg \ No newline at end of file diff --git a/packages/basemap_data_hires/MANIFEST.in b/packages/basemap_data_hires/MANIFEST.in deleted file mode 100644 index bf469dbde..000000000 --- a/packages/basemap_data_hires/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include setup.cfg \ No newline at end of file From 76ad3cbe24f0958c0ed3c2a7d145390de21b7386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 13:53:37 +0100 Subject: [PATCH 17/26] Remove redundant code in setup to force zip sdist This is now specified directly as a property in `setup.cfg`, so there is no need to continue subclassing `sdist` just for that. --- packages/basemap/setup.py | 9 --------- packages/basemap_data/setup.py | 17 ----------------- packages/basemap_data_hires/setup.py | 17 ----------------- 3 files changed, 43 deletions(-) diff --git a/packages/basemap/setup.py b/packages/basemap/setup.py index 7dd6887c6..19aa4628d 100644 --- a/packages/basemap/setup.py +++ b/packages/basemap/setup.py @@ -78,15 +78,6 @@ def run(self): finally: self.distribution.data_files = orig_data_files - def initialize_options(self): - """Call `initialize_options` and then set zip as default format.""" - - sdist.initialize_options(self) - self._default_to_zip() - - def _default_to_zip(self): - self.formats = ["zip"] - # Initialise include and library dirs. data_files = [] diff --git a/packages/basemap_data/setup.py b/packages/basemap_data/setup.py index 641ac7346..3dc004c9f 100644 --- a/packages/basemap_data/setup.py +++ b/packages/basemap_data/setup.py @@ -8,7 +8,6 @@ import itertools from setuptools import setup from setuptools import find_packages -from setuptools.command.sdist import sdist def get_content(name, splitlines=False): @@ -23,19 +22,6 @@ def get_content(name, splitlines=False): return content -class sdist_zip(sdist): - """Custom `sdist` that saves source distributions in zip format.""" - - def initialize_options(self): - """Call `initialize_options` and then set zip as default format.""" - - sdist.initialize_options(self) - self._default_to_zip() - - def _default_to_zip(self): - self.formats = ["zip"] - - # Define some helper lists. basenames = [ "countries", @@ -140,9 +126,6 @@ def _default_to_zip(self): "!=3.1.*", "<4", ]), - "cmdclass": { - "sdist": sdist_zip, - }, "project_urls": { "Bug Tracker": "https://github.com/matplotlib/basemap/issues", diff --git a/packages/basemap_data_hires/setup.py b/packages/basemap_data_hires/setup.py index 12b2e0a87..5455f7c25 100644 --- a/packages/basemap_data_hires/setup.py +++ b/packages/basemap_data_hires/setup.py @@ -8,7 +8,6 @@ import itertools from setuptools import setup from setuptools import find_packages -from setuptools.command.sdist import sdist def get_content(name, splitlines=False): @@ -23,19 +22,6 @@ def get_content(name, splitlines=False): return content -class sdist_zip(sdist): - """Custom `sdist` that saves source distributions in zip format.""" - - def initialize_options(self): - """Call `initialize_options` and then set zip as default format.""" - - sdist.initialize_options(self) - self._default_to_zip() - - def _default_to_zip(self): - self.formats = ["zip"] - - # Define some helper lists. basenames = [ "countries", @@ -118,9 +104,6 @@ def _default_to_zip(self): "!=3.1.*", "<4", ]), - "cmdclass": { - "sdist": sdist_zip, - }, "project_urls": { "Bug Tracker": "https://github.com/matplotlib/basemap/issues", From 9b2795b87f02e15475fa796c2d203218ff34c8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 14:26:04 +0100 Subject: [PATCH 18/26] Remove trailing slash --- .github/workflows/basemap-data-hires.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index 7e194c4a4..11e3f5b57 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -50,7 +50,7 @@ jobs: run: | cd ${{ env.PKGDIR }} python setup.py sdist - pip wheel -w dist/ --no-deps dist/*.zip + pip wheel -w dist --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 From b3b48219ec85bdc76a11ebb8d79fa81ac4a9f043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 14:31:16 +0100 Subject: [PATCH 19/26] Update pyproject.toml --- packages/basemap/pyproject.toml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/basemap/pyproject.toml b/packages/basemap/pyproject.toml index 51a0578bf..cdf1ce414 100644 --- a/packages/basemap/pyproject.toml +++ b/packages/basemap/pyproject.toml @@ -1,9 +1,11 @@ [build-system] requires = [ - "setuptools", "wheel", + 'setuptools', + 'wheel', 'oldest-supported-numpy; python_version >= "3.5"', - 'numpy==1.16.6; python_version == "3.4" or python_version == "2.7"', + 'numpy == 1.16.6; python_version == "3.4" or python_version == "2.7"', 'numpy == 1.11.3; python_version == "3.3" or python_version == "3.2" or python_version == "2.6"', - 'cython >= 0.29, <3.1; python_version >= "3.5"' + 'cython >= 0.29, < 3.1; python_version >= "3.3" or python_version <= "3.0"', + 'cython >= 0.26, < 0.27; python_version == "3.2"' ] build-backend = "setuptools.build_meta" From cad118a6216a7a9b68e15ad85fc3dce6f44bf4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 14:33:02 +0100 Subject: [PATCH 20/26] Fix wildcard expansion not taking place in PowerShell --- .github/workflows/basemap-for-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index 6c7acc4bd..de68c1748 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -168,7 +168,7 @@ jobs: $env:NUMPY_INCLUDE_PATH = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern/include" pip install -r requirements-setup.txt python setup.py sdist - pip wheel -w dist/ --no-deps dist/basemap*.zip + pip wheel -w dist --no-deps (Get-Item ${{ env.PKGDIR }}/dist/*.zip) - name: Upload build artifacts uses: actions/upload-artifact@v1 From 03dfeb0d755c39b067ce907f746e1682ebfe3379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 14:35:55 +0100 Subject: [PATCH 21/26] Update pip wheel call in basemap-for-manylinux workflow --- .github/workflows/basemap-for-manylinux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index cef15406d..37b5e9c4b 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -142,7 +142,7 @@ jobs: export CFLAGS="-std=c99" pip install -r requirements-setup.txt python setup.py sdist - pip wheel -w dist --no-deps dist/basemap*.zip + pip wheel -w dist --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 From d27ad85267a5a07442dcbef192b45a8b76d75776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 20:07:30 +0100 Subject: [PATCH 22/26] Fix wrong path to zip file in basemap-for-windows workflow --- .github/workflows/basemap-for-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index de68c1748..e8d43877d 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -168,7 +168,7 @@ jobs: $env:NUMPY_INCLUDE_PATH = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern/include" pip install -r requirements-setup.txt python setup.py sdist - pip wheel -w dist --no-deps (Get-Item ${{ env.PKGDIR }}/dist/*.zip) + pip wheel -w dist --no-deps (Get-Item dist/*.zip) - name: Upload build artifacts uses: actions/upload-artifact@v1 From 1a18b28c6246eebdfd762858d7f5ff81b2e6316c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 20:34:28 +0100 Subject: [PATCH 23/26] Test sdists for basemap-data and basemap-data-hires --- .github/workflows/basemap-data-hires.yml | 11 ++++++----- .github/workflows/basemap-data.yml | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index 11e3f5b57..0a5122af7 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -49,8 +49,7 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist - pip wheel -w dist --no-deps dist/*.zip + python setup.py sdist bdist_wheel - name: Upload build artifacts uses: actions/upload-artifact@v1 @@ -83,12 +82,14 @@ jobs: name: artifacts-build path: ${{ env.PKGDIR }}/dist - - name: Install package + name: Install and test wheel package run: | - pip install ${{ env.PKGDIR }}/dist/*.whl + pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.whl + python -c "from mpl_toolkits import basemap_data; print(basemap_data)" - - name: Test package + name: Install and test sdist package run: | + pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.zip python -c "from mpl_toolkits import basemap_data; print(basemap_data)" upload: diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index 86e523172..1931de514 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -49,8 +49,7 @@ jobs: name: Build wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist - pip wheel -w dist --no-deps dist/*.zip + python setup.py sdist bdist_wheel - name: Upload build artifacts uses: actions/upload-artifact@v1 @@ -83,12 +82,14 @@ jobs: name: artifacts-build path: ${{ env.PKGDIR }}/dist - - name: Install package + name: Install and test wheel package run: | - pip install ${{ env.PKGDIR }}/dist/*.whl + pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.whl + python -c "from mpl_toolkits import basemap_data; print(basemap_data)" - - name: Test package + name: Install and test sdist package run: | + pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.zip python -c "from mpl_toolkits import basemap_data; print(basemap_data)" upload: From 863787e729962a06e3ef7dca8c6cc161dbf8a206 Mon Sep 17 00:00:00 2001 From: DWesl <22566757+DWesl@users.noreply.github.com> Date: Sat, 5 Feb 2022 15:08:35 -0500 Subject: [PATCH 24/26] BLD: Don't include python3.2 requirements in setup_requires if not on 3.2 --- packages/basemap/setup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/basemap/setup.py b/packages/basemap/setup.py index 19aa4628d..05007318f 100644 --- a/packages/basemap/setup.py +++ b/packages/basemap/setup.py @@ -151,6 +151,10 @@ def run(self): item.replace(marker1, "").replace(marker2, "") for item in install_requires if item.endswith(marker1) or item.endswith(marker2) or "python_version" not in item] +else: + marker1 = '; python_version == "3.2"' + setup_requires = [item for item in setup_requires if not item.endswith(marker1)] + install_requires = [item for item in install_requires if not item.endswith(marker1)] setup(**{ "name": From fcb8289c145d429294295cd64304f47ce3dff1e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 21:25:17 +0100 Subject: [PATCH 25/26] Revert changes in basemap-data and basemap-data-hires workflows --- .github/workflows/basemap-data-hires.yml | 13 ++++++------- .github/workflows/basemap-data.yml | 13 ++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index 0a5122af7..f079cfbda 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -46,10 +46,11 @@ jobs: name: checkout path: . - - name: Build wheel + name: Build sdist and wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist bdist_wheel + python setup.py sdist + pip wheel -w dist --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 @@ -82,14 +83,12 @@ jobs: name: artifacts-build path: ${{ env.PKGDIR }}/dist - - name: Install and test wheel package + name: Install package run: | - pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.whl - python -c "from mpl_toolkits import basemap_data; print(basemap_data)" + pip install ${{ env.PKGDIR }}/dist/*.whl - - name: Install and test sdist package + name: Test package run: | - pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.zip python -c "from mpl_toolkits import basemap_data; print(basemap_data)" upload: diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index 1931de514..a0fda0862 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -46,10 +46,11 @@ jobs: name: checkout path: . - - name: Build wheel + name: Build sdist and wheel run: | cd ${{ env.PKGDIR }} - python setup.py sdist bdist_wheel + python setup.py sdist + pip wheel -w dist --no-deps dist/*.zip - name: Upload build artifacts uses: actions/upload-artifact@v1 @@ -82,14 +83,12 @@ jobs: name: artifacts-build path: ${{ env.PKGDIR }}/dist - - name: Install and test wheel package + name: Install package run: | - pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.whl - python -c "from mpl_toolkits import basemap_data; print(basemap_data)" + pip install ${{ env.PKGDIR }}/dist/*.whl - - name: Install and test sdist package + name: Test package run: | - pip install --ignore-installed ${{ env.PKGDIR }}/dist/*.zip python -c "from mpl_toolkits import basemap_data; print(basemap_data)" upload: From 403c5217162502fb081cfcafef3dd92aa64080d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Molina=20Garc=C3=ADa?= Date: Sat, 5 Feb 2022 22:54:54 +0100 Subject: [PATCH 26/26] Fix basemap-for-windows build step if compiling numpy --- .github/workflows/basemap-for-windows.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index e8d43877d..fae596591 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -166,6 +166,7 @@ jobs: cd ${{ env.PKGDIR }} $env:GEOS_DIR = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern" $env:NUMPY_INCLUDE_PATH = "$env:GITHUB_WORKSPACE/${{ env.PKGDIR }}/extern/include" + $env:SETUPTOOLS_USE_DISTUTILS = "stdlib" pip install -r requirements-setup.txt python setup.py sdist pip wheel -w dist --no-deps (Get-Item dist/*.zip)