[Git][debian-gis-team/python-pyproj][experimental] 11 commits: Revert "Update branch in gbp.conf & Vcs-Git URL."

Bas Couwenberg gitlab at salsa.debian.org
Tue Nov 26 11:40:00 GMT 2019



Bas Couwenberg pushed to branch experimental at Debian GIS Project / python-pyproj


Commits:
549d9b85 by Bas Couwenberg at 2019-11-06T13:26:57Z
Revert "Update branch in gbp.conf & Vcs-Git URL."

This reverts commit cfa7dff8bae187040641924accaed71fab06abc5.

- - - - -
8e8e0267 by Bas Couwenberg at 2019-11-06T13:27:14Z
New upstream version 2.4.1+ds
- - - - -
a3fca294 by Bas Couwenberg at 2019-11-06T13:27:15Z
Update upstream source from tag 'upstream/2.4.1+ds'

Update to upstream version '2.4.1+ds'
with Debian dir 9ffbd0c63c14222b3d274a1567b3c0bee8220d85
- - - - -
53493f82 by Bas Couwenberg at 2019-11-06T13:27:33Z
New upstream release.

- - - - -
4e43ee51 by Bas Couwenberg at 2019-11-06T13:28:29Z
Set distribution to unstable.

- - - - -
dc9f6457 by Bas Couwenberg at 2019-11-07T17:42:26Z
Drop Provides: ${python3:Provides}.

- - - - -
c538a438 by Bas Couwenberg at 2019-11-26T11:30:03Z
Update branch in gbp.conf & Vcs-Git URL.

- - - - -
d94056b6 by Bas Couwenberg at 2019-11-26T11:30:15Z
New upstream version 2.4.2~rc0+ds
- - - - -
5ea4a369 by Bas Couwenberg at 2019-11-26T11:30:16Z
Update upstream source from tag 'upstream/2.4.2_rc0+ds'

Update to upstream version '2.4.2~rc0+ds'
with Debian dir 41c441fea8d8382014a0179ad503f652c964ed69
- - - - -
65040342 by Bas Couwenberg at 2019-11-26T11:30:33Z
New upstream release candidate.

- - - - -
b1df1aef by Bas Couwenberg at 2019-11-26T11:31:43Z
Set distribution to experimental.

- - - - -


20 changed files:

- .all-contributorsrc
- README.md
- appveyor.yml
- debian/changelog
- debian/control
- pyproj/__init__.py
- pyproj/_crs.pyx
- pyproj/_proj.pyx
- pyproj/base.pxi
- pyproj/crs.py
- pyproj/proj.py
- setup.py
- + test/conftest.py
- test/test_crs.py
- test/test_crs_cf.py
- test/test_datum.py
- test/test_datum_shift.py
- test/test_doctest_wrapper.py
- test/test_proj.py
- test/test_transformer.py


Changes:

=====================================
.all-contributorsrc
=====================================
@@ -106,7 +106,8 @@
       "profile": "https://github.com/jdkloe",
       "contributions": [
         "code",
-        "test"
+        "test",
+        "bug"
       ]
     },
     {
@@ -298,6 +299,15 @@
       "contributions": [
         "code"
       ]
+    },
+    {
+      "login": "glostis",
+      "name": "Guillaume Lostis",
+      "avatar_url": "https://avatars0.githubusercontent.com/u/25295717?v=4",
+      "profile": "https://github.com/glostis",
+      "contributions": [
+        "doc"
+      ]
     }
   ],
   "contributorsPerLine": 7


=====================================
README.md
=====================================
@@ -36,40 +36,43 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
 <!-- markdownlint-disable -->
 <table>
   <tr>
-    <td align="center"><a href="https://github.com/jswhit"><img src="https://avatars2.githubusercontent.com/u/579593?v=4" width="100px;" alt="Jeff Whitaker"/><br /><sub><b>Jeff Whitaker</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=jswhit" title="Documentation">πŸ“–</a> <a href="https://github.com/snowman2/pyproj/commits?author=jswhit" title="Tests">⚠️</a> <a href="https://github.com/snowman2/pyproj/commits?author=jswhit" title="Code">πŸ’»</a> <a href="#example-jswhit" title="Examples">πŸ’‘</a> <a href="#ideas-jswhit" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-jswhit" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-jswhit" title="Answering Questions">πŸ’¬</a> <a href="#maintenance-jswhit" title="Maintenance">🚧</a> <a href="#infra-jswhit" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a></td>
-    <td align="center"><a href="https://github.com/snowman2"><img src="https://avatars3.githubusercontent.com/u/8699967?v=4" width="100px;" alt="Alan D. Snow"/><br /><sub><b>Alan D. Snow</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=snowman2" title="Documentation">πŸ“–</a> <a href="https://github.com/snowman2/pyproj/commits?author=snowman2" title="Tests">⚠️</a> <a href="https://github.com/snowman2/pyproj/commits?author=snowman2" title="Code">πŸ’»</a> <a href="#example-snowman2" title="Examples">πŸ’‘</a> <a href="#maintenance-snowman2" title="Maintenance">🚧</a> <a href="#infra-snowman2" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#ideas-snowman2" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-snowman2" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-snowman2" title="Answering Questions">πŸ’¬</a></td>
-    <td align="center"><a href="https://github.com/micahcochran"><img src="https://avatars0.githubusercontent.com/u/7433104?v=4" width="100px;" alt="Micah Cochran"/><br /><sub><b>Micah Cochran</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=micahcochran" title="Documentation">πŸ“–</a> <a href="https://github.com/snowman2/pyproj/commits?author=micahcochran" title="Tests">⚠️</a> <a href="https://github.com/snowman2/pyproj/commits?author=micahcochran" title="Code">πŸ’»</a> <a href="#maintenance-micahcochran" title="Maintenance">🚧</a> <a href="#infra-micahcochran" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#review-micahcochran" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-micahcochran" title="Answering Questions">πŸ’¬</a></td>
-    <td align="center"><a href="https://jorisvandenbossche.github.io/"><img src="https://avatars2.githubusercontent.com/u/1020496?v=4" width="100px;" alt="Joris Van den Bossche"/><br /><sub><b>Joris Van den Bossche</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=jorisvandenbossche" title="Documentation">πŸ“–</a> <a href="https://github.com/snowman2/pyproj/commits?author=jorisvandenbossche" title="Code">πŸ’»</a> <a href="#ideas-jorisvandenbossche" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-jorisvandenbossche" title="Reviewed Pull Requests">πŸ‘€</a></td>
-    <td align="center"><a href="https://github.com/cjmayo"><img src="https://avatars1.githubusercontent.com/u/921089?v=4" width="100px;" alt="Chris Mayo"/><br /><sub><b>Chris Mayo</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=cjmayo" title="Tests">⚠️</a></td>
-    <td align="center"><a href="https://www.petrel.org"><img src="https://avatars1.githubusercontent.com/u/2298266?v=4" width="100px;" alt="Charles Karney"/><br /><sub><b>Charles Karney</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=cffk" title="Code">πŸ’»</a> <a href="https://github.com/snowman2/pyproj/commits?author=cffk" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/jswhit"><img src="https://avatars2.githubusercontent.com/u/579593?v=4" width="100px;" alt="Jeff Whitaker"/><br /><sub><b>Jeff Whitaker</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jswhit" title="Documentation">πŸ“–</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jswhit" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jswhit" title="Code">πŸ’»</a> <a href="#example-jswhit" title="Examples">πŸ’‘</a> <a href="#ideas-jswhit" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-jswhit" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-jswhit" title="Answering Questions">πŸ’¬</a> <a href="#maintenance-jswhit" title="Maintenance">🚧</a> <a href="#infra-jswhit" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a></td>
+    <td align="center"><a href="https://github.com/snowman2"><img src="https://avatars3.githubusercontent.com/u/8699967?v=4" width="100px;" alt="Alan D. Snow"/><br /><sub><b>Alan D. Snow</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=snowman2" title="Documentation">πŸ“–</a> <a href="https://github.com/pyproj4/pyproj/commits?author=snowman2" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/commits?author=snowman2" title="Code">πŸ’»</a> <a href="#example-snowman2" title="Examples">πŸ’‘</a> <a href="#maintenance-snowman2" title="Maintenance">🚧</a> <a href="#infra-snowman2" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#ideas-snowman2" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-snowman2" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-snowman2" title="Answering Questions">πŸ’¬</a></td>
+    <td align="center"><a href="https://github.com/micahcochran"><img src="https://avatars0.githubusercontent.com/u/7433104?v=4" width="100px;" alt="Micah Cochran"/><br /><sub><b>Micah Cochran</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=micahcochran" title="Documentation">πŸ“–</a> <a href="https://github.com/pyproj4/pyproj/commits?author=micahcochran" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/commits?author=micahcochran" title="Code">πŸ’»</a> <a href="#maintenance-micahcochran" title="Maintenance">🚧</a> <a href="#infra-micahcochran" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#review-micahcochran" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#question-micahcochran" title="Answering Questions">πŸ’¬</a></td>
+    <td align="center"><a href="https://jorisvandenbossche.github.io/"><img src="https://avatars2.githubusercontent.com/u/1020496?v=4" width="100px;" alt="Joris Van den Bossche"/><br /><sub><b>Joris Van den Bossche</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jorisvandenbossche" title="Documentation">πŸ“–</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jorisvandenbossche" title="Code">πŸ’»</a> <a href="#ideas-jorisvandenbossche" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#review-jorisvandenbossche" title="Reviewed Pull Requests">πŸ‘€</a></td>
+    <td align="center"><a href="https://github.com/cjmayo"><img src="https://avatars1.githubusercontent.com/u/921089?v=4" width="100px;" alt="Chris Mayo"/><br /><sub><b>Chris Mayo</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=cjmayo" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://www.petrel.org"><img src="https://avatars1.githubusercontent.com/u/2298266?v=4" width="100px;" alt="Charles Karney"/><br /><sub><b>Charles Karney</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=cffk" title="Code">πŸ’»</a> <a href="https://github.com/pyproj4/pyproj/commits?author=cffk" title="Tests">⚠️</a></td>
     <td align="center"><a href="http://www.justaprogrammer.net/profile/justin"><img src="https://avatars3.githubusercontent.com/u/146930?v=4" width="100px;" alt="Justin Dearing"/><br /><sub><b>Justin Dearing</b></sub></a><br /><a href="#infra-zippy1981" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a></td>
   </tr>
   <tr>
