diff --git a/.github/actions/setup-msvc/action.yml b/.github/actions/setup-msvc/action.yml deleted file mode 100644 index ff7c433e8..000000000 --- a/.github/actions/setup-msvc/action.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: "Setup MSVC" -description: "Setup Microsoft Visual C++ compiler" - -inputs: - arch: - description: "Hardware architecture" - required: true - default: "x64" - version: - description: "Toolset version" - required: true - default: "16" - -runs: - using: "composite" - steps: - - - name: Set MSVC toolchain (v9) - shell: pwsh - run: | - if (-not "${{ env.VS090URL }}") { - echo "Missing environment variable VS090URL" - exit 1; - } - Invoke-WebRequest ${{ env.VS090URL }} -OutFile VCForPython27.msi - (Start-Process "msiexec" -NoNewWindow -PassThru -ArgumentList ` - "/i VCForPython27.msi /qn /l*! output.log").WaitForExit() - $MSVCVARS = "VCINSTALLDIR", "WindowsSdkDir", "PATH", "LIB", "LIBPATH", "INCLUDE" - $MSVCROOT = "C:\Users\$env:UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0" - cmd.exe /c "`"${MSVCROOT}\vcvarsall.bat`" ${{ inputs.arch }} && set" | - ForEach-Object { - $name, $value = $_ -split '=', 2 - if (${MSVCVARS} -contains $name) { - echo $_ >> $env:GITHUB_ENV - } - } - if: inputs.version == '9' - - - name: Set MSVC toolchain (v14+) - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ inputs.arch }} - toolset: ${{ inputs.version }} - if: inputs.version != '9' diff --git a/.github/workflows/basemap-data-hires.yml b/.github/workflows/basemap-data-hires.yml index 4631254e5..edb242a1d 100644 --- a/.github/workflows/basemap-data-hires.yml +++ b/.github/workflows/basemap-data-hires.yml @@ -5,6 +5,13 @@ env: on: push: + paths: + - ".github/workflows/basemap-data-hires.yml" + - "packages/basemap_data_hires/**" + pull_request: + paths: + - ".github/workflows/basemap-data-hires.yml" + - "packages/basemap_data_hires/**" workflow_dispatch: jobs: @@ -26,13 +33,11 @@ jobs: strategy: matrix: python-version: - [ - "2.7", - ] + ["2.7"] max-parallel: 1 needs: checkout runs-on: ubuntu-latest - container: "pylegacy/python:${{ matrix.python-version }}-debian-4" + container: "pylegacy/python:${{ matrix.python-version }}-debian-5" steps: - name: Download checkout @@ -56,18 +61,8 @@ jobs: strategy: matrix: python-version: - [ - "2.6", - "2.7", - "3.2", - "3.3", - "3.4", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.6", "2.7", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", + "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build @@ -99,9 +94,7 @@ jobs: strategy: matrix: python-version: - [ - "2.7", - ] + ["2.7"] max-parallel: 1 if: startsWith(github.event.ref, 'refs/tags/v') needs: test diff --git a/.github/workflows/basemap-data.yml b/.github/workflows/basemap-data.yml index 21058b1c1..14dbb587a 100644 --- a/.github/workflows/basemap-data.yml +++ b/.github/workflows/basemap-data.yml @@ -5,6 +5,13 @@ env: on: push: + paths: + - ".github/workflows/basemap-data.yml" + - "packages/basemap_data/**" + pull_request: + paths: + - ".github/workflows/basemap-data.yml" + - "packages/basemap_data/**" workflow_dispatch: jobs: @@ -26,13 +33,11 @@ jobs: strategy: matrix: python-version: - [ - "2.7", - ] + ["2.7"] max-parallel: 1 needs: checkout runs-on: ubuntu-latest - container: "pylegacy/python:${{ matrix.python-version }}-debian-4" + container: "pylegacy/python:${{ matrix.python-version }}-debian-5" steps: - name: Download checkout @@ -56,18 +61,8 @@ jobs: strategy: matrix: python-version: - [ - "2.6", - "2.7", - "3.2", - "3.3", - "3.4", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.6", "2.7", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", + "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build @@ -99,9 +94,7 @@ jobs: strategy: matrix: python-version: - [ - "2.7", - ] + ["2.7"] max-parallel: 1 if: startsWith(github.event.ref, 'refs/tags/v') needs: test diff --git a/.github/workflows/basemap-for-manylinux.yml b/.github/workflows/basemap-for-manylinux.yml index 95539d45b..21c0a1e56 100644 --- a/.github/workflows/basemap-for-manylinux.yml +++ b/.github/workflows/basemap-for-manylinux.yml @@ -5,6 +5,13 @@ env: on: push: + paths: + - ".github/workflows/basemap-for-manylinux.yml" + - "packages/basemap/**" + pull_request: + paths: + - ".github/workflows/basemap-for-manylinux.yml" + - "packages/basemap/**" workflow_dispatch: jobs: @@ -26,10 +33,7 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] max-parallel: 2 fail-fast: false needs: checkout @@ -78,19 +82,9 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build-geos @@ -123,12 +117,14 @@ jobs: name: Generate NumPy headers run: | case "${{ matrix.python-version }}" in - 2.[67]|3.[01234]) pkgvers=1.11.3;; - *) pkgvers=1.16.6;; + 2.6|3.[23]) pkgvers=1.11.3;; + 2.7|3.[456789]) pkgvers=1.16.6;; + *) pkgvers=1.21.4;; esac pkgname=numpy pkgcode=numpy-${pkgvers} - python -m pip download --no-binary=:all: "numpy == ${pkgvers}" + python -m pip install cython + python -m pip download --no-binary=numpy "numpy == ${pkgvers}" unzip ${pkgcode}.zip rm -f ${pkgcode}.zip cd ${pkgcode} @@ -156,24 +152,14 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build runs-on: ubuntu-latest - container: "pylegacy/${{ matrix.arch }}-python:3.6-debian-5" + container: "pylegacy/${{ matrix.arch }}-python:3.6-debian-8" steps: - name: Download GEOS artifacts @@ -187,33 +173,16 @@ jobs: with: name: artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }} path: ${{ env.PKGDIR }}/dist - - - name: Install GCC toolchain - run: | - apt-get update - apt-get install -y gcc g++ make - name: Install unzip run: | apt-get update apt-get install -y unzip - - name: Install patchelf from source + name: Install patchelf run: | - pkgvers=0.9 - pkgname=patchelf - pkgcode=${pkgname}-${pkgvers} - cd /tmp - wget https://releases.nixos.org/${pkgname}/${pkgcode}/${pkgcode}.tar.gz - tar -xf ${pkgcode}.tar.gz - rm -f ${pkgcode}.tar.gz - cd ${pkgcode} - ./configure - make - make check - make install - cd .. - rm -rf ${pkgcode} + pip install patchelf + alias patchelf="python -m patchelf" - name: Install auditwheel run: | @@ -235,24 +204,14 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: repair runs-on: ubuntu-latest - container: "pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5" + container: "pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-8" steps: - name: Download checkout @@ -266,37 +225,20 @@ jobs: with: name: artifacts-build-${{ matrix.arch }}-${{ matrix.python-version }} path: ${{ env.PKGDIR }}/dist - - - name: Install GCC toolchain - run: | - apt-get update - apt-get install -y gcc g++ make - name: Install matplotlib dependencies run: | apt-get update - apt-get install -y libfreetype6-dev libpng12-dev + apt-get install -y gcc g++ make + apt-get install -y pkg-config libfreetype6-dev libpng12-dev if: matrix.arch == 'x86' && matrix.python-version == '3.5' - - name: Install pyproj manually + name: Install numpy from source run: | apt-get update - apt-get install -y proj-bin libproj-dev - python -m pip install cython - pkgname=pyproj - pkgvers=${{ env.pyproj-version }} - pkgcode=${pkgname}-${pkgvers} - python -m pip download "pyproj == ${pkgvers}" - tar -xf ${pkgcode}.tar.gz - rm -rf ${pkgcode}.tar.gz - cd ${pkgcode} - rm _proj.c - python -m pip install . - cd .. - rm -rf ${pkgcode} - if: matrix.python-version == '3.9' - env: - pyproj-version: 1.9.6 + apt-get install -y gcc g++ make + pip install "numpy < 1.21.5" + if: matrix.arch == 'x86' && matrix.python-version == '3.10' - name: Install package run: | @@ -310,24 +252,14 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 1 if: startsWith(github.event.ref, 'refs/tags/v') needs: test runs-on: ubuntu-latest - container: "pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-5" + container: "pylegacy/${{ matrix.arch }}-python:${{ matrix.python-version }}-debian-8" environment: PyPI steps: - diff --git a/.github/workflows/basemap-for-windows.yml b/.github/workflows/basemap-for-windows.yml index dfcb6d5ee..80b5e7d63 100644 --- a/.github/workflows/basemap-for-windows.yml +++ b/.github/workflows/basemap-for-windows.yml @@ -5,6 +5,13 @@ env: on: push: + paths: + - ".github/workflows/basemap-for-windows.yml" + - "packages/basemap/**" + pull_request: + paths: + - ".github/workflows/basemap-for-windows.yml" + - "packages/basemap/**" workflow_dispatch: jobs: @@ -26,17 +33,21 @@ jobs: strategy: matrix: include: - - arch: "x64" - msvc-toolset: "16" + - + arch: "x64" + msvc-toolset: "14.16" cmake-version: "3.14.7" - - arch: "x86" - msvc-toolset: "16" + - + arch: "x86" + msvc-toolset: "14.16" cmake-version: "3.13.2" - - arch: "x64" - msvc-toolset: "9" + - + arch: "x64" + msvc-toolset: "9.0" cmake-version: "3.14.7" - - arch: "x86" - msvc-toolset: "9" + - + arch: "x86" + msvc-toolset: "9.0" cmake-version: "3.13.2" max-parallel: 4 fail-fast: false @@ -57,12 +68,10 @@ jobs: python-version: "3.6" - name: Setup MSVC toolset - uses: ./.github/actions/setup-msvc + uses: pylegacy/actions/setup-msvc@v1 with: - arch: ${{ matrix.arch }} + architecture: ${{ matrix.arch }} version: ${{ matrix.msvc-toolset }} - env: - VS090URL: ${{ secrets.VS090URL }} - name: Install CMake uses: jwlawson/actions-setup-cmake@v1.9 @@ -84,19 +93,9 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build-geos @@ -118,18 +117,16 @@ jobs: name: Set MSVC toolset version run: | if ("${{ matrix.python-version }}" -eq "2.7") { - echo "msvc-toolset=9" >> $env:GITHUB_ENV + echo "msvc-toolset=9.0" >> $env:GITHUB_ENV } else { - echo "msvc-toolset=16" >> $env:GITHUB_ENV + echo "msvc-toolset=14.16" >> $env:GITHUB_ENV } - name: Setup MSVC toolset - uses: ./.github/actions/setup-msvc + uses: pylegacy/actions/setup-msvc@v1 with: - arch: ${{ matrix.arch }} + architecture: ${{ matrix.arch }} version: ${{ env.msvc-toolset }} - env: - VS090URL: ${{ secrets.VS090URL }} - name: Install Python base packages run: | @@ -137,15 +134,18 @@ jobs: - name: Generate NumPy headers run: | - if ("${{ matrix.python-version }}" -lt "3.5") { + if ("${{ matrix.python-version }}" -In "2.6", "3.2", "3.3") { Set-Variable -Name "pkgvers" -Value "1.11.3" - } else { + } elseif ("${{ matrix.python-version }}" -In "2.7", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9") { Set-Variable -Name "pkgvers" -Value "1.16.6" + } else { + Set-Variable -Name "pkgvers" -Value "1.21.4" } Set-Variable -Name "pkgname" -Value "numpy" Set-Variable -Name "pkgcode" -Value "numpy-${pkgvers}" Set-Variable -Name "includedir" -Value "numpy/core/include" - python -m pip download --no-binary=:all: "numpy == ${pkgvers}" + python -m pip install cython + python -m pip download --no-binary=numpy "numpy == ${pkgvers}" tar -xf "${pkgcode}.zip" rm "${pkgcode}.zip" cd "${pkgcode}" @@ -179,19 +179,9 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 3 fail-fast: false needs: build @@ -228,19 +218,9 @@ jobs: strategy: matrix: arch: - [ - "x64", - "x86", - ] + ["x64", "x86"] python-version: - [ - "2.7", - "3.5", - "3.6", - "3.7", - "3.8", - "3.9", - ] + ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10"] max-parallel: 1 if: startsWith(github.event.ref, 'refs/tags/v') needs: test @@ -272,6 +252,6 @@ jobs: run: | python -m twine check ` ${{ env.PKGDIR }}/dist/*.zip ` - ${{ env.PKGDIR }}/dist/*-win*.whl + ${{ env.PKGDIR }}/dist/*.whl python -m twine upload --skip-existing ` - ${{ env.PKGDIR }}/dist/*-win*.whl + ${{ env.PKGDIR }}/dist/*.whl diff --git a/CHANGELOG.md b/CHANGELOG.md index d6e889670..362b8be7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,22 @@ is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) since version 1.3.0. -## [1.3.0] - 2020-12-28 +## [1.3.1] - 2022-01-22 + +### Added +- Support for Python 3.10 (issues [#530] and [#531]). + +### Changed +- Upgrade `numpy` upper pin to 1.23. +- Upgrade `matplotlib` upper pin to 3.6. +- Upgrade development requirements for Python 3.10. +- Move `doc` folder into `packages/basemap`. + +### Fixed +- Fix error message when trying to load high- and full-resolution datasets + without installing the `basemap-data-hires` package. + +## [1.3.0] - 2021-12-28 ### Added - Precompiled binary wheels available in PyPI. @@ -19,6 +34,11 @@ since version 1.3.0. - `basemap-data` contains the mandatory data assets required by `basemap` to provide minimal functionality. - `basemap-data-hires` contains the high-resolution data assets. + + This change together with the precompiled binary wheels in PyPI should solve + most of the former installation problems (see issues [#403], [#405], [#422], + [#436], [#445], [#456], [#461], [#488], [#489], [#491], [#510], [#525] and + [#526]). - Upgrade default GEOS library dependency to 3.5.1. - Update and clarify licenses. In summary: - `basemap`: MIT license. @@ -30,12 +50,14 @@ since version 1.3.0. ### Fixed - Fix `Basemap.pcolormesh` for `"ortho"` projection (PR [#476]). - Fix `Basemap.arcgisimage` for cylindrical coordinates (PR [#505]). -- Force `setup.py` to cythonize `_geoslib.pyx` at compile time (issues [#518] - and [#521]). +- Force `setup.py` to cythonize `_geoslib.pyx` at compile time (issues [#487], + [#518] and [#521]). +- Update `README` files and apply corrections and changes to outdated content + (issue [#179]). ### Removed - Bundled GEOS source code. The same source code can be downloaded using the - `GeosLibrary` class in `utils`. + `GeosLibrary` class in `utils` (issue [#228]). - Precompiled `_geoslib.c` file. ## [1.2.2] - 2020-08-04 @@ -58,6 +80,7 @@ since version 1.3.0. ### Fixed - Mostly compatibility bugfixes. +- Fix build using `zsh` as shell instead of `bash` (issues [#362] and [#383]). ## [1.1.0] - 2017-05-04 @@ -822,17 +845,59 @@ since version 1.3.0. - Fix glitches in drawing of parallels and meridians. +[#531]: +https://github.com/matplotlib/basemap/issues/531 +[#530]: +https://github.com/matplotlib/basemap/issues/530 +[#526]: +https://github.com/matplotlib/basemap/issues/526 +[#525]: +https://github.com/matplotlib/basemap/issues/525 [#521]: https://github.com/matplotlib/basemap/issues/521 [#518]: https://github.com/matplotlib/basemap/issues/518 +[#510]: +https://github.com/matplotlib/basemap/issues/510 [#505]: https://github.com/matplotlib/basemap/pull/505 +[#491]: +https://github.com/matplotlib/basemap/issues/491 +[#489]: +https://github.com/matplotlib/basemap/issues/489 +[#488]: +https://github.com/matplotlib/basemap/issues/488 +[#487]: +https://github.com/matplotlib/basemap/issues/487 [#476]: https://github.com/matplotlib/basemap/pull/476 +[#461]: +https://github.com/matplotlib/basemap/issues/461 +[#456]: +https://github.com/matplotlib/basemap/issues/456 +[#445]: +https://github.com/matplotlib/basemap/issues/445 +[#436]: +https://github.com/matplotlib/basemap/issues/436 +[#422]: +https://github.com/matplotlib/basemap/issues/422 +[#405]: +https://github.com/matplotlib/basemap/issues/405 +[#403]: +https://github.com/matplotlib/basemap/issues/403 +[#383]: +https://github.com/matplotlib/basemap/issues/383 +[#362]: +https://github.com/matplotlib/basemap/issues/362 +[#228]: +https://github.com/matplotlib/basemap/issues/228 +[#179]: +https://github.com/matplotlib/basemap/issues/179 [Unreleased]: -https://github.com/matplotlib/basemap/compare/v1.3.0...develop +https://github.com/matplotlib/basemap/compare/v1.3.1...develop +[1.3.1]: +https://github.com/matplotlib/basemap/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/matplotlib/basemap/compare/v1.2.2rel...v1.3.0 [1.2.2]: diff --git a/packages/basemap/README.md b/packages/basemap/README.md index a40f86549..849836c85 100644 --- a/packages/basemap/README.md +++ b/packages/basemap/README.md @@ -45,6 +45,6 @@ https://spdx.org/licenses/LGPL-2.1-only.html https://spdx.org/licenses/MIT.html [`LICENSE`]: -https://github.com/matplotlib/basemap/blob/v1.3.0/packages/basemap/LICENSE +https://github.com/matplotlib/basemap/blob/v1.3.1/packages/basemap/LICENSE [`LICENSE.geos`]: -https://github.com/matplotlib/basemap/blob/v1.3.0/packages/basemap/LICENSE.geos +https://github.com/matplotlib/basemap/blob/v1.3.1/packages/basemap/LICENSE.geos diff --git a/doc/README.txt b/packages/basemap/doc/README.txt similarity index 100% rename from doc/README.txt rename to packages/basemap/doc/README.txt diff --git a/doc/api/basemap_api.rst b/packages/basemap/doc/api/basemap_api.rst similarity index 100% rename from doc/api/basemap_api.rst rename to packages/basemap/doc/api/basemap_api.rst diff --git a/doc/api/index.rst b/packages/basemap/doc/api/index.rst similarity index 100% rename from doc/api/index.rst rename to packages/basemap/doc/api/index.rst diff --git a/doc/conf.py b/packages/basemap/doc/conf.py similarity index 100% rename from doc/conf.py rename to packages/basemap/doc/conf.py diff --git a/doc/index.rst b/packages/basemap/doc/index.rst similarity index 100% rename from doc/index.rst rename to packages/basemap/doc/index.rst diff --git a/doc/make.py b/packages/basemap/doc/make.py similarity index 100% rename from doc/make.py rename to packages/basemap/doc/make.py diff --git a/doc/matplotlibrc b/packages/basemap/doc/matplotlibrc similarity index 100% rename from doc/matplotlibrc rename to packages/basemap/doc/matplotlibrc diff --git a/doc/users/aea.rst b/packages/basemap/doc/users/aea.rst similarity index 100% rename from doc/users/aea.rst rename to packages/basemap/doc/users/aea.rst diff --git a/doc/users/aeqd.rst b/packages/basemap/doc/users/aeqd.rst similarity index 100% rename from doc/users/aeqd.rst rename to packages/basemap/doc/users/aeqd.rst diff --git a/doc/users/cass.rst b/packages/basemap/doc/users/cass.rst similarity index 100% rename from doc/users/cass.rst rename to packages/basemap/doc/users/cass.rst diff --git a/doc/users/cea.rst b/packages/basemap/doc/users/cea.rst similarity index 100% rename from doc/users/cea.rst rename to packages/basemap/doc/users/cea.rst diff --git a/doc/users/cyl.rst b/packages/basemap/doc/users/cyl.rst similarity index 100% rename from doc/users/cyl.rst rename to packages/basemap/doc/users/cyl.rst diff --git a/doc/users/download.rst b/packages/basemap/doc/users/download.rst similarity index 100% rename from doc/users/download.rst rename to packages/basemap/doc/users/download.rst diff --git a/doc/users/eck4.rst b/packages/basemap/doc/users/eck4.rst similarity index 100% rename from doc/users/eck4.rst rename to packages/basemap/doc/users/eck4.rst diff --git a/doc/users/eqdc.rst b/packages/basemap/doc/users/eqdc.rst similarity index 100% rename from doc/users/eqdc.rst rename to packages/basemap/doc/users/eqdc.rst diff --git a/doc/users/examples.rst b/packages/basemap/doc/users/examples.rst similarity index 100% rename from doc/users/examples.rst rename to packages/basemap/doc/users/examples.rst diff --git a/doc/users/figures/aea.py b/packages/basemap/doc/users/figures/aea.py similarity index 100% rename from doc/users/figures/aea.py rename to packages/basemap/doc/users/figures/aea.py diff --git a/doc/users/figures/aeqd.py b/packages/basemap/doc/users/figures/aeqd.py similarity index 100% rename from doc/users/figures/aeqd.py rename to packages/basemap/doc/users/figures/aeqd.py diff --git a/doc/users/figures/aeqd_fulldisk.py b/packages/basemap/doc/users/figures/aeqd_fulldisk.py similarity index 100% rename from doc/users/figures/aeqd_fulldisk.py rename to packages/basemap/doc/users/figures/aeqd_fulldisk.py diff --git a/doc/users/figures/azeqd.py b/packages/basemap/doc/users/figures/azeqd.py similarity index 100% rename from doc/users/figures/azeqd.py rename to packages/basemap/doc/users/figures/azeqd.py diff --git a/doc/users/figures/background1.py b/packages/basemap/doc/users/figures/background1.py similarity index 100% rename from doc/users/figures/background1.py rename to packages/basemap/doc/users/figures/background1.py diff --git a/doc/users/figures/background2.py b/packages/basemap/doc/users/figures/background2.py similarity index 100% rename from doc/users/figures/background2.py rename to packages/basemap/doc/users/figures/background2.py diff --git a/doc/users/figures/background3.py b/packages/basemap/doc/users/figures/background3.py similarity index 100% rename from doc/users/figures/background3.py rename to packages/basemap/doc/users/figures/background3.py diff --git a/doc/users/figures/background4.py b/packages/basemap/doc/users/figures/background4.py similarity index 100% rename from doc/users/figures/background4.py rename to packages/basemap/doc/users/figures/background4.py diff --git a/doc/users/figures/background5.py b/packages/basemap/doc/users/figures/background5.py similarity index 100% rename from doc/users/figures/background5.py rename to packages/basemap/doc/users/figures/background5.py diff --git a/doc/users/figures/cass.py b/packages/basemap/doc/users/figures/cass.py similarity index 100% rename from doc/users/figures/cass.py rename to packages/basemap/doc/users/figures/cass.py diff --git a/doc/users/figures/cea.py b/packages/basemap/doc/users/figures/cea.py similarity index 100% rename from doc/users/figures/cea.py rename to packages/basemap/doc/users/figures/cea.py diff --git a/doc/users/figures/contour1.py b/packages/basemap/doc/users/figures/contour1.py similarity index 100% rename from doc/users/figures/contour1.py rename to packages/basemap/doc/users/figures/contour1.py diff --git a/doc/users/figures/cyl.py b/packages/basemap/doc/users/figures/cyl.py similarity index 100% rename from doc/users/figures/cyl.py rename to packages/basemap/doc/users/figures/cyl.py diff --git a/doc/users/figures/eck4.py b/packages/basemap/doc/users/figures/eck4.py similarity index 100% rename from doc/users/figures/eck4.py rename to packages/basemap/doc/users/figures/eck4.py diff --git a/doc/users/figures/eqdc.py b/packages/basemap/doc/users/figures/eqdc.py similarity index 100% rename from doc/users/figures/eqdc.py rename to packages/basemap/doc/users/figures/eqdc.py diff --git a/doc/users/figures/gall.py b/packages/basemap/doc/users/figures/gall.py similarity index 100% rename from doc/users/figures/gall.py rename to packages/basemap/doc/users/figures/gall.py diff --git a/doc/users/figures/geos_full.py b/packages/basemap/doc/users/figures/geos_full.py similarity index 100% rename from doc/users/figures/geos_full.py rename to packages/basemap/doc/users/figures/geos_full.py diff --git a/doc/users/figures/geos_partial.py b/packages/basemap/doc/users/figures/geos_partial.py similarity index 100% rename from doc/users/figures/geos_partial.py rename to packages/basemap/doc/users/figures/geos_partial.py diff --git a/doc/users/figures/gnomon.py b/packages/basemap/doc/users/figures/gnomon.py similarity index 100% rename from doc/users/figures/gnomon.py rename to packages/basemap/doc/users/figures/gnomon.py diff --git a/doc/users/figures/graticule.py b/packages/basemap/doc/users/figures/graticule.py similarity index 100% rename from doc/users/figures/graticule.py rename to packages/basemap/doc/users/figures/graticule.py diff --git a/doc/users/figures/hammer.py b/packages/basemap/doc/users/figures/hammer.py similarity index 100% rename from doc/users/figures/hammer.py rename to packages/basemap/doc/users/figures/hammer.py diff --git a/doc/users/figures/hurrtracks.py b/packages/basemap/doc/users/figures/hurrtracks.py similarity index 100% rename from doc/users/figures/hurrtracks.py rename to packages/basemap/doc/users/figures/hurrtracks.py diff --git a/doc/users/figures/kav7.py b/packages/basemap/doc/users/figures/kav7.py similarity index 100% rename from doc/users/figures/kav7.py rename to packages/basemap/doc/users/figures/kav7.py diff --git a/doc/users/figures/laea.py b/packages/basemap/doc/users/figures/laea.py similarity index 100% rename from doc/users/figures/laea.py rename to packages/basemap/doc/users/figures/laea.py diff --git a/doc/users/figures/lcc.py b/packages/basemap/doc/users/figures/lcc.py similarity index 100% rename from doc/users/figures/lcc.py rename to packages/basemap/doc/users/figures/lcc.py diff --git a/doc/users/figures/mbtfpq.py b/packages/basemap/doc/users/figures/mbtfpq.py similarity index 100% rename from doc/users/figures/mbtfpq.py rename to packages/basemap/doc/users/figures/mbtfpq.py diff --git a/doc/users/figures/merc.py b/packages/basemap/doc/users/figures/merc.py similarity index 100% rename from doc/users/figures/merc.py rename to packages/basemap/doc/users/figures/merc.py diff --git a/doc/users/figures/mill.py b/packages/basemap/doc/users/figures/mill.py similarity index 100% rename from doc/users/figures/mill.py rename to packages/basemap/doc/users/figures/mill.py diff --git a/doc/users/figures/moll.py b/packages/basemap/doc/users/figures/moll.py similarity index 100% rename from doc/users/figures/moll.py rename to packages/basemap/doc/users/figures/moll.py diff --git a/doc/users/figures/npaeqd.py b/packages/basemap/doc/users/figures/npaeqd.py similarity index 100% rename from doc/users/figures/npaeqd.py rename to packages/basemap/doc/users/figures/npaeqd.py diff --git a/doc/users/figures/nplaea.py b/packages/basemap/doc/users/figures/nplaea.py similarity index 100% rename from doc/users/figures/nplaea.py rename to packages/basemap/doc/users/figures/nplaea.py diff --git a/doc/users/figures/npstere.py b/packages/basemap/doc/users/figures/npstere.py similarity index 100% rename from doc/users/figures/npstere.py rename to packages/basemap/doc/users/figures/npstere.py diff --git a/doc/users/figures/nsper_full.py b/packages/basemap/doc/users/figures/nsper_full.py similarity index 100% rename from doc/users/figures/nsper_full.py rename to packages/basemap/doc/users/figures/nsper_full.py diff --git a/doc/users/figures/nsper_partial.py b/packages/basemap/doc/users/figures/nsper_partial.py similarity index 100% rename from doc/users/figures/nsper_partial.py rename to packages/basemap/doc/users/figures/nsper_partial.py diff --git a/doc/users/figures/omerc.py b/packages/basemap/doc/users/figures/omerc.py similarity index 100% rename from doc/users/figures/omerc.py rename to packages/basemap/doc/users/figures/omerc.py diff --git a/doc/users/figures/ortho_full.py b/packages/basemap/doc/users/figures/ortho_full.py similarity index 100% rename from doc/users/figures/ortho_full.py rename to packages/basemap/doc/users/figures/ortho_full.py diff --git a/doc/users/figures/ortho_partial.py b/packages/basemap/doc/users/figures/ortho_partial.py similarity index 100% rename from doc/users/figures/ortho_partial.py rename to packages/basemap/doc/users/figures/ortho_partial.py diff --git a/doc/users/figures/plotargo.py b/packages/basemap/doc/users/figures/plotargo.py similarity index 100% rename from doc/users/figures/plotargo.py rename to packages/basemap/doc/users/figures/plotargo.py diff --git a/doc/users/figures/plotboulder.py b/packages/basemap/doc/users/figures/plotboulder.py similarity index 100% rename from doc/users/figures/plotboulder.py rename to packages/basemap/doc/users/figures/plotboulder.py diff --git a/doc/users/figures/plotdaynight.py b/packages/basemap/doc/users/figures/plotdaynight.py similarity index 100% rename from doc/users/figures/plotdaynight.py rename to packages/basemap/doc/users/figures/plotdaynight.py diff --git a/doc/users/figures/plotetopo5.py b/packages/basemap/doc/users/figures/plotetopo5.py similarity index 100% rename from doc/users/figures/plotetopo5.py rename to packages/basemap/doc/users/figures/plotetopo5.py diff --git a/doc/users/figures/plotgreatcircle.py b/packages/basemap/doc/users/figures/plotgreatcircle.py similarity index 100% rename from doc/users/figures/plotgreatcircle.py rename to packages/basemap/doc/users/figures/plotgreatcircle.py diff --git a/doc/users/figures/plothighsandlows.py b/packages/basemap/doc/users/figures/plothighsandlows.py similarity index 100% rename from doc/users/figures/plothighsandlows.py rename to packages/basemap/doc/users/figures/plothighsandlows.py diff --git a/doc/users/figures/plotprecip.py b/packages/basemap/doc/users/figures/plotprecip.py similarity index 100% rename from doc/users/figures/plotprecip.py rename to packages/basemap/doc/users/figures/plotprecip.py diff --git a/doc/users/figures/plotsst.py b/packages/basemap/doc/users/figures/plotsst.py similarity index 100% rename from doc/users/figures/plotsst.py rename to packages/basemap/doc/users/figures/plotsst.py diff --git a/doc/users/figures/plotwindvec.py b/packages/basemap/doc/users/figures/plotwindvec.py similarity index 100% rename from doc/users/figures/plotwindvec.py rename to packages/basemap/doc/users/figures/plotwindvec.py diff --git a/doc/users/figures/poly.py b/packages/basemap/doc/users/figures/poly.py similarity index 100% rename from doc/users/figures/poly.py rename to packages/basemap/doc/users/figures/poly.py diff --git a/doc/users/figures/robin.py b/packages/basemap/doc/users/figures/robin.py similarity index 100% rename from doc/users/figures/robin.py rename to packages/basemap/doc/users/figures/robin.py diff --git a/doc/users/figures/sinu.py b/packages/basemap/doc/users/figures/sinu.py similarity index 100% rename from doc/users/figures/sinu.py rename to packages/basemap/doc/users/figures/sinu.py diff --git a/doc/users/figures/spaeqd.py b/packages/basemap/doc/users/figures/spaeqd.py similarity index 100% rename from doc/users/figures/spaeqd.py rename to packages/basemap/doc/users/figures/spaeqd.py diff --git a/doc/users/figures/splaea.py b/packages/basemap/doc/users/figures/splaea.py similarity index 100% rename from doc/users/figures/splaea.py rename to packages/basemap/doc/users/figures/splaea.py diff --git a/doc/users/figures/spstere.py b/packages/basemap/doc/users/figures/spstere.py similarity index 100% rename from doc/users/figures/spstere.py rename to packages/basemap/doc/users/figures/spstere.py diff --git a/doc/users/figures/stere.py b/packages/basemap/doc/users/figures/stere.py similarity index 100% rename from doc/users/figures/stere.py rename to packages/basemap/doc/users/figures/stere.py diff --git a/doc/users/figures/tmerc.py b/packages/basemap/doc/users/figures/tmerc.py similarity index 100% rename from doc/users/figures/tmerc.py rename to packages/basemap/doc/users/figures/tmerc.py diff --git a/doc/users/figures/vandg.py b/packages/basemap/doc/users/figures/vandg.py similarity index 100% rename from doc/users/figures/vandg.py rename to packages/basemap/doc/users/figures/vandg.py diff --git a/doc/users/gall.rst b/packages/basemap/doc/users/gall.rst similarity index 100% rename from doc/users/gall.rst rename to packages/basemap/doc/users/gall.rst diff --git a/doc/users/geography.rst b/packages/basemap/doc/users/geography.rst similarity index 100% rename from doc/users/geography.rst rename to packages/basemap/doc/users/geography.rst diff --git a/doc/users/geos.rst b/packages/basemap/doc/users/geos.rst similarity index 100% rename from doc/users/geos.rst rename to packages/basemap/doc/users/geos.rst diff --git a/doc/users/gnomon.rst b/packages/basemap/doc/users/gnomon.rst similarity index 100% rename from doc/users/gnomon.rst rename to packages/basemap/doc/users/gnomon.rst diff --git a/doc/users/graticule.rst b/packages/basemap/doc/users/graticule.rst similarity index 100% rename from doc/users/graticule.rst rename to packages/basemap/doc/users/graticule.rst diff --git a/doc/users/hammer.rst b/packages/basemap/doc/users/hammer.rst similarity index 100% rename from doc/users/hammer.rst rename to packages/basemap/doc/users/hammer.rst diff --git a/doc/users/index.rst b/packages/basemap/doc/users/index.rst similarity index 100% rename from doc/users/index.rst rename to packages/basemap/doc/users/index.rst diff --git a/doc/users/installing.rst b/packages/basemap/doc/users/installing.rst similarity index 100% rename from doc/users/installing.rst rename to packages/basemap/doc/users/installing.rst diff --git a/doc/users/intro.rst b/packages/basemap/doc/users/intro.rst similarity index 100% rename from doc/users/intro.rst rename to packages/basemap/doc/users/intro.rst diff --git a/doc/users/kav7.rst b/packages/basemap/doc/users/kav7.rst similarity index 100% rename from doc/users/kav7.rst rename to packages/basemap/doc/users/kav7.rst diff --git a/doc/users/laea.rst b/packages/basemap/doc/users/laea.rst similarity index 100% rename from doc/users/laea.rst rename to packages/basemap/doc/users/laea.rst diff --git a/doc/users/lcc.rst b/packages/basemap/doc/users/lcc.rst similarity index 100% rename from doc/users/lcc.rst rename to packages/basemap/doc/users/lcc.rst diff --git a/doc/users/mapcoords.rst b/packages/basemap/doc/users/mapcoords.rst similarity index 100% rename from doc/users/mapcoords.rst rename to packages/basemap/doc/users/mapcoords.rst diff --git a/doc/users/mapsetup.rst b/packages/basemap/doc/users/mapsetup.rst similarity index 100% rename from doc/users/mapsetup.rst rename to packages/basemap/doc/users/mapsetup.rst diff --git a/doc/users/mbtfpq.rst b/packages/basemap/doc/users/mbtfpq.rst similarity index 100% rename from doc/users/mbtfpq.rst rename to packages/basemap/doc/users/mbtfpq.rst diff --git a/doc/users/merc.rst b/packages/basemap/doc/users/merc.rst similarity index 100% rename from doc/users/merc.rst rename to packages/basemap/doc/users/merc.rst diff --git a/doc/users/mill.rst b/packages/basemap/doc/users/mill.rst similarity index 100% rename from doc/users/mill.rst rename to packages/basemap/doc/users/mill.rst diff --git a/doc/users/moll.rst b/packages/basemap/doc/users/moll.rst similarity index 100% rename from doc/users/moll.rst rename to packages/basemap/doc/users/moll.rst diff --git a/doc/users/nsper.rst b/packages/basemap/doc/users/nsper.rst similarity index 100% rename from doc/users/nsper.rst rename to packages/basemap/doc/users/nsper.rst diff --git a/doc/users/omerc.rst b/packages/basemap/doc/users/omerc.rst similarity index 100% rename from doc/users/omerc.rst rename to packages/basemap/doc/users/omerc.rst diff --git a/doc/users/ortho.rst b/packages/basemap/doc/users/ortho.rst similarity index 100% rename from doc/users/ortho.rst rename to packages/basemap/doc/users/ortho.rst diff --git a/doc/users/paeqd.rst b/packages/basemap/doc/users/paeqd.rst similarity index 100% rename from doc/users/paeqd.rst rename to packages/basemap/doc/users/paeqd.rst diff --git a/doc/users/plaea.rst b/packages/basemap/doc/users/plaea.rst similarity index 100% rename from doc/users/plaea.rst rename to packages/basemap/doc/users/plaea.rst diff --git a/doc/users/poly.rst b/packages/basemap/doc/users/poly.rst similarity index 100% rename from doc/users/poly.rst rename to packages/basemap/doc/users/poly.rst diff --git a/doc/users/pstere.rst b/packages/basemap/doc/users/pstere.rst similarity index 100% rename from doc/users/pstere.rst rename to packages/basemap/doc/users/pstere.rst diff --git a/doc/users/robin.rst b/packages/basemap/doc/users/robin.rst similarity index 100% rename from doc/users/robin.rst rename to packages/basemap/doc/users/robin.rst diff --git a/doc/users/sinu.rst b/packages/basemap/doc/users/sinu.rst similarity index 100% rename from doc/users/sinu.rst rename to packages/basemap/doc/users/sinu.rst diff --git a/doc/users/stere.rst b/packages/basemap/doc/users/stere.rst similarity index 100% rename from doc/users/stere.rst rename to packages/basemap/doc/users/stere.rst diff --git a/doc/users/tmerc.rst b/packages/basemap/doc/users/tmerc.rst similarity index 100% rename from doc/users/tmerc.rst rename to packages/basemap/doc/users/tmerc.rst diff --git a/doc/users/vandg.rst b/packages/basemap/doc/users/vandg.rst similarity index 100% rename from doc/users/vandg.rst rename to packages/basemap/doc/users/vandg.rst diff --git a/packages/basemap/requirements-dev.txt b/packages/basemap/requirements-dev.txt index ee5df4a6c..cd160ceae 100644 --- a/packages/basemap/requirements-dev.txt +++ b/packages/basemap/requirements-dev.txt @@ -10,14 +10,15 @@ astroid >= 2.4, < 3.0; python_version >= "3.5" pylint >= 1.9, < 2.0; python_version == "2.7" pylint >= 2.6, < 3.0; python_version >= "3.5" -unittest2 +unittest2; python_version >= "3.10" pytest >= 3.2, < 3.3; python_version == "2.6" pytest >= 3.2, < 5.0; python_version == "2.7" pytest >= 2.9, < 3.0; python_version == "3.2" pytest >= 3.2, < 3.3; python_version == "3.3" pytest >= 3.2, < 5.0; python_version == "3.4" -pytest >= 3.2, < 6.3; python_version >= "3.5" +pytest >= 3.2, < 6.3; python_version == "3.5" +pytest >= 6.2.5, < 6.3; python_version >= "3.6" coverage >= 3.7, < 4.0; python_version == "3.2" pytest-cov >= 2.5, < 2.6; python_version == "2.6" diff --git a/packages/basemap/requirements.txt b/packages/basemap/requirements.txt index 3ba8edd6d..33fc2a0bb 100644 --- a/packages/basemap/requirements.txt +++ b/packages/basemap/requirements.txt @@ -7,7 +7,12 @@ numpy >= 1.16, < 1.17; python_version == "2.7" numpy >= 1.11, < 1.12; python_version == "3.2" numpy >= 1.11, < 1.12; python_version == "3.3" numpy >= 1.11, < 1.17; python_version == "3.4" -numpy >= 1.16, < 1.22; python_version >= "3.5" +numpy >= 1.16, < 1.19; python_version == "3.5" +numpy >= 1.16, < 1.20; python_version == "3.6" +numpy >= 1.19, < 1.22; python_version == "3.7" +numpy >= 1.19, < 1.23; python_version == "3.8" +numpy >= 1.19, < 1.23; python_version == "3.9" +numpy >= 1.21, < 1.23; python_version >= "3.10" cycler < 0.11; python_version == "3.2" pyparsing >= 1.5, < 2.4.1; python_version == "2.6" @@ -17,7 +22,7 @@ matplotlib >= 1.5, < 3.0; python_version == "2.7" matplotlib >= 1.5, < 2.0; python_version == "3.2" matplotlib >= 1.5, < 2.0; python_version == "3.3" matplotlib >= 1.5, < 3.0; python_version == "3.4" -matplotlib >= 1.5, < 3.5; python_version >= "3.5" +matplotlib >= 1.5, < 3.6; python_version >= "3.5" pyproj >= 1.9.3, < 2.1.0; python_version == "2.6" pyproj >= 1.9.3, < 2.3.0; python_version == "2.7" diff --git a/packages/basemap/setup.py b/packages/basemap/setup.py index 03d36c27f..c4b6f4697 100644 --- a/packages/basemap/setup.py +++ b/packages/basemap/setup.py @@ -170,7 +170,7 @@ def _default_to_zip(self): "name": "basemap", "version": - "1.3.0", + "1.3.1", "license": "MIT", "description": diff --git a/packages/basemap/src/mpl_toolkits/basemap/__init__.py b/packages/basemap/src/mpl_toolkits/basemap/__init__.py index ccf8e0b41..af999757e 100644 --- a/packages/basemap/src/mpl_toolkits/basemap/__init__.py +++ b/packages/basemap/src/mpl_toolkits/basemap/__init__.py @@ -64,7 +64,7 @@ from mpl_toolkits import basemap_data basemap_datadir = os.path.abspath(list(basemap_data.__path__)[0]) -__version__ = '1.3.0' +__version__ = "1.3.1" # module variable that sets the default value for the 'latlon' kwarg. # can be set to True by user so plotting functions can take lons,lats @@ -1223,11 +1223,10 @@ def _readboundarydata(self,name,as_polygons=False): read boundary data, clip to map projection region. """ msg = dedent(""" - Unable to open boundary dataset file. Only the 'crude', 'low', - 'intermediate' and 'high' resolution datasets are installed by default. - If you are requesting a 'full' resolution dataset, you may need to - download and install those files separately - (see the basemap README for details).""") + Unable to open boundary dataset file. Only the 'crude', 'low' and + 'intermediate' resolution datasets are installed by default. If you + are requesting a 'high' or 'full' resolution dataset, you need to + install the `basemap-data-hires` package.""") # only gshhs coastlines can be polygons. if name != 'gshhs': as_polygons=False try: diff --git a/packages/basemap/src/mpl_toolkits/basemap/proj.py b/packages/basemap/src/mpl_toolkits/basemap/proj.py index f6c2d1f19..dc2c62abf 100644 --- a/packages/basemap/src/mpl_toolkits/basemap/proj.py +++ b/packages/basemap/src/mpl_toolkits/basemap/proj.py @@ -10,7 +10,7 @@ # as textwrap.dedent. from matplotlib.cbook import dedent -__version__ = '1.3.0' +__version__ = "1.3.1" _dg2rad = math.radians(1.) _rad2dg = math.degrees(1.)