[Git][debian-gis-team/python-pyproj][upstream] New upstream version 3.7.2~rc0
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Mon Aug 11 05:21:51 BST 2025
Bas Couwenberg pushed to branch upstream at Debian GIS Project / python-pyproj
Commits:
409f8ec1 by Bas Couwenberg at 2025-08-11T05:49:43+02:00
New upstream version 3.7.2~rc0
- - - - -
26 changed files:
- .github/workflows/release.yaml
- .github/workflows/tests.yaml
- − .isort.cfg
- .pre-commit-config.yaml
- − .stickler.yml
- CONTRIBUTING.md
- README.md
- docs/history.rst
- docs/index.rst
- docs/installation.rst
- docs/past_versions.rst
- pyproj/__init__.py
- pyproj/_crs.pyx
- pyproj/crs/__init__.py
- pyproj/crs/crs.py
- pyproj/geod.py
- pyproj/transformer.py
- pyproject.toml
- requirements-dev.txt
- setup.py
- test/conftest.py
- test/crs/test_crs.py
- test/test_awips221.py
- test/test_doctest_wrapper.py
- test/test_pickle.py
- test/test_transformer.py
Changes:
=====================================
.github/workflows/release.yaml
=====================================
@@ -84,6 +84,12 @@ jobs:
triplet: "x86-windows"
vcpkg_cache: "c:\\vcpkg\\installed"
vcpkg_logs: "c:\\vcpkg\\buildtrees\\**\\*.log"
+ - os: "windows-11-arm"
+ arch: "ARM64"
+ triplet: "arm64-windows"
+ vcpkg_cache: "c:\\vcpkg\\installed"
+ vcpkg_logs: "c:\\vcpkg\\buildtrees\\**\\*.log"
+ msvc_arch: ARM64
steps:
- uses: actions/checkout at v4
@@ -96,6 +102,12 @@ jobs:
with:
architecture: 'x86'
+ - name: Activate MSVC
+ uses: ilammy/msvc-dev-cmd at v1.13.0
+ with:
+ arch: ${{ matrix.msvc_arch }}
+ if: ${{ matrix.msvc_arch }}
+
- name: Cache vcpkg
if: contains(matrix.os, 'windows')
uses: actions/cache at v4
@@ -125,9 +137,9 @@ jobs:
cp "$VCPKG_INSTALLATION_ROOT/installed/${{ matrix.triplet }}/share/proj/"* ${GITHUB_WORKSPACE}/pyproj/proj_dir/share/proj/
- name: Build wheels
- uses: pypa/cibuildwheel at v2.22
+ uses: pypa/cibuildwheel at v3.1.3
env:
- CIBW_SKIP: "pp*-win* pp31*"
+ CIBW_ENABLE: cpython-freethreading
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_ENVIRONMENT_LINUX:
PROJ_WHEEL=true
@@ -180,32 +192,8 @@ jobs:
- uses: actions/download-artifact at v4
continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
with:
- name: wheels-ubuntu-22.04-x86_64
- path: dist
- - uses: actions/download-artifact at v4
- continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
- with:
- name: wheels-ubuntu-22.04-arm-aarch64
- path: dist
- - uses: actions/download-artifact at v4
- continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
- with:
- name: wheels-macos-13-x86_64
- path: dist
- - uses: actions/download-artifact at v4
- continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
- with:
- name: wheels-macos-14-arm64
- path: dist
- - uses: actions/download-artifact at v4
- continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
- with:
- name: wheels-windows-2022-auto64
- path: dist
- - uses: actions/download-artifact at v4
- continue-on-error: ${{ github.event_name == 'push' && github.ref_type != 'tag' }}
- with:
- name: wheels-windows-2022-auto32
+ pattern: wheels-*
+ merge-multiple: true
path: dist
- name: Upload Wheels to PyPI
@@ -221,7 +209,7 @@ jobs:
- name: Upload Nightly Wheelsref
if : ${{ github.ref_type == 'branch' && github.ref_name == 'main' }}
- uses: scientific-python/upload-nightly-action at 82396a2ed4269ba06c6b2988bb4fd568ef3c3d6b
+ uses: scientific-python/upload-nightly-action at b36e8c0c10dbcfd2e05bf95f17ef8c14fd708dbf
with:
artifacts_path: dist
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}
=====================================
.github/workflows/tests.yaml
=====================================
@@ -23,7 +23,7 @@ jobs:
- uses: actions/checkout at v4
- uses: actions/setup-python at v5
with:
- python-version: '3.10'
+ python-version: '3.11'
- uses: pre-commit/action at v3.0.1
- name: Install mypy
run: |
@@ -40,13 +40,13 @@ jobs:
strategy:
fail-fast: false
matrix:
- python-version: ['3.10', '3.11', '3.12']
- proj-version: ['9.4.0']
+ python-version: ['3.11', '3.12', '3.13']
+ proj-version: ['9.6.0']
include:
- - python-version: '3.10'
- proj-version: '9.3.1'
- - python-version: '3.10'
- proj-version: '9.2.1'
+ - python-version: '3.11'
+ proj-version: '9.5.1'
+ - python-version: '3.11'
+ proj-version: '9.4.1'
steps:
- uses: actions/checkout at v4
@@ -104,10 +104,10 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
- python-version: ['3.10', '3.11', '3.12']
+ python-version: ['3.11', '3.12', '3.13']
python-implementation: [python]
proj-version: ['*']
- # DISABLED UNTIL CONDA-FORGE PYPY SUPPORTS PYTHON 3.10+
+ # DISABLED UNTIL CONDA-FORGE PYPY SUPPORTS PYTHON 3.11+
# include:
# - os: ubuntu-latest
# python-version: '*'
=====================================
.isort.cfg deleted
=====================================
@@ -1,3 +0,0 @@
-[settings]
-known_first_party=pyproj,test
-profile=black
=====================================
.pre-commit-config.yaml
=====================================
@@ -1,5 +1,5 @@
default_language_version:
- python: python3.10
+ python: python3.11
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
@@ -8,15 +8,6 @@ repos:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- - repo: https://github.com/psf/black-pre-commit-mirror
- rev: 24.2.0
- hooks:
- - id: black
- - repo: https://github.com/pycqa/isort
- rev: 5.13.2
- hooks:
- - id: isort
- args: [setup.py, pyproj/, test/, docs/]
- repo: https://github.com/asottile/blacken-docs
rev: 1.16.0
hooks:
@@ -38,6 +29,7 @@ repos:
hooks:
- id: codespell
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.7.1
+ rev: v0.11.10
hooks:
- - id: ruff
+ - id: ruff-check
+ - id: ruff-format
=====================================
.stickler.yml deleted
=====================================
@@ -1,6 +0,0 @@
-linters:
- black:
- config: ./pyproject.toml
- flake8:
- python: 3
- max-line-length: 88
=====================================
CONTRIBUTING.md
=====================================
@@ -167,10 +167,10 @@ There are plenty of more advanced testing concepts, like dealing with floating p
comparisons, parameterizing tests, testing that exceptions are raised, and more. Have a look at the existing tests to get an idea of some of the common patterns.
## Code Style
-pyproj uses the Python code style outlined in [PEP8](https://pep8.org) and [black](https://github.com/python/black).
+pyproj uses the Python code style outlined in [PEP8](https://pep8.org) and by [the Ruff formatter](https://docs.astral.sh/ruff/formatter/).
We enforce this style as code is added to keep everything clean and uniform. To this end, part of the automated testing for pyproj checks style. To check style
-locally within the source directory you can use the ``flake8`` and ``black`` tools. Running it from the root of the source directory is as easy as running ``pre-commit run --all`` in the base of the repository.
+locally within the source directory you can use the ``flake8`` and ``ruff format`` tools. Running it from the root of the source directory is as easy as running ``pre-commit run --all`` in the base of the repository.
You can also just submit your PR and the kind robots will comment on all style violations as well. It can be a pain to make sure you have the right number of spaces around things, imports in order, and all of the other nits that the bots will find. It is very important though as this consistent style helps us keep pyproj readable, maintainable, and uniform.
@@ -192,7 +192,7 @@ Some things that will increase the chance that your pull request is accepted qui
* Write tests.
* Follow [PEP8](https://pep8.org) for style. (The `flake8` utility can help with this.)
-* Use [black](https://github.com/python/black)
+* Use [ruff format](https://docs.astral.sh/ruff/formatter/)
* Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) and consider using commit [conventions](https://www.conventionalcommits.org/).
Pull requests will automatically have tests run by Travis. This includes
=====================================
README.md
=====================================
@@ -11,7 +11,6 @@ Python interface to [PROJ](http://proj.org) (cartographic projections and coordi
<a href="https://badge.fury.io/py/pyproj"><img alt="PyPI" src="https://badge.fury.io/py/pyproj.svg"></a>
<a href="https://pepy.tech/project/pyproj"><img alt="Downloads" src="https://pepy.tech/badge/pyproj"></a>
<a href="https://anaconda.org/conda-forge/pyproj"><img alt="Anaconda-Server Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg"></a>
-<a href="https://github.com/python/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://github.com/pre-commit/pre-commit"><img alt="pre-commit" src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white"></a>
<a href="https://zenodo.org/badge/latestdoi/28607354"><img alt="DOI" src="https://zenodo.org/badge/28607354.svg"></a>
</p>
=====================================
docs/history.rst
=====================================
@@ -1,6 +1,15 @@
Change Log
==========
+3.7.2
+-----
+- DEP: Minimum PROJ version 9.4 (pull #1481)
+- DEP: Minimum supported Python version 3.11 (pull #1483)
+- MNT: Add CRS imports to __all__
+- DEP: Add win_arm64 wheels
+- DEP: Add Python 3.13 free-threading wheels
+- DEP: Add Python 3.14 and 3.14 free-threading wheels
+
3.7.1
------
- WHL: Add wheels for musllinux (pull #1461)
=====================================
docs/index.rst
=====================================
@@ -5,9 +5,9 @@ Python interface to `PROJ <https://proj.org/>`_ (cartographic projections and c
GitHub Repository: https://github.com/pyproj4/pyproj
-.. note:: Minimum supported PROJ version is 9.2
+.. note:: Minimum supported PROJ version is 9.4
-.. note:: Minimum supported Python version is 3.10
+.. note:: Minimum supported Python version is 3.11
.. note:: Linux (manylinux2014) wheels require pip 19.3+
=====================================
docs/installation.rst
=====================================
@@ -83,6 +83,7 @@ pyproj PROJ
3.4+ 8.2+
3.5+ 9+
3.7+ 9.2+
+3.8+ 9.4+
============ ============
Setup PROJ
=====================================
docs/past_versions.rst
=====================================
@@ -1,7 +1,7 @@
Documentation Archive
=====================
-- `3.7.0 <https://pyproj4.github.io/pyproj/3.7.0/>`_
+- `3.7.1 <https://pyproj4.github.io/pyproj/3.7.1/>`_
- `3.6.1 <https://pyproj4.github.io/pyproj/3.6.1/>`_
- `3.5.0 <https://pyproj4.github.io/pyproj/3.5.0/>`_
- `3.4.1 <https://pyproj4.github.io/pyproj/3.4.1/>`_
=====================================
pyproj/__init__.py
=====================================
@@ -71,21 +71,21 @@ from pyproj.transformer import ( # noqa: F401 pylint: disable=unused-import
transform,
)
-__version__ = "3.7.1"
+__version__ = "3.7.2rc0"
__all__ = [
- "Proj",
- "Geod",
"CRS",
+ "Geod",
+ "Proj",
"Transformer",
- "transform",
- "itransform",
- "pj_ellps",
- "pj_list",
"get_ellps_map",
"get_prime_meridians_map",
"get_proj_operations_map",
"get_units_map",
+ "itransform",
+ "pj_ellps",
+ "pj_list",
"show_versions",
+ "transform",
]
__proj_version__ = PROJ_VERSION_STR
proj_version_str = PROJ_VERSION_STR # pylint: disable=invalid-name
=====================================
pyproj/_crs.pyx
=====================================
@@ -2699,7 +2699,7 @@ cdef class _CRS(Base):
.. warning:: You will likely lose important projection
information when converting to a PROJ string from
another format. See:
- https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems # noqa: E501
+ https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
Parameters
----------
@@ -2709,7 +2709,7 @@ cdef class _CRS(Base):
Returns
-------
str
- """
+ """ # noqa: E501
warnings.warn(
"You will likely lose important projection information when "
"converting to a PROJ string from another format. See: "
=====================================
pyproj/crs/__init__.py
=====================================
@@ -13,7 +13,7 @@ from pyproj._crs import ( # noqa: F401 pylint: disable=unused-import
is_proj,
is_wkt,
)
-from pyproj.crs.crs import ( # noqa: F401 pylint: disable=unused-import
+from pyproj.crs.crs import (
CRS,
BoundCRS,
CompoundCRS,
@@ -25,3 +25,17 @@ from pyproj.crs.crs import ( # noqa: F401 pylint: disable=unused-import
VerticalCRS,
)
from pyproj.exceptions import CRSError # noqa: F401 pylint: disable=unused-import
+
+__all__ = [
+ "CRS",
+ "BoundCRS",
+ "CompoundCRS",
+ "CustomConstructorCRS",
+ "DerivedGeographicCRS",
+ "GeocentricCRS",
+ "GeographicCRS",
+ "ProjectedCRS",
+ "VerticalCRS",
+ "is_proj",
+ "is_wkt",
+]
=====================================
pyproj/crs/crs.py
=====================================
@@ -172,15 +172,15 @@ class CRS:
The functionality is based on other fantastic projects:
- * `rasterio <https://github.com/mapbox/rasterio/blob/c13f0943b95c0eaa36ff3f620bd91107aa67b381/rasterio/_crs.pyx>`_ # noqa: E501
- * `opendatacube <https://github.com/opendatacube/datacube-core/blob/83bae20d2a2469a6417097168fd4ede37fd2abe5/datacube/utils/geometry/_base.py>`_ # noqa: E501
+ * `rasterio <https://github.com/mapbox/rasterio/blob/c13f0943b95c0eaa36ff3f620bd91107aa67b381/rasterio/_crs.pyx>`_
+ * `opendatacube <https://github.com/opendatacube/datacube-core/blob/83bae20d2a2469a6417097168fd4ede37fd2abe5/datacube/utils/geometry/_base.py>`_
Attributes
----------
srs: str
The string form of the user input used to create the CRS.
- """
+ """ # noqa: E501
def __init__(self, projparams: Any | None = None, **kwargs) -> None:
"""
@@ -579,14 +579,14 @@ class CRS:
.. warning:: You will likely lose important projection
information when converting to a PROJ string from
- another format. See: https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems # noqa: E501
+ another format. See: https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
Returns
-------
dict:
PROJ params in dict format.
- """
+ """ # noqa: E501
proj_string = self.to_proj4()
if proj_string is None:
@@ -1280,7 +1280,7 @@ class CRS:
.. warning:: You will likely lose important projection
information when converting to a PROJ string from
another format. See:
- https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems # noqa: E501
+ https://proj.org/faq.html#what-is-the-best-format-for-describing-coordinate-reference-systems
Parameters
----------
@@ -1291,7 +1291,7 @@ class CRS:
Returns
-------
str
- """
+ """ # noqa: E501
proj = self._crs.to_proj4(version=version)
if proj is None:
raise CRSError("CRS cannot be converted to a PROJ string.")
=====================================
pyproj/geod.py
=====================================
@@ -10,10 +10,10 @@ latitudes and longitudes of an initial and terminus point.
__all__ = [
"Geod",
- "pj_ellps",
- "geodesic_version_str",
"GeodIntermediateFlag",
"GeodIntermediateReturn",
+ "geodesic_version_str",
+ "pj_ellps",
"reverse_azimuth",
]
@@ -1031,6 +1031,10 @@ class Geod(_Geod):
.. note:: lats should be in the range [-90 deg, 90 deg].
+ .. note:: | There are a few limitations :
+ | - only works with areas up to half the size of the globe ;
+ | - certain large polygons may return negative values.
+
.. warning:: The area returned is signed with counter-clockwise (CCW) traversal
being treated as positive. For polygons, holes should use the
opposite traversal to the exterior (if the exterior is CCW, the
=====================================
pyproj/transformer.py
=====================================
@@ -3,11 +3,11 @@ The transformer module is for performing cartographic transformations.
"""
__all__ = [
- "transform",
- "itransform",
+ "AreaOfInterest",
"Transformer",
"TransformerGroup",
- "AreaOfInterest",
+ "itransform",
+ "transform",
]
import threading
import warnings
@@ -329,8 +329,7 @@ class Transformer:
if not isinstance(transformer_maker, TransformerMaker):
_clear_proj_error()
raise ProjError(
- "Transformer must be initialized using: "
- "'from_crs' or 'from_pipeline'."
+ "Transformer must be initialized using: 'from_crs' or 'from_pipeline'."
)
self._local = TransformerLocal()
=====================================
pyproject.toml
=====================================
@@ -1,5 +1,5 @@
[build-system]
-requires = ["setuptools>=61.0.0", "wheel", "cython>=3"]
+requires = ["setuptools>=61.0.0", "wheel", "cython>=3.1"]
build-backend = "setuptools.build_meta"
[project]
@@ -13,7 +13,8 @@ authors = [
maintainers = [
{name = "pyproj contributors"},
]
-license = {text = "MIT"}
+license = "MIT"
+license-files = ["LICENSE", "LICENSE_proj"]
keywords = [
"GIS",
"map",
@@ -26,20 +27,20 @@ keywords = [
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
- "License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
- "Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
+ "Programming Language :: Python :: Free Threading :: 2 - Beta",
]
-requires-python = ">=3.10"
+requires-python = ">=3.11"
dependencies = [
"certifi",
]
@@ -62,12 +63,8 @@ include = ["pyproj", "pyproj.*"]
[tool.setuptools.dynamic]
version = {attr = "pyproj.__version__"}
-[tool.black]
-target_version = ["py310"]
-
[tool.ruff]
line-length = 88
-target-version = "py310"
fix = true
[tool.ruff.lint]
@@ -78,6 +75,8 @@ select = [
"F",
# pycodestyle
"E", "W",
+ # isort
+ "I",
# flake8-2020
"YTT",
# flake8-bugbear
@@ -101,7 +100,7 @@ select = [
# implicit string concatenation
"ISC",
# type-checking imports
- "TCH",
+ "TC",
# comprehensions
"C4",
# pygrep-hooks
@@ -147,7 +146,7 @@ ignore = [
# Rename unused
"B007",
# Move standard library import into a type-checking block
- "TCH003",
+ "TC003",
# Consider f-string instead of string join
"FLY002",
# Use a list comprehension to create a transformed list
@@ -157,6 +156,6 @@ ignore = [
[tool.mypy]
files = ["pyproj"]
-python_version = "3.10"
+python_version = "3.11"
ignore_errors = false
enable_error_code = "ignore-without-code"
=====================================
requirements-dev.txt
=====================================
@@ -1,4 +1,5 @@
cython>=0.28.4
mypy
-types-certifi
pre-commit
+ruff
+types-certifi
=====================================
setup.py
=====================================
@@ -8,7 +8,7 @@ from pathlib import Path
from setuptools import Extension, setup
-PROJ_MIN_VERSION = (9, 2, 0)
+PROJ_MIN_VERSION = (9, 4, 0)
CURRENT_FILE_PATH = Path(__file__).absolute().parent
BASE_INTERNAL_PROJ_DIR = Path("proj_dir")
INTERNAL_PROJ_DIR = CURRENT_FILE_PATH / "pyproj" / BASE_INTERNAL_PROJ_DIR
@@ -142,6 +142,7 @@ def get_cythonize_options():
"c_string_type": "str",
"c_string_encoding": "utf-8",
"embedsignature": True,
+ "freethreading_compatible": True,
},
}
if os.environ.get("PYPROJ_FULL_COVERAGE"):
=====================================
test/conftest.py
=====================================
@@ -12,8 +12,6 @@ from pyproj.datadir import get_data_dir, get_user_data_dir, set_data_dir
_NETWORK_ENABLED = pyproj.network.is_network_enabled()
PROJ_LOOSE_VERSION = version.parse(pyproj.__proj_version__)
-PROJ_GTE_921 = PROJ_LOOSE_VERSION >= version.parse("9.2.1")
-PROJ_GTE_93 = PROJ_LOOSE_VERSION >= version.parse("9.3.0")
PROJ_GTE_941 = PROJ_LOOSE_VERSION >= version.parse("9.4.1")
PROJ_GTE_95 = PROJ_LOOSE_VERSION >= version.parse("9.5.0")
=====================================
test/crs/test_crs.py
=====================================
@@ -20,7 +20,7 @@ from pyproj.crs.enums import CoordinateOperationType, DatumType
from pyproj.enums import ProjVersion, WktVersion
from pyproj.exceptions import CRSError
from pyproj.transformer import TransformerGroup
-from test.conftest import PROJ_GTE_921, PROJ_GTE_941, assert_can_pickle, grids_available
+from test.conftest import PROJ_GTE_941, assert_can_pickle, grids_available
class CustomCRS:
@@ -427,10 +427,10 @@ def test_datum_unknown():
"+k=1 +x_0=0 +y_0=0 +gamma=0 +ellps=WGS84 "
"+towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
)
- datum_name = "Unknown based on WGS84 ellipsoid"
- if PROJ_GTE_921:
- datum_name = "Unknown based on WGS 84 ellipsoid"
- assert crs.datum.name == f"{datum_name} using towgs84=0,0,0,0,0,0,0"
+ assert (
+ crs.datum.name
+ == "Unknown based on WGS 84 ellipsoid using towgs84=0,0,0,0,0,0,0"
+ )
def test_epsg__not_found():
=====================================
test/test_awips221.py
=====================================
@@ -1,15 +1,11 @@
import array
+from time import perf_counter
import numpy
from numpy.testing import assert_allclose
from pyproj import Proj, __proj_version__
-try:
- from time import perf_counter
-except ImportError:
- from time import clock as perf_counter
-
def test_awips221():
params = {}
=====================================
test/test_doctest_wrapper.py
=====================================
@@ -33,9 +33,9 @@ def test_doctests():
expected_failure_count = 6
# if the below line fails, doctests have failed
- assert (
- failure_count == expected_failure_count
- ), f"{failure_count} of the doctests failed"
+ assert failure_count == expected_failure_count, (
+ f"{failure_count} of the doctests failed"
+ )
@pytest.mark.network
=====================================
test/test_pickle.py
=====================================
@@ -5,17 +5,13 @@ import pickle
import shutil
import tempfile
from contextlib import contextmanager
+from time import perf_counter
import numpy
from numpy.testing import assert_allclose
from pyproj import Proj
-try:
- from time import perf_counter
-except ImportError:
- from time import clock as perf_counter
-
@contextmanager
def temporary_directory():
=====================================
test/test_transformer.py
=====================================
@@ -18,7 +18,7 @@ from pyproj.datadir import append_data_dir
from pyproj.enums import TransformDirection
from pyproj.exceptions import ProjError
from pyproj.transformer import AreaOfInterest, TransformerGroup
-from test.conftest import PROJ_GTE_93, grids_available, proj_env, proj_network_env
+from test.conftest import grids_available, proj_env, proj_network_env
def test_tranform_wgs84_to_custom():
@@ -535,14 +535,6 @@ def test_repr__conditional():
"Description: unavailable until proj_trans is called\n"
"Area of Use:\n- undefined"
)
- elif not PROJ_GTE_93:
- assert trans_repr == (
- "<Unknown Transformer: noop>\n"
- "Description: Transformation from EGM2008 height to WGS 84 "
- "(ballpark vertical transformation, without ellipsoid height "
- "to vertical height correction)\n"
- "Area of Use:\n- undefined"
- )
else:
assert trans_repr == (
"<Other Coordinate Operation Transformer: noop>\n"
@@ -600,8 +592,7 @@ def test_transformer__operations__scope_remarks():
assert transformer.scope is None
assert [op.scope for op in transformer.operations] == [
"Engineering survey, topographic mapping.",
- "Transformation of GDA94 coordinates that have been derived "
- "through GNSS CORS.",
+ "Transformation of GDA94 coordinates that have been derived through GNSS CORS.",
"Engineering survey, topographic mapping.",
]
assert [str(op.remarks)[:5].strip() for op in transformer.operations] == [
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/-/commit/409f8ec156212a8e1e72fa615531c026fff4e425
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/-/commit/409f8ec156212a8e1e72fa615531c026fff4e425
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250811/fbaf989b/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list