-    <td align="center"><a href="https://github.com/jdkloe"><img src="https://avatars3.githubusercontent.com/u/1906112?v=4" width="100px;" alt="Jos de Kloe"/><br /><sub><b>Jos de Kloe</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=jdkloe" title="Code">πŸ’»</a> <a href="https://github.com/snowman2/pyproj/commits?author=jdkloe" title="Tests">⚠️</a></td>
-    <td align="center"><a href="https://github.com/georgeouzou"><img src="https://avatars3.githubusercontent.com/u/16732042?v=4" width="100px;" alt="George Ouzounoudis"/><br /><sub><b>George Ouzounoudis</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=georgeouzou" title="Code">πŸ’»</a> <a href="#ideas-georgeouzou" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
+    <td align="center"><a href="https://github.com/jdkloe"><img src="https://avatars3.githubusercontent.com/u/1906112?v=4" width="100px;" alt="Jos de Kloe"/><br /><sub><b>Jos de Kloe</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jdkloe" title="Code">πŸ’»</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jdkloe" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajdkloe" title="Bug reports">πŸ›</a></td>
+    <td align="center"><a href="https://github.com/georgeouzou"><img src="https://avatars3.githubusercontent.com/u/16732042?v=4" width="100px;" alt="George Ouzounoudis"/><br /><sub><b>George Ouzounoudis</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=georgeouzou" title="Code">πŸ’»</a> <a href="#ideas-georgeouzou" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
     <td align="center"><a href="https://github.com/djhoese"><img src="https://avatars3.githubusercontent.com/u/1828519?v=4" width="100px;" alt="David Hoese"/><br /><sub><b>David Hoese</b></sub></a><br /><a href="#review-djhoese" title="Reviewed Pull Requests">πŸ‘€</a> <a href="#ideas-djhoese" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
-    <td align="center"><a href="http://mitkin.github.io"><img src="https://avatars3.githubusercontent.com/u/3927849?v=4" width="100px;" alt="Mikhail Itkin"/><br /><sub><b>Mikhail Itkin</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=mitkin" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="http://dopplershift.github.io"><img src="https://avatars2.githubusercontent.com/u/221526?v=4" width="100px;" alt="Ryan May"/><br /><sub><b>Ryan May</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=dopplershift" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="http://mitkin.github.io"><img src="https://avatars3.githubusercontent.com/u/3927849?v=4" width="100px;" alt="Mikhail Itkin"/><br /><sub><b>Mikhail Itkin</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mitkin" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="http://dopplershift.github.io"><img src="https://avatars2.githubusercontent.com/u/221526?v=4" width="100px;" alt="Ryan May"/><br /><sub><b>Ryan May</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=dopplershift" title="Code">πŸ’»</a></td>
     <td align="center"><a href="https://github.com/artttt"><img src="https://avatars3.githubusercontent.com/u/4626281?v=4" width="100px;" alt="artttt"/><br /><sub><b>artttt</b></sub></a><br /><a href="#ideas-artttt" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
-    <td align="center"><a href="http://ocefpaf.github.io/python4oceanographers"><img src="https://avatars1.githubusercontent.com/u/950575?v=4" width="100px;" alt="Filipe"/><br /><sub><b>Filipe</b></sub></a><br /><a href="#infra-ocefpaf" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="https://github.com/snowman2/pyproj/commits?author=ocefpaf" title="Code">πŸ’»</a> <a href="#platform-ocefpaf" title="Packaging/porting to new platform">πŸ“¦</a></td>
+    <td align="center"><a href="http://ocefpaf.github.io/python4oceanographers"><img src="https://avatars1.githubusercontent.com/u/950575?v=4" width="100px;" alt="Filipe"/><br /><sub><b>Filipe</b></sub></a><br /><a href="#infra-ocefpaf" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="https://github.com/pyproj4/pyproj/commits?author=ocefpaf" title="Code">πŸ’»</a> <a href="#platform-ocefpaf" title="Packaging/porting to new platform">πŸ“¦</a></td>
   </tr>
   <tr>
-    <td align="center"><a href="https://github.com/heitorPB"><img src="https://avatars2.githubusercontent.com/u/13461702?v=4" width="100px;" alt="Heitor"/><br /><sub><b>Heitor</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=heitorPB" title="Documentation">πŸ“–</a></td>
-    <td align="center"><a href="https://github.com/sebastic"><img src="https://avatars3.githubusercontent.com/u/4605306?v=4" width="100px;" alt="Bas Couwenberg"/><br /><sub><b>Bas Couwenberg</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=sebastic" title="Code">πŸ’»</a> <a href="#platform-sebastic" title="Packaging/porting to new platform">πŸ“¦</a></td>
-    <td align="center"><a href="https://github.com/nickeubank"><img src="https://avatars0.githubusercontent.com/u/9683693?v=4" width="100px;" alt="Nick Eubank"/><br /><sub><b>Nick Eubank</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=nickeubank" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="https://www.math.uwaterloo.ca/~mdunphy/"><img src="https://avatars3.githubusercontent.com/u/9088426?v=4" width="100px;" alt="Michael Dunphy"/><br /><sub><b>Michael Dunphy</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=mdunphy" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/heitorPB"><img src="https://avatars2.githubusercontent.com/u/13461702?v=4" width="100px;" alt="Heitor"/><br /><sub><b>Heitor</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=heitorPB" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/sebastic"><img src="https://avatars3.githubusercontent.com/u/4605306?v=4" width="100px;" alt="Bas Couwenberg"/><br /><sub><b>Bas Couwenberg</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=sebastic" title="Code">πŸ’»</a> <a href="#platform-sebastic" title="Packaging/porting to new platform">πŸ“¦</a></td>
+    <td align="center"><a href="https://github.com/nickeubank"><img src="https://avatars0.githubusercontent.com/u/9683693?v=4" width="100px;" alt="Nick Eubank"/><br /><sub><b>Nick Eubank</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=nickeubank" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://www.math.uwaterloo.ca/~mdunphy/"><img src="https://avatars3.githubusercontent.com/u/9088426?v=4" width="100px;" alt="Michael Dunphy"/><br /><sub><b>Michael Dunphy</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mdunphy" title="Documentation">πŸ“–</a></td>
     <td align="center"><a href="http://matthew.dynevor.org"><img src="https://avatars2.githubusercontent.com/u/67612?v=4" width="100px;" alt="Matthew Brett"/><br /><sub><b>Matthew Brett</b></sub></a><br /><a href="#infra-matthew-brett" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#platform-matthew-brett" title="Packaging/porting to new platform">πŸ“¦</a></td>
-    <td align="center"><a href="https://naboa.de"><img src="https://avatars1.githubusercontent.com/u/10531844?v=4" width="100px;" alt="Jakob de Maeyer "/><br /><sub><b>Jakob de Maeyer </b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=jdemaeyer" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="https://gitter.im"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4" width="100px;" alt="The Gitter Badger"/><br /><sub><b>The Gitter Badger</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=gitter-badger" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://naboa.de"><img src="https://avatars1.githubusercontent.com/u/10531844?v=4" width="100px;" alt="Jakob de Maeyer "/><br /><sub><b>Jakob de Maeyer </b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jdemaeyer" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://gitter.im"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4" width="100px;" alt="The Gitter Badger"/><br /><sub><b>The Gitter Badger</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=gitter-badger" title="Documentation">πŸ“–</a></td>
   </tr>
   <tr>
-    <td align="center"><a href="http://lizards.opensuse.org/author/bmwiedemann/"><img src="https://avatars3.githubusercontent.com/u/637990?v=4" width="100px;" alt="Bernhard M. Wiedemann"/><br /><sub><b>Bernhard M. Wiedemann</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=bmwiedemann" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="https://github.com/ReallyNiceGuy"><img src="https://avatars0.githubusercontent.com/u/6545730?v=4" width="100px;" alt="Marco AurΓ©lio da Costa"/><br /><sub><b>Marco AurΓ©lio da Costa</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=ReallyNiceGuy" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="https://github.com/ChrisBarker-NOAA"><img src="https://avatars2.githubusercontent.com/u/916576?v=4" width="100px;" alt="Christopher H. Barker"/><br /><sub><b>Christopher H. Barker</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=ChrisBarker-NOAA" title="Code">πŸ’»</a></td>
-    <td align="center"><a href="https://evers.dev/"><img src="https://avatars3.githubusercontent.com/u/13132571?v=4" width="100px;" alt="Kristian Evers"/><br /><sub><b>Kristian Evers</b></sub></a><br /><a href="#question-kbevers" title="Answering Questions">πŸ’¬</a> <a href="#ideas-kbevers" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="https://github.com/snowman2/pyproj/commits?author=kbevers" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="http://lizards.opensuse.org/author/bmwiedemann/"><img src="https://avatars3.githubusercontent.com/u/637990?v=4" width="100px;" alt="Bernhard M. Wiedemann"/><br /><sub><b>Bernhard M. Wiedemann</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=bmwiedemann" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/ReallyNiceGuy"><img src="https://avatars0.githubusercontent.com/u/6545730?v=4" width="100px;" alt="Marco AurΓ©lio da Costa"/><br /><sub><b>Marco AurΓ©lio da Costa</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=ReallyNiceGuy" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/ChrisBarker-NOAA"><img src="https://avatars2.githubusercontent.com/u/916576?v=4" width="100px;" alt="Christopher H. Barker"/><br /><sub><b>Christopher H. Barker</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=ChrisBarker-NOAA" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://evers.dev/"><img src="https://avatars3.githubusercontent.com/u/13132571?v=4" width="100px;" alt="Kristian Evers"/><br /><sub><b>Kristian Evers</b></sub></a><br /><a href="#question-kbevers" title="Answering Questions">πŸ’¬</a> <a href="#ideas-kbevers" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="https://github.com/pyproj4/pyproj/commits?author=kbevers" title="Documentation">πŸ“–</a></td>
     <td align="center"><a href="http://www.spatialys.com/en/about/"><img src="https://avatars2.githubusercontent.com/u/1192433?v=4" width="100px;" alt="Even Rouault"/><br /><sub><b>Even Rouault</b></sub></a><br /><a href="#question-rouault" title="Answering Questions">πŸ’¬</a></td>
-    <td align="center"><a href="https://github.com/cgohlke"><img src="https://avatars3.githubusercontent.com/u/483428?v=4" width="100px;" alt="Christoph Gohlke"/><br /><sub><b>Christoph Gohlke</b></sub></a><br /><a href="#platform-cgohlke" title="Packaging/porting to new platform">πŸ“¦</a> <a href="#question-cgohlke" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/snowman2/pyproj/issues?q=author%3Acgohlke" title="Bug reports">πŸ›</a></td>
-    <td align="center"><a href="https://github.com/chrrrisw"><img src="https://avatars0.githubusercontent.com/u/5555320?v=4" width="100px;" alt="Chris Willoughby"/><br /><sub><b>Chris Willoughby</b></sub></a><br /><a href="https://github.com/snowman2/pyproj/commits?author=chrrrisw" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/cgohlke"><img src="https://avatars3.githubusercontent.com/u/483428?v=4" width="100px;" alt="Christoph Gohlke"/><br /><sub><b>Christoph Gohlke</b></sub></a><br /><a href="#platform-cgohlke" title="Packaging/porting to new platform">πŸ“¦</a> <a href="#question-cgohlke" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Acgohlke" title="Bug reports">πŸ›</a></td>
+    <td align="center"><a href="https://github.com/chrrrisw"><img src="https://avatars0.githubusercontent.com/u/5555320?v=4" width="100px;" alt="Chris Willoughby"/><br /><sub><b>Chris Willoughby</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=chrrrisw" title="Code">πŸ’»</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://github.com/glostis"><img src="https://avatars0.githubusercontent.com/u/25295717?v=4" width="100px;" alt="Guillaume Lostis"/><br /><sub><b>Guillaume Lostis</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=glostis" title="Documentation">πŸ“–</a></td>
   </tr>
 </table>
 


=====================================
appveyor.yml
=====================================
@@ -94,10 +94,10 @@ build_script:
   - cd %APPVEYOR_BUILD_FOLDER%
   - proj
   # Build and install pyproj
-  - "%CMD_IN_ENV% pip install \"pip>=10.0.1,<19.1\""
+  - "python -m pip install \"pip>=10.0.1,<19.1\""
   - set PYPROJ_FULL_COVERAGE=YES
-  - "%CMD_IN_ENV% pip install -e ."
-  - "%CMD_IN_ENV% pip install -r requirements-dev.txt"
+  - "python -m pip install -e ."
+  - "python -m pip install -r requirements-dev.txt"
 
 
 install:
@@ -119,10 +119,10 @@ install:
 
   # Upgrade to the latest version of pip to avoid it displaying warnings
   # about it being out of date.
-  - "pip install --disable-pip-version-check --user --upgrade pip==19.0.3"
+  - "python -m pip install --disable-pip-version-check --user --upgrade pip==19.0.3"
   
   # install wheel, caching
-  - "%CMD_IN_ENV% pip install wheel"
+  - "python -m pip install wheel"
   # update vcpkg
   - cmd: |
       cd "C:\Tools\vcpkg"
@@ -150,7 +150,7 @@ after_test:
   # - "%CMD_IN_ENV% python setup.py bdist_wininst"
   # - "%CMD_IN_ENV% python setup.py bdist_msi"
   # test wheel
-  - pip install pyproj --ignore-installed -f dist
+  - python -m pip install pyproj --ignore-installed -f dist
   - python -c "import pyproj; pyproj.Proj('epsg:4269')"
   # cleanup for test dir
   - if %PROJSOURCE% == git del /F /Q dist\*


=====================================
debian/changelog
=====================================
@@ -1,3 +1,17 @@
+python-pyproj (2.4.2~rc0+ds-1~exp1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Drop Provides: ${python3:Provides}.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Tue, 26 Nov 2019 12:31:26 +0100
+
+python-pyproj (2.4.1+ds-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Move from experimental to unstable.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Wed, 06 Nov 2019 14:28:09 +0100
+
 python-pyproj (2.4.1~rc0+ds-1~exp1) experimental; urgency=medium
 
   * New upstream release candidate.


=====================================
debian/control
=====================================
@@ -27,7 +27,6 @@ Depends: ${python3:Depends},
          ${shlibs:Depends},
          ${misc:Depends},
          proj-data
-Provides: ${python3:Provides}
 Description: Python 3 interface to PROJ library
  PROJ performs cartographic transformations between geographic (lat/lon)
  and map projection (x/y) coordinates. It can also transform directly


=====================================
pyproj/__init__.py
=====================================
@@ -47,7 +47,7 @@ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """
-__version__ = "2.4.1.rc0"
+__version__ = "2.4.2.rc0"
 __all__ = [
     "Proj",
     "Geod",


=====================================
pyproj/_crs.pyx
=====================================
@@ -2025,6 +2025,12 @@ cdef class _CRS(Base):
         -------
         str: The PROJ string.
         """
+        warnings.warn(
+            "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"
+        )
         return _to_proj4(self.context, self.projobj, version)
 
     def to_epsg(self, min_confidence=70):


=====================================
pyproj/_proj.pyx
=====================================
@@ -8,7 +8,6 @@ from pyproj._datadir cimport pyproj_context_initialize
 from pyproj.compat import cstrencode, pystrdecode
 from pyproj.exceptions import ProjError
 
-
 # # version number string for PROJ
 proj_version_str = "{0}.{1}.{2}".format(
     PROJ_VERSION_MAJOR,
@@ -55,10 +54,10 @@ cdef class Proj:
         forward transformation - lons,lats to x,y (done in place).
         if errcheck=True, an exception is raised if the forward transformation is invalid.
         if errcheck=False and the forward transformation is invalid, no exception is
-        raised and 1.e30 is returned.
+        raised and 'inf' is returned.
         """
         cdef PJ_COORD projxyout
-        cdef PJ_COORD projlonlatin
+        cdef PJ_COORD projlonlatin = proj_coord(0, 0, 0, HUGE_VAL)
         cdef Py_ssize_t buflenx, bufleny, ndim, iii
         cdef double *lonsdata
         cdef double *latsdata
@@ -81,7 +80,8 @@ cdef class Proj:
             for iii in range(ndim):
                 # if inputs are nan's, return big number.
                 if lonsdata[iii] != lonsdata[iii] or latsdata[iii] != latsdata[iii]:
-                    lonsdata[iii]=1.e30; latsdata[iii]=1.e30
+                    lonsdata[iii] = HUGE_VAL
+                    latsdata[iii] = HUGE_VAL
                     if errcheck:
                         with gil:
                             raise ProjError("projection_undefined")
@@ -110,9 +110,9 @@ cdef class Proj:
                         projxyout.xy.x != projxyout.xy.x:
                     if errcheck:
                         with gil:
-                            raise ProjError("projection_undefined")
-                    lonsdata[iii] = 1.e30
-                    latsdata[iii] = 1.e30
+                            raise ProjError("Projection undefined.")
+                    lonsdata[iii] = HUGE_VAL
+                    latsdata[iii] = HUGE_VAL
                 elif proj_angular_output(self.projobj, PJ_FWD):
                     lonsdata[iii] = _RAD2DG * projxyout.xy.x
                     latsdata[iii] = _RAD2DG * projxyout.xy.y
@@ -129,12 +129,12 @@ cdef class Proj:
         inverse transformation - x,y to lons,lats (done in place).
         if errcheck=True, an exception is raised if the inverse transformation is invalid.
         if errcheck=False and the inverse transformation is invalid, no exception is
-        raised and 1.e30 is returned.
+        raised and 'inf' is returned.
         """
         if not self.has_inverse:
             raise ProjError('inverse projection undefined')
 
-        cdef PJ_COORD projxyin
+        cdef PJ_COORD projxyin = proj_coord(0, 0, 0, HUGE_VAL)
         cdef PJ_COORD projlonlatout
         cdef Py_ssize_t buflenx, bufleny, ndim, iii
         cdef void *xdata
@@ -161,17 +161,18 @@ cdef class Proj:
             for iii in range(ndim):
                 # if inputs are nan's, return big number.
                 if xdatab[iii] != xdatab[iii] or ydatab[iii] != ydatab[iii]:
-                    xdatab[iii]=1.e30; ydatab[iii]=1.e30
+                    xdatab[iii] = HUGE_VAL
+                    ydatab[iii] = HUGE_VAL
                     if errcheck:
                         with gil:
                             raise ProjError("projection_undefined")
                     continue
                 if proj_angular_input(self.projobj, PJ_INV):
-                    projxyin.uv.u = _DG2RAD * xdatab[iii]
-                    projxyin.uv.v = _DG2RAD * ydatab[iii]
+                    projxyin.xy.x = _DG2RAD * xdatab[iii]
+                    projxyin.xy.y = _DG2RAD * ydatab[iii]
                 else:
-                    projxyin.uv.u = xdatab[iii]
-                    projxyin.uv.v = ydatab[iii]
+                    projxyin.xy.x = xdatab[iii]
+                    projxyin.xy.y = ydatab[iii]
                 projlonlatout = proj_trans(self.projobj, PJ_INV, projxyin)
                 errno = proj_errno(self.projobj)
                 if errcheck and errno:
@@ -192,8 +193,8 @@ cdef class Proj:
                     if errcheck:
                         with gil:
                             raise ProjError("projection_undefined")
-                    xdatab[iii] = 1.e30
-                    ydatab[iii] = 1.e30
+                    xdatab[iii] = HUGE_VAL
+                    ydatab[iii] = HUGE_VAL
                 elif proj_angular_output(self.projobj, PJ_INV):
                     xdatab[iii] = _RAD2DG * projlonlatout.uv.u
                     ydatab[iii] = _RAD2DG * projlonlatout.uv.v


=====================================
pyproj/base.pxi
=====================================
@@ -1,13 +1,12 @@
-import math
+from math import radians, degrees
 
-cdef double _DG2RAD = math.radians(1.)
-cdef double _RAD2DG = math.degrees(1.)
+cdef double _DG2RAD = radians(1.)
+cdef double _RAD2DG = degrees(1.)
 cdef int _DOUBLESIZE = sizeof(double)
 
 cdef extern from "math.h":
     cdef enum:
         HUGE_VAL
-        FP_NAN
 
 cdef extern from "Python.h":
     int PyObject_AsWriteBuffer(object, void **rbuf, Py_ssize_t *len)


=====================================
pyproj/crs.py
=====================================
@@ -119,7 +119,7 @@ def _prepare_from_string(in_crs_string):
             warnings.warn(
                 "'+init=<authority>:<code>' syntax is deprecated."
                 " '<authority>:<code>' is the preferred initialization method.",
-                DeprecationWarning,
+                FutureWarning,
             )
     return in_crs_string
 
@@ -167,7 +167,7 @@ class CRS(_CRS):
           - An EPSG integer code [i.e. 4326]
           - A tuple of ("auth_name": "auth_code") [i.e ('epsg', '4326')]
           - An object with a `to_wkt` method.
-          - A :class:`~pyproj.CRS`
+          - A :class:`~pyproj.crs.CRS` class
 
         Example usage:
 
@@ -371,8 +371,6 @@ class CRS(_CRS):
           }
         }
         >>> crs = CRS(proj='utm', zone=10, ellps='WGS84')
-        >>> crs.to_proj4()
-        '+proj=utm +zone=10 +ellps=WGS84 +units=m +no_defs +type=crs'
         >>> print(crs.to_wkt(pretty=True))
         PROJCRS["unknown",
             BASEGEOGCRS["unknown",
@@ -440,7 +438,7 @@ class CRS(_CRS):
     def from_authority(cls, auth_name, code):
         """
         .. versionadded:: 2.2.0
-        
+
         Make a CRS from an authority name and authority code
 
         Parameters
@@ -565,7 +563,7 @@ class CRS(_CRS):
           - An EPSG integer code [i.e. 4326]
           - A tuple of ("auth_name": "auth_code") [i.e ('epsg', '4326')]
           - An object with a `to_wkt` method.
-          - A :class:`~pyproj.CRS`
+          - A :class:`~pyproj.crs.CRS` class
 
         Parameters
         ----------
@@ -726,7 +724,15 @@ class CRS(_CRS):
         elif self.is_projected and self.name not in missing_names:
             cf_dict["projected_crs_name"] = self.name
 
-        proj_dict = self.to_dict()
+        # ignore warning here as WKT string provided with projection
+        with warnings.catch_warnings():
+            warnings.filterwarnings(
+                "ignore",
+                "You will likely lose important projection information",
+                UserWarning,
+            )
+            proj_dict = self.to_dict()
+
         if not proj_dict:
             return cf_dict
         proj_name = proj_dict.pop("proj")


=====================================
pyproj/proj.py
=====================================
@@ -35,6 +35,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """
 import re
+import warnings
 
 from pyproj import _proj
 from pyproj._list import get_proj_operations_map
@@ -68,7 +69,7 @@ class Proj(_proj.Proj):
     lon/lat is performed. If optional keyword 'errcheck' is True (default is
     False) an exception is raised if the transformation is invalid.
     If errcheck=False and the transformation is invalid, no
-    exception is raised and 1.e30 is returned. If the optional keyword
+    exception is raised and 'inf' is returned. If the optional keyword
     'preserve_units' is True, the units in map projection coordinates
     are not forced to be meters.
 
@@ -145,12 +146,27 @@ class Proj(_proj.Proj):
         self.crs = CRS.from_user_input(projparams if projparams is not None else kwargs)
         # make sure units are meters if preserve_units is False.
         if not preserve_units and "foot" in self.crs.axis_info[0].unit_name:
-            projstring = self.crs.to_proj4(4)
+            # ignore export to PROJ string deprecation warning
+            with warnings.catch_warnings():
+                warnings.filterwarnings(
+                    "ignore",
+                    "You will likely lose important projection information",
+                    UserWarning,
+                )
+                projstring = self.crs.to_proj4(4)
             projstring = re.sub(r"\s\+units=[\w-]+", "", projstring)
             projstring += " +units=m"
             self.crs = CRS(projstring)
 
-        projstring = self.crs.to_proj4() or self.crs.srs
+        # ignore export to PROJ string deprecation warning
+        with warnings.catch_warnings():
+            warnings.filterwarnings(
+                "ignore",
+                "You will likely lose important projection information",
+                UserWarning,
+            )
+            projstring = self.crs.to_proj4() or self.crs.srs
+
         projstring = re.sub(r"\s\+?type=crs", "", projstring)
         super(Proj, self).__init__(cstrencode(projstring.strip()))
 
@@ -164,7 +180,7 @@ class Proj(_proj.Proj):
         lon/lat is performed. If optional keyword 'errcheck' is True (default is
         False) an exception is raised if the transformation is invalid.
         If errcheck=False and the transformation is invalid, no
-        exception is raised and 1.e30 is returned.
+        exception is raised and 'inf' is returned.
 
         Inputs should be doubles (they will be cast to doubles if they
         are not, causing a slight performance hit).


=====================================
setup.py
=====================================
@@ -23,7 +23,10 @@ def check_proj_version(proj_dir):
     if proj_version < PROJ_MIN_VERSION:
         sys.exit(
             "ERROR: Minimum supported proj version is {}, installed "
-            "version is {}.".format(PROJ_MIN_VERSION, proj_version)
+            "version is {}. For more information see: "
+            "https://pyproj4.github.io/pyproj/stable/installation.html".format(
+                PROJ_MIN_VERSION, proj_version
+            )
         )
 
     return proj_version
@@ -42,7 +45,11 @@ def get_proj_dir():
         if proj is None:
             proj = find_executable("proj")
         if proj is None:
-            sys.exit("Proj executable not found. Please set PROJ_DIR variable.")
+            sys.exit(
+                "proj executable not found. Please set the PROJ_DIR variable."
+                "For more information see: "
+                "https://pyproj4.github.io/pyproj/stable/installation.html"
+            )
         proj_dir = os.path.dirname(os.path.dirname(proj))
     elif proj_dir is not None and os.path.exists(proj_dir):
         print("PROJ_DIR is set, using existing proj4 installation..\n")


=====================================
test/conftest.py
=====================================
@@ -0,0 +1,28 @@
+import os
+import shutil
+import tempfile
+
+import pytest
+
+import pyproj
+
+
+ at pytest.fixture(scope="session")
+def aoi_data_directory():
+    """
+    This is to ensure that the ntv2_0.gsb file is actually
+    missing for the AOI tests.
+    """
+    data_dir = pyproj.datadir.get_data_dir()
+    with tempfile.TemporaryDirectory() as tmpdir:
+        tmp_data_dir = os.path.join(tmpdir, "proj")
+        shutil.copytree(data_dir, tmp_data_dir)
+        try:
+            os.remove(os.path.join(str(tmp_data_dir), "ntv2_0.gsb"))
+        except OSError:
+            pass
+        try:
+            pyproj.datadir.set_data_dir(str(tmp_data_dir))
+            yield
+        finally:
+            pyproj.datadir.set_data_dir(data_dir)


=====================================
test/test_crs.py
=====================================
@@ -17,8 +17,9 @@ class CustomCRS(object):
 def test_from_proj4_json():
     json_str = '{"proj": "longlat", "ellps": "WGS84", "datum": "WGS84"}'
     proj = CRS.from_string(json_str)
-    assert proj.to_proj4(4) == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
-    assert proj.to_proj4(5) == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
+    with pytest.warns(UserWarning):
+        assert proj.to_proj4(4) == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
+        assert proj.to_proj4(5) == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
     # Test with invalid JSON code
     with pytest.raises(CRSError):
         assert CRS.from_string("{foo: bar}")
@@ -26,7 +27,8 @@ def test_from_proj4_json():
 
 def test_from_proj4():
     proj = CRS.from_proj4("+proj=longlat +datum=WGS84 +no_defs +type=crs")
-    assert proj.to_proj4() == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
+    with pytest.warns(UserWarning):
+        assert proj.to_proj4() == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
 
 
 def test_from_proj4__invalid():
@@ -55,15 +57,17 @@ def test_from_epsg_string():
 
 def test_from_string():
     wgs84_crs = CRS.from_string("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
-    assert wgs84_crs.to_proj4() == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
+    with pytest.warns(UserWarning):
+        assert wgs84_crs.to_proj4() == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
     # Make sure this doesn't get handled using the from_epsg()
     # even though 'epsg' is in the string
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         epsg_init_crs = CRS.from_string("+init=epsg:26911 +units=m +no_defs=True")
-    assert (
-        epsg_init_crs.to_proj4()
-        == "+proj=utm +zone=11 +datum=NAD83 +units=m +no_defs +type=crs"
-    )
+    with pytest.warns(UserWarning):
+        assert (
+            epsg_init_crs.to_proj4()
+            == "+proj=utm +zone=11 +datum=NAD83 +units=m +no_defs +type=crs"
+        )
 
 
 def test_bare_parameters():
@@ -76,7 +80,8 @@ def test_bare_parameters():
         "+proj=lcc +lon_0=-95 +ellps=GRS80 +y_0=0 +no_defs=True "
         "+x_0=0 +units=m +lat_2=77 +lat_1=49 +lat_0=0"
     )
-    assert "+no_defs" in proj.to_proj4(4)
+    with pytest.warns(UserWarning):
+        assert "+no_defs" in proj.to_proj4(4)
 
     # TODO: THIS DOES NOT WORK
     proj = CRS.from_string(
@@ -139,9 +144,11 @@ def test_is_same_crs():
 
 
 def test_to_proj4():
-    assert (
-        CRS("EPSG:4326").to_proj4(4) == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
-    )
+    with pytest.warns(UserWarning):
+        assert (
+            CRS("EPSG:4326").to_proj4(4)
+            == "+proj=longlat +datum=WGS84 +no_defs +type=crs"
+        )
 
 
 def test_empty_json():
@@ -154,7 +161,7 @@ def test_empty_json():
 
 
 def test_has_wkt_property():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert (
             CRS({"init": "EPSG:4326"})
             .to_wkt("WKT1_GDAL")
@@ -169,7 +176,7 @@ def test_to_wkt_pretty():
 
 
 def test_repr():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert repr(CRS({"init": "EPSG:4326"})) == (
             "<Geographic 2D CRS: +init=epsg:4326 +type=crs>\n"
             "Name: WGS 84\n"
@@ -186,7 +193,7 @@ def test_repr():
 
 
 def test_repr__long():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert repr(CRS(CRS({"init": "EPSG:4326"}).to_wkt())) == (
             '<Geographic 2D CRS: GEOGCRS["WGS 84",'
             'DATUM["World Geodetic System 1984 ...>\n'
@@ -264,12 +271,12 @@ def test_repr_compound():
 
 
 def test_dunder_str():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert str(CRS({"init": "EPSG:4326"})) == CRS({"init": "EPSG:4326"}).srs
 
 
 def test_epsg():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert CRS({"init": "EPSG:4326"}).to_epsg(20) == 4326
         assert CRS({"init": "EPSG:4326"}).to_epsg() is None
     assert CRS.from_user_input(4326).to_epsg() == 4326
@@ -319,7 +326,7 @@ def test_epsg__no_code_available():
 def test_crs_OSR_equivalence():
     crs1 = CRS.from_string("+proj=longlat +datum=WGS84 +no_defs")
     crs2 = CRS.from_string("+proj=latlong +datum=WGS84 +no_defs")
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         crs3 = CRS({"init": "EPSG:4326"})
     assert crs1 == crs2
     # these are not equivalent in proj.4 now as one uses degrees and the othe radians
@@ -352,12 +359,13 @@ def test_from_wkt():
 
 
 def test_from_wkt_invalid():
-    with pytest.raises(CRSError):
+    with pytest.raises(CRSError), pytest.warns(UserWarning):
         CRS.from_wkt(CRS(4326).to_proj4())
 
 
 def test_from_user_input_epsg():
-    assert "+proj=longlat" in CRS.from_user_input("EPSG:4326").to_proj4(4)
+    with pytest.warns(UserWarning):
+        assert "+proj=longlat" in CRS.from_user_input("EPSG:4326").to_proj4(4)
 
 
 def test_from_esri_wkt():
@@ -382,11 +390,12 @@ def test_from_esri_wkt():
     )
     proj_crs_str = CRS.from_string(projection_string)
     proj_crs_wkt = CRS(projection_string)
-    assert proj_crs_str.to_proj4() == proj_crs_wkt.to_proj4()
-    assert proj_crs_str.to_proj4(4) == (
-        "+proj=aea +lat_0=23 +lon_0=-96 +lat_1=29.5 "
-        "+lat_2=45.5 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs +type=crs"
-    )
+    with pytest.warns(UserWarning):
+        assert proj_crs_str.to_proj4() == proj_crs_wkt.to_proj4()
+        assert proj_crs_str.to_proj4(4) == (
+            "+proj=aea +lat_0=23 +lon_0=-96 +lat_1=29.5 "
+            "+lat_2=45.5 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs +type=crs"
+        )
 
 
 def test_compound_crs():
@@ -663,8 +672,9 @@ def test_to_wkt_enum__invalid():
 
 def test_to_proj4_enum():
     crs = CRS.from_epsg(4326)
-    assert crs.to_proj4(4) == crs.to_proj4(ProjVersion.PROJ_4)
-    assert crs.to_proj4(5) == crs.to_proj4(ProjVersion.PROJ_5)
+    with pytest.warns(UserWarning):
+        assert crs.to_proj4(4) == crs.to_proj4(ProjVersion.PROJ_4)
+        assert crs.to_proj4(5) == crs.to_proj4(ProjVersion.PROJ_5)
 
 
 def test_datum__from_string():
@@ -717,7 +727,7 @@ def test_coordinate_operation__from_string__invalid():
 
 def test_to_proj4_enum__invalid():
     crs = CRS.from_epsg(4326)
-    with pytest.raises(ValueError, match="Invalid value"):
+    with pytest.raises(ValueError, match="Invalid value"), pytest.warns(UserWarning):
         crs.to_proj4(1)
 
 
@@ -769,12 +779,13 @@ def test_crs_init_user_input():
     assert CRS(4326).to_epsg() == 4326
 
     proj4_dict = {"proj": "longlat", "datum": "WGS84", "no_defs": None, "type": "crs"}
-    assert CRS({"proj": "lonlat", "datum": "WGS84"}).to_dict() == proj4_dict
-    assert CRS(proj="lonlat", datum="WGS84").to_dict() == proj4_dict
-    assert (
-        CRS('{"proj": "longlat", "ellps": "WGS84", "datum": "WGS84"}').to_dict()
-        == proj4_dict
-    )
+    with pytest.warns(UserWarning):
+        assert CRS({"proj": "lonlat", "datum": "WGS84"}).to_dict() == proj4_dict
+        assert CRS(proj="lonlat", datum="WGS84").to_dict() == proj4_dict
+        assert (
+            CRS('{"proj": "longlat", "ellps": "WGS84", "datum": "WGS84"}').to_dict()
+            == proj4_dict
+        )
     assert CRS(CRS(4326)).is_exact_same(CRS(CustomCRS()))
 
 
@@ -808,14 +819,14 @@ def test_is_exact_same_different_type():
 def test_compare_crs_non_crs():
     assert CRS.from_epsg(4326) != 4.2
     assert CRS.from_epsg(4326) == 4326
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert CRS.from_dict({"init": "epsg:4326"}) == {"init": "epsg:4326"}
         assert CRS.from_dict({"init": "epsg:4326"}) != "epsg:4326"
     assert CRS("epsg:4326") == CustomCRS()
 
 
 def test_is_geocentric__bound():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         ccs = CRS("+init=epsg:4328 +towgs84=0,0,0")
     assert ccs.is_geocentric
 
@@ -843,7 +854,7 @@ def test_is_engineering():
 
 
 def test_source_crs__bound():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert CRS("+init=epsg:4328 +towgs84=0,0,0").source_crs.name == "unknown"
 
 
@@ -852,7 +863,7 @@ def test_source_crs__missing():
 
 
 def test_target_crs__bound():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         assert CRS("+init=epsg:4328 +towgs84=0,0,0").target_crs.name == "WGS 84"
 
 
@@ -883,28 +894,31 @@ def test_to_dict_no_proj4():
         }
     )
     if LooseVersion(proj_version_str) >= LooseVersion("6.3.0"):
-        assert crs.to_proj4() == (
-            "+proj=ob_tran +o_proj=longlat +lon_0=-10 +o_lat_p=30 "
-            "+o_lon_p=0 +R=6371229 +no_defs +type=crs"
-        )
-        assert crs.to_dict() == {
-            "R": 6371229,
-            "lon_0": -10,
-            "no_defs": None,
-            "o_lat_p": 30,
-            "o_lon_p": 0,
-            "o_proj": "longlat",
-            "proj": "ob_tran",
-            "type": "crs",
-        }
+        with pytest.warns(UserWarning):
+            assert crs.to_proj4() == (
+                "+proj=ob_tran +o_proj=longlat +lon_0=-10 +o_lat_p=30 "
+                "+o_lon_p=0 +R=6371229 +no_defs +type=crs"
+            )
+            assert crs.to_dict() == {
+                "R": 6371229,
+                "lon_0": -10,
+                "no_defs": None,
+                "o_lat_p": 30,
+                "o_lon_p": 0,
+                "o_proj": "longlat",
+                "proj": "ob_tran",
+                "type": "crs",
+            }
     else:
-        assert crs.to_proj4() is None
-        assert crs.to_dict() == {}
+        with pytest.warns(UserWarning):
+            assert crs.to_proj4() is None
+            assert crs.to_dict() == {}
 
 
 def test_to_dict_from_dict():
     cc = CRS.from_epsg(4326)
-    assert CRS.from_dict(cc.to_dict()).name == "unknown"
+    with pytest.warns(UserWarning):
+        assert CRS.from_dict(cc.to_dict()).name == "unknown"
 
 
 @pytest.mark.parametrize(


=====================================
test/test_crs_cf.py
=====================================
@@ -33,19 +33,20 @@ def test_to_cf_transverse_mercator():
         "towgs84": towgs84_test,
         "unit": "m",
     }
-    assert crs.to_dict() == {
-        "proj": "tmerc",
-        "lat_0": 0,
-        "lon_0": 15,
-        "k": 0.9996,
-        "x_0": 2520000,
-        "y_0": 0,
-        "ellps": "intl",
-        "towgs84": towgs84_test,
-        "units": "m",
-        "no_defs": None,
-        "type": "crs",
-    }
+    with pytest.warns(UserWarning):
+        assert crs.to_dict() == {
+            "proj": "tmerc",
+            "lat_0": 0,
+            "lon_0": 15,
+            "k": 0.9996,
+            "x_0": 2520000,
+            "y_0": 0,
+            "ellps": "intl",
+            "towgs84": towgs84_test,
+            "units": "m",
+            "no_defs": None,
+            "type": "crs",
+        }
 
 
 def test_from_cf_transverse_mercator():
@@ -152,15 +153,16 @@ def test_cf_rotated_latlon():
     cf_dict = crs.to_cf()
     assert cf_dict.pop("crs_wkt").startswith("GEOGCRS[")
     if LooseVersion(proj_version_str) >= LooseVersion("6.3.0"):
-        assert crs.to_dict() == {
-            "proj": "ob_tran",
-            "o_proj": "longlat",
-            "o_lat_p": 32.5,
-            "o_lon_p": 170.0,
-            "datum": "WGS84",
-            "no_defs": None,
-            "type": "crs",
-        }
+        with pytest.warns(UserWarning):
+            assert crs.to_dict() == {
+                "proj": "ob_tran",
+                "o_proj": "longlat",
+                "o_lat_p": 32.5,
+                "o_lon_p": 170.0,
+                "datum": "WGS84",
+                "no_defs": None,
+                "type": "crs",
+            }
         assert cf_dict == dict(
             grid_mapping_name="rotated_latitude_longitude",
             grid_north_pole_latitude=32.5,
@@ -169,7 +171,8 @@ def test_cf_rotated_latlon():
         )
     else:
         assert cf_dict == {}
-        assert crs.to_dict() == {}
+        with pytest.warns(UserWarning):
+            assert crs.to_dict() == {}
 
 
 def test_cf_rotated_latlon__grid():
@@ -181,19 +184,20 @@ def test_cf_rotated_latlon__grid():
             north_pole_grid_longitude=0,
         )
     )
-    if LooseVersion(proj_version_str) >= LooseVersion("6.3.0"):
-        assert crs.to_dict() == {
-            "proj": "ob_tran",
-            "o_proj": "longlat",
-            "o_lat_p": 32.5,
-            "o_lon_p": 170.0,
-            "lon_0": 0,
-            "datum": "WGS84",
-            "no_defs": None,
-            "type": "crs",
-        }
-    else:
-        assert crs.to_dict() == {}
+    with pytest.warns(UserWarning):
+        if LooseVersion(proj_version_str) >= LooseVersion("6.3.0"):
+            assert crs.to_dict() == {
+                "proj": "ob_tran",
+                "o_proj": "longlat",
+                "o_lat_p": 32.5,
+                "o_lon_p": 170.0,
+                "lon_0": 0,
+                "datum": "WGS84",
+                "no_defs": None,
+                "type": "crs",
+            }
+        else:
+            assert crs.to_dict() == {}
 
 
 def test_cf_lambert_conformal_conic():
@@ -244,7 +248,8 @@ def test_cf_lambert_conformal_conic_1sp():
         "horizontal_datum_name": "WGS84",
         "unit": "m",
     }
-    proj_dict = crs.to_dict()
+    with pytest.warns(UserWarning):
+        proj_dict = crs.to_dict()
     assert proj_dict == {
         "proj": "lcc",
         "lat_1": 25,
@@ -282,7 +287,8 @@ def test_cf_lambert_conformal_conic_2sp():
         "horizontal_datum_name": "WGS84",
         "unit": "m",
     }
-    proj_dict = crs.to_dict()
+    with pytest.warns(UserWarning):
+        proj_dict = crs.to_dict()
     assert proj_dict == {
         "proj": "lcc",
         "lat_1": 25,
@@ -322,20 +328,21 @@ def test_oblique_mercator():
         "reference_ellipsoid_name": "WGS84",
         "unit": "m",
     }
-    assert crs.to_dict() == {
-        "proj": "omerc",
-        "lat_0": 10,
-        "lonc": 15,
-        "alpha": 0.35,
-        "gamma": 0.35,
-        "k": 1,
-        "x_0": 0,
-        "y_0": 0,
-        "ellps": "WGS84",
-        "units": "m",
-        "no_defs": None,
-        "type": "crs",
-    }
+    with pytest.warns(UserWarning):
+        assert crs.to_dict() == {
+            "proj": "omerc",
+            "lat_0": 10,
+            "lonc": 15,
+            "alpha": 0.35,
+            "gamma": 0.35,
+            "k": 1,
+            "x_0": 0,
+            "y_0": 0,
+            "ellps": "WGS84",
+            "units": "m",
+            "no_defs": None,
+            "type": "crs",
+        }
     # test CRS with input as lon_0 from the user
     lon0crs_cf = CRS(
         {
@@ -437,17 +444,18 @@ def test_mercator():
             "false_northing": 0,
         }
     )
-    assert crs.to_dict() == {
-        "datum": "WGS84",
-        "lat_ts": 21.354,
-        "lon_0": 10,
-        "no_defs": None,
-        "proj": "merc",
-        "type": "crs",
-        "units": "m",
-        "x_0": 0,
-        "y_0": 0,
-    }
+    with pytest.warns(UserWarning):
+        assert crs.to_dict() == {
+            "datum": "WGS84",
+            "lat_ts": 21.354,
+            "lon_0": 10,
+            "no_defs": None,
+            "proj": "merc",
+            "type": "crs",
+            "units": "m",
+            "x_0": 0,
+            "y_0": 0,
+        }
     cf_dict = crs.to_cf()
     assert cf_dict.pop("crs_wkt").startswith("PROJCRS[")
     assert cf_dict == {


=====================================
test/test_datum.py
=====================================
@@ -3,7 +3,7 @@ from numpy.testing import assert_almost_equal
 from pyproj import Proj, transform
 
 
-def test_datum():
+def test_datum(aoi_data_directory):
     p1 = Proj(proj="latlong", datum="WGS84")
     s_1 = -111.5
     s_2 = 45.25919444444


=====================================
test/test_datum_shift.py
=====================================
@@ -1,5 +1,4 @@
-import warnings
-
+import pytest
 from numpy.testing import assert_almost_equal
 
 from pyproj import Proj, proj_version_str, transform
@@ -30,8 +29,7 @@ WGS84_lon = 13.759554722  # Degrees
 UTM_z = WGS84_z = 52.8  # Ellipsoidical height in meters
 WGS84_PROJ = Proj(proj="latlong", datum="WGS84")
 UTM_33_PROJ = Proj(proj="utm", zone="33")
-with warnings.catch_warnings():
-    warnings.simplefilter("ignore", DeprecationWarning)
+with pytest.warns(FutureWarning):
     GAUSSSB_PROJ = Proj(
         init="epsg:3004", towgs84="-122.74,-34.27,-22.83,-1.884,-3.400,-3.030,-15.62"
     )


=====================================
test/test_doctest_wrapper.py
=====================================
@@ -6,19 +6,27 @@ import doctest
 import os
 import platform
 import sys
+import warnings
 
 import pyproj
 
 
-def test_doctests():
+def test_doctests(aoi_data_directory):
     """run the examples in the docstrings using the doctest module"""
 
-    failure_count_proj, test_count = doctest.testmod(pyproj.proj, verbose=True)
-    failure_count_crs, test_count_crs = doctest.testmod(pyproj.crs, verbose=True)
-    failure_count_geod, test_count_geod = doctest.testmod(pyproj.geod, verbose=True)
-    failure_count_transform, test_count_transform = doctest.testmod(
-        pyproj.transformer, verbose=True
-    )
+    with warnings.catch_warnings():
+        warnings.filterwarnings(
+            "ignore",
+            "You will likely lose important projection information when",
+            UserWarning,
+        )
+
+        failure_count_proj, test_count = doctest.testmod(pyproj.proj, verbose=True)
+        failure_count_crs, test_count_crs = doctest.testmod(pyproj.crs, verbose=True)
+        failure_count_geod, test_count_geod = doctest.testmod(pyproj.geod, verbose=True)
+        failure_count_transform, test_count_transform = doctest.testmod(
+            pyproj.transformer, verbose=True
+        )
 
     failure_count = (
         failure_count_proj


=====================================
test/test_proj.py
=====================================
@@ -117,7 +117,7 @@ class TypeError_Transform_Issue8_Test(unittest.TestCase):
     # https://github.com/jswhit/pyproj/issues/8
 
     def setUp(self):
-        with pytest.warns(DeprecationWarning):
+        with pytest.warns(FutureWarning):
             self.p = Proj(init="epsg:4269")
 
     def test_tranform_none_1st_parmeter(self):
@@ -372,7 +372,8 @@ class Geod_NaN_Issue112_Test(unittest.TestCase):
 def test_proj_equals():
     assert Proj(4326) == Proj("epsg:4326")
     assert Proj(4326) != Proj("epsg:3857")
-    assert Proj(4326) == Proj(Proj("epsg:4326").crs.to_proj4())
+    with pytest.warns(UserWarning):
+        assert Proj(4326) == Proj(Proj("epsg:4326").crs.to_proj4())
 
 
 def test_initialize_proj_crs_no_proj4():


=====================================
test/test_transformer.py
=====================================
@@ -1,6 +1,3 @@
-import os
-import shutil
-import tempfile
 from distutils.version import LooseVersion
 
 import numpy as np
@@ -26,7 +23,7 @@ def test_tranform_wgs84_to_custom():
 
 
 def test_transform_wgs84_to_alaska():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         lat_lon_proj = pyproj.Proj(init="epsg:4326", preserve_units=False)
         alaska_aea_proj = pyproj.Proj(init="epsg:2964", preserve_units=False)
     test = (-179.72638, 49.752533)
@@ -36,7 +33,7 @@ def test_transform_wgs84_to_alaska():
 
 def test_illegal_transformation():
     # issue 202
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         p1 = pyproj.Proj(init="epsg:4326")
         p2 = pyproj.Proj(init="epsg:3857")
     xx, yy = pyproj.transform(
@@ -52,7 +49,7 @@ def test_illegal_transformation():
 
 def test_lambert_conformal_transform():
     # issue 207
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         Midelt = pyproj.Proj(init="epsg:26191")
         WGS84 = pyproj.Proj(init="epsg:4326")
 
@@ -86,9 +83,11 @@ def test_equivalent_crs__different():
 
 
 def test_equivalent_proj():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(UserWarning):
+        proj_to = pyproj.Proj(4326).crs.to_proj4()
+    with pytest.warns(FutureWarning):
         transformer = Transformer.from_proj(
-            "+init=epsg:4326", pyproj.Proj(4326).crs.to_proj4(), skip_equivalent=True
+            "+init=epsg:4326", proj_to, skip_equivalent=True
         )
     assert transformer._transformer.skip_equivalent
     assert transformer._transformer.projections_equivalent
@@ -96,7 +95,8 @@ def test_equivalent_proj():
 
 
 def test_equivalent_proj__disabled():
-    transformer = Transformer.from_proj(3857, pyproj.Proj(3857).crs.to_proj4())
+    with pytest.warns(UserWarning):
+        transformer = Transformer.from_proj(3857, pyproj.Proj(3857).crs.to_proj4())
     assert not transformer._transformer.skip_equivalent
     assert transformer._transformer.projections_equivalent
     assert not transformer._transformer.projections_exact_same
@@ -237,14 +237,14 @@ def test_itransform_time_3rd_invalid():
 
 
 def test_transform_no_error():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         pj = Proj(init="epsg:4555")
     pjx, pjy = pj(116.366, 39.867)
     transform(pj, Proj(4326), pjx, pjy, radians=True, errcheck=True)
 
 
 def test_itransform_no_error():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         pj = Proj(init="epsg:4555")
     pjx, pjy = pj(116.366, 39.867)
     list(itransform(pj, Proj(4326), [(pjx, pjy)], radians=True, errcheck=True))
@@ -252,14 +252,14 @@ def test_itransform_no_error():
 
 def test_transform_no_exception():
     # issue 249
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         transformer = Transformer.from_proj("+init=epsg:4326", "+init=epsg:27700")
     transformer.transform(1.716073972, 52.658007833, errcheck=True)
     transformer.itransform([(1.716073972, 52.658007833)], errcheck=True)
 
 
 def test_transform__out_of_bounds():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         transformer = Transformer.from_proj("+init=epsg:4326", "+init=epsg:27700")
     if LooseVersion(proj_version_str) >= LooseVersion("6.3.0"):
         with pytest.raises(ProjError):
@@ -269,7 +269,7 @@ def test_transform__out_of_bounds():
 
 
 def test_transform_radians():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         WGS84 = pyproj.Proj("+init=EPSG:4326")
     ECEF = pyproj.Proj(proj="geocent", ellps="WGS84", datum="WGS84")
     assert_almost_equal(
@@ -293,7 +293,7 @@ def test_transform_radians():
 
 
 def test_itransform_radians():
-    with pytest.warns(DeprecationWarning):
+    with pytest.warns(FutureWarning):
         WGS84 = pyproj.Proj("+init=EPSG:4326")
     ECEF = pyproj.Proj(proj="geocent", ellps="WGS84", datum="WGS84")
     assert_almost_equal(
@@ -515,7 +515,7 @@ def test_transformer_group():
     assert trans_group.best_available
 
 
-def test_transformer_group__unavailable():
+def test_transformer_group__unavailable(aoi_data_directory):
     trans_group = TransformerGroup(4326, 2964)
     assert len(trans_group.unavailable_operations) == 1
     assert (
@@ -526,8 +526,8 @@ def test_transformer_group__unavailable():
     assert trans_group.best_available
 
 
-def test_transform_group__missing_best():
-    with pytest.warns(DeprecationWarning):
+def test_transform_group__missing_best(aoi_data_directory):
+    with pytest.warns(FutureWarning):
         lat_lon_proj = pyproj.Proj(init="epsg:4326", preserve_units=False)
         alaska_aea_proj = pyproj.Proj(init="epsg:2964", preserve_units=False)
 
@@ -543,27 +543,6 @@ def test_transform_group__missing_best():
     assert len(trans_group.unavailable_operations) == 41
 
 
- at pytest.fixture(scope="module")
-def aoi_data_directory():
-    """
-    This is to ensure that the ntv2_0.gsb file is actually
-    missing for the AOI tests.
-    """
-    data_dir = pyproj.datadir.get_data_dir()
-    with tempfile.TemporaryDirectory() as tmpdir:
-        tmp_data_dir = os.path.join(tmpdir, "proj")
-        shutil.copytree(data_dir, tmp_data_dir)
-        try:
-            os.remove(os.path.join(str(tmp_data_dir), "ntv2_0.gsb"))
-        except OSError:
-            pass
-        try:
-            pyproj.datadir.set_data_dir(str(tmp_data_dir))
-            yield
-        finally:
-            pyproj.datadir.set_data_dir(data_dir)
-
-
 def test_transform_group__area_of_interest(aoi_data_directory):
     with pytest.warns(
         UserWarning, match="Best transformation is not available due to missing Grid"



View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/compare/586620dd72daa2a1eeb28628c906fa7751cee65e...b1df1aef1fa5ad8c0a5b894be3233549c3b29778

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-pyproj/compare/586620dd72daa2a1eeb28628c906fa7751cee65e...b1df1aef1fa5ad8c0a5b894be3233549c3b29778
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/20191126/aa142289/attachment-0001.html>


More information about the Pkg-grass-devel mailing list