Codebase list python-pyproj / 36d6030
Import upstream version 3.1.0+git20210524.1.6127f7a Debian Janitor 2 years ago
38 changed file(s) with 436 addition(s) and 1651 deletion(s). Raw diff Collapse all Expand all
+0
-448
.all-contributorsrc less more
0 {
1 "projectName": "pyproj",
2 "projectOwner": "pyproj4",
3 "repoType": "github",
4 "repoHost": "https://github.com",
5 "files": [
6 "README.md"
7 ],
8 "imageSize": 100,
9 "commit": true,
10 "commitConvention": "none",
11 "contributors": [
12 {
13 "login": "jswhit",
14 "name": "Jeff Whitaker",
15 "avatar_url": "https://avatars2.githubusercontent.com/u/579593?v=4",
16 "profile": "https://github.com/jswhit",
17 "contributions": [
18 "doc",
19 "test",
20 "code",
21 "example",
22 "ideas",
23 "review",
24 "question",
25 "maintenance",
26 "infra",
27 "bug"
28 ]
29 },
30 {
31 "login": "snowman2",
32 "name": "Alan D. Snow",
33 "avatar_url": "https://avatars3.githubusercontent.com/u/8699967?v=4",
34 "profile": "https://github.com/snowman2",
35 "contributions": [
36 "doc",
37 "test",
38 "code",
39 "example",
40 "maintenance",
41 "infra",
42 "ideas",
43 "review",
44 "question",
45 "bug"
46 ]
47 },
48 {
49 "login": "micahcochran",
50 "name": "Micah Cochran",
51 "avatar_url": "https://avatars0.githubusercontent.com/u/7433104?v=4",
52 "profile": "https://github.com/micahcochran",
53 "contributions": [
54 "doc",
55 "test",
56 "code",
57 "maintenance",
58 "infra",
59 "review",
60 "question",
61 "bug"
62 ]
63 },
64 {
65 "login": "jorisvandenbossche",
66 "name": "Joris Van den Bossche",
67 "avatar_url": "https://avatars2.githubusercontent.com/u/1020496?v=4",
68 "profile": "https://jorisvandenbossche.github.io/",
69 "contributions": [
70 "doc",
71 "code",
72 "ideas",
73 "review",
74 "question",
75 "bug",
76 "test"
77 ]
78 },
79 {
80 "login": "cjmayo",
81 "name": "Chris Mayo",
82 "avatar_url": "https://avatars1.githubusercontent.com/u/921089?v=4",
83 "profile": "https://github.com/cjmayo",
84 "contributions": [
85 "test"
86 ]
87 },
88 {
89 "login": "cffk",
90 "name": "Charles Karney",
91 "avatar_url": "https://avatars1.githubusercontent.com/u/2298266?v=4",
92 "profile": "https://www.petrel.org",
93 "contributions": [
94 "code",
95 "test"
96 ]
97 },
98 {
99 "login": "zippy1981",
100 "name": "Justin Dearing",
101 "avatar_url": "https://avatars3.githubusercontent.com/u/146930?v=4",
102 "profile": "http://www.justaprogrammer.net/profile/justin",
103 "contributions": [
104 "infra"
105 ]
106 },
107 {
108 "login": "jdkloe",
109 "name": "Jos de Kloe",
110 "avatar_url": "https://avatars3.githubusercontent.com/u/1906112?v=4",
111 "profile": "https://github.com/jdkloe",
112 "contributions": [
113 "code",
114 "test",
115 "bug"
116 ]
117 },
118 {
119 "login": "georgeouzou",
120 "name": "George Ouzounoudis",
121 "avatar_url": "https://avatars3.githubusercontent.com/u/16732042?v=4",
122 "profile": "https://github.com/georgeouzou",
123 "contributions": [
124 "code",
125 "ideas"
126 ]
127 },
128 {
129 "login": "djhoese",
130 "name": "David Hoese",
131 "avatar_url": "https://avatars3.githubusercontent.com/u/1828519?v=4",
132 "profile": "https://github.com/djhoese",
133 "contributions": [
134 "review",
135 "ideas",
136 "platform",
137 "doc",
138 "test",
139 "code"
140 ]
141 },
142 {
143 "login": "mitkin",
144 "name": "Mikhail Itkin",
145 "avatar_url": "https://avatars3.githubusercontent.com/u/3927849?v=4",
146 "profile": "http://mitkin.github.io",
147 "contributions": [
148 "code"
149 ]
150 },
151 {
152 "login": "dopplershift",
153 "name": "Ryan May",
154 "avatar_url": "https://avatars2.githubusercontent.com/u/221526?v=4",
155 "profile": "http://dopplershift.github.io",
156 "contributions": [
157 "code"
158 ]
159 },
160 {
161 "login": "artttt",
162 "name": "artttt",
163 "avatar_url": "https://avatars3.githubusercontent.com/u/4626281?v=4",
164 "profile": "https://github.com/artttt",
165 "contributions": [
166 "ideas"
167 ]
168 },
169 {
170 "login": "ocefpaf",
171 "name": "Filipe",
172 "avatar_url": "https://avatars1.githubusercontent.com/u/950575?v=4",
173 "profile": "http://ocefpaf.github.io/python4oceanographers",
174 "contributions": [
175 "infra",
176 "code",
177 "platform"
178 ]
179 },
180 {
181 "login": "heitorPB",
182 "name": "Heitor",
183 "avatar_url": "https://avatars2.githubusercontent.com/u/13461702?v=4",
184 "profile": "https://github.com/heitorPB",
185 "contributions": [
186 "doc"
187 ]
188 },
189 {
190 "login": "sebastic",
191 "name": "Bas Couwenberg",
192 "avatar_url": "https://avatars3.githubusercontent.com/u/4605306?v=4",
193 "profile": "https://github.com/sebastic",
194 "contributions": [
195 "code",
196 "platform",
197 "test"
198 ]
199 },
200 {
201 "login": "nickeubank",
202 "name": "Nick Eubank",
203 "avatar_url": "https://avatars0.githubusercontent.com/u/9683693?v=4",
204 "profile": "https://github.com/nickeubank",
205 "contributions": [
206 "code"
207 ]
208 },
209 {
210 "login": "mdunphy",
211 "name": "Michael Dunphy",
212 "avatar_url": "https://avatars3.githubusercontent.com/u/9088426?v=4",
213 "profile": "https://www.math.uwaterloo.ca/~mdunphy/",
214 "contributions": [
215 "doc"
216 ]
217 },
218 {
219 "login": "matthew-brett",
220 "name": "Matthew Brett",
221 "avatar_url": "https://avatars2.githubusercontent.com/u/67612?v=4",
222 "profile": "http://matthew.dynevor.org",
223 "contributions": [
224 "infra",
225 "platform"
226 ]
227 },
228 {
229 "login": "jdemaeyer",
230 "name": "Jakob de Maeyer ",
231 "avatar_url": "https://avatars1.githubusercontent.com/u/10531844?v=4",
232 "profile": "https://naboa.de",
233 "contributions": [
234 "code"
235 ]
236 },
237 {
238 "login": "gitter-badger",
239 "name": "The Gitter Badger",
240 "avatar_url": "https://avatars2.githubusercontent.com/u/8518239?v=4",
241 "profile": "https://gitter.im",
242 "contributions": [
243 "doc"
244 ]
245 },
246 {
247 "login": "bmwiedemann",
248 "name": "Bernhard M. Wiedemann",
249 "avatar_url": "https://avatars3.githubusercontent.com/u/637990?v=4",
250 "profile": "http://lizards.opensuse.org/author/bmwiedemann/",
251 "contributions": [
252 "code"
253 ]
254 },
255 {
256 "login": "ReallyNiceGuy",
257 "name": "Marco Aurélio da Costa",
258 "avatar_url": "https://avatars0.githubusercontent.com/u/6545730?v=4",
259 "profile": "https://github.com/ReallyNiceGuy",
260 "contributions": [
261 "code"
262 ]
263 },
264 {
265 "login": "ChrisBarker-NOAA",
266 "name": "Christopher H. Barker",
267 "avatar_url": "https://avatars2.githubusercontent.com/u/916576?v=4",
268 "profile": "https://github.com/ChrisBarker-NOAA",
269 "contributions": [
270 "code"
271 ]
272 },
273 {
274 "login": "kbevers",
275 "name": "Kristian Evers",
276 "avatar_url": "https://avatars3.githubusercontent.com/u/13132571?v=4",
277 "profile": "https://evers.dev/",
278 "contributions": [
279 "question",
280 "ideas",
281 "doc"
282 ]
283 },
284 {
285 "login": "rouault",
286 "name": "Even Rouault",
287 "avatar_url": "https://avatars2.githubusercontent.com/u/1192433?v=4",
288 "profile": "http://www.spatialys.com/en/about/",
289 "contributions": [
290 "question"
291 ]
292 },
293 {
294 "login": "cgohlke",
295 "name": "Christoph Gohlke",
296 "avatar_url": "https://avatars3.githubusercontent.com/u/483428?v=4",
297 "profile": "https://github.com/cgohlke",
298 "contributions": [
299 "platform",
300 "question",
301 "bug",
302 "test"
303 ]
304 },
305 {
306 "login": "chrrrisw",
307 "name": "Chris Willoughby",
308 "avatar_url": "https://avatars0.githubusercontent.com/u/5555320?v=4",
309 "profile": "https://github.com/chrrrisw",
310 "contributions": [
311 "code"
312 ]
313 },
314 {
315 "login": "glostis",
316 "name": "Guillaume Lostis",
317 "avatar_url": "https://avatars0.githubusercontent.com/u/25295717?v=4",
318 "profile": "https://github.com/glostis",
319 "contributions": [
320 "doc"
321 ]
322 },
323 {
324 "login": "edpop",
325 "name": "Eduard Popov",
326 "avatar_url": "https://avatars3.githubusercontent.com/u/13479292?v=4",
327 "profile": "https://github.com/edpop",
328 "contributions": [
329 "doc"
330 ]
331 },
332 {
333 "login": "jranalli",
334 "name": "Joe Ranalli",
335 "avatar_url": "https://avatars2.githubusercontent.com/u/7864460?v=4",
336 "profile": "http://www.personal.psu.edu/jar339",
337 "contributions": [
338 "bug",
339 "code",
340 "test"
341 ]
342 },
343 {
344 "login": "gberardinelli",
345 "name": "Greg Berardinelli",
346 "avatar_url": "https://avatars0.githubusercontent.com/u/13799588?v=4",
347 "profile": "https://github.com/gberardinelli",
348 "contributions": [
349 "bug",
350 "code",
351 "ideas",
352 "test"
353 ]
354 },
355 {
356 "login": "mraspaud",
357 "name": "Martin Raspaud",
358 "avatar_url": "https://avatars1.githubusercontent.com/u/167802?v=4",
359 "profile": "https://github.com/mraspaud",
360 "contributions": [
361 "bug",
362 "code",
363 "test",
364 "ideas"
365 ]
366 },
367 {
368 "login": "mwtoews",
369 "name": "Mike Taves",
370 "avatar_url": "https://avatars1.githubusercontent.com/u/895458?v=4",
371 "profile": "https://sites.google.com/site/mwtoews/",
372 "contributions": [
373 "test"
374 ]
375 },
376 {
377 "login": "habi",
378 "name": "David Haberthür",
379 "avatar_url": "https://avatars2.githubusercontent.com/u/1651235?v=4",
380 "profile": "http://davidhaberthür.ch",
381 "contributions": [
382 "doc"
383 ]
384 },
385 {
386 "login": "mmodenesi",
387 "name": "mmodenesi",
388 "avatar_url": "https://avatars2.githubusercontent.com/u/5569789?v=4",
389 "profile": "https://github.com/mmodenesi",
390 "contributions": [
391 "bug",
392 "code",
393 "test"
394 ]
395 },
396 {
397 "login": "jacob-indigo",
398 "name": "jacob-indigo",
399 "avatar_url": "https://avatars0.githubusercontent.com/u/48448372?v=4",
400 "profile": "https://www.indigoag.com/",
401 "contributions": [
402 "bug",
403 "code"
404 ]
405 },
406 {
407 "login": "rahulporuri",
408 "name": "Poruri Sai Rahul",
409 "avatar_url": "https://avatars0.githubusercontent.com/u/1926457?v=4",
410 "profile": "https://rahulporuri.github.io",
411 "contributions": [
412 "test"
413 ]
414 },
415 {
416 "login": "underchemist",
417 "name": "Yann-Sebastien Tremblay-Johnston",
418 "avatar_url": "https://avatars1.githubusercontent.com/u/5283998?v=4",
419 "profile": "https://medium.com/@underchemist",
420 "contributions": [
421 "doc"
422 ]
423 },
424 {
425 "login": "odidev",
426 "name": "odidev",
427 "avatar_url": "https://avatars2.githubusercontent.com/u/40816837?v=4",
428 "profile": "https://github.com/odidev",
429 "contributions": [
430 "platform"
431 ]
432 },
433 {
434 "login": "idanmiara",
435 "name": "Idan Miara",
436 "avatar_url": "https://avatars.githubusercontent.com/u/26349741?v=4",
437 "profile": "https://github.com/idanmiara",
438 "contributions": [
439 "code",
440 "doc",
441 "example",
442 "test"
443 ]
444 }
445 ],
446 "contributorsPerLine": 7
447 }
+0
-6
.coveragerc less more
0 [run]
1 plugins = Cython.Coverage
2
3 [report]
4 # number of decimal points to report for coverage percentage
5 precision = 2
+0
-63
.github/ISSUE_TEMPLATE/bug_report.md less more
0 ---
1 name: Bug report
2 about: Create a report to help us improve
3 labels: bug
4 ---
5
6 <!-- Please search existing issues to avoid creating duplicates. -->
7
8
9 #### Code Sample, a copy-pastable example if possible
10
11 A "Minimal, Complete and Verifiable Example" will make it much easier for maintainers to help you:
12 http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports
13
14 ```python
15 # Your code here
16 ```
17 #### Problem description
18
19 [this should explain **why** the current behavior is a problem and why the expected output is a better solution.]
20
21 #### Expected Output
22
23
24 #### Environment Information
25 <!-- If you have pyproj 3+ -->
26 - Output from: `pyproj -v`
27 <!-- If you have pyproj>=2.4.0 -->
28 - Output from: `python -m pyproj -v`
29 <!-- If you have pyproj>=2.2.1 -->
30 - Output from: `python -c "import pyproj; pyproj.show_versions()"`
31 <!-- If you have pyproj<2.2.1 -->
32 - pyproj version (`python -c "import pyproj; print(pyproj.__version__)"`)
33 - PROJ version (`python -c "import pyproj; print(pyproj.proj_version_str)"`)
34 - PROJ data directory (`python -c "import pyproj; print(pyproj.datadir.get_data_dir())"`)
35 - Python version (`python -c "import sys; print(sys.version.replace('\n', ' '))"`)
36 - Operation System Information (`python -c "import platform; print(platform.platform())"`)
37
38
39 #### Installation method
40 - conda, pip wheel, from source, etc...
41
42 #### Conda environment information (if you installed with conda):
43
44 <br/>
45 Environment (<code>conda list</code>):
46 <details>
47
48 ```
49 $ conda list proj
50
51 ```
52 </details>
53
54 <br/>
55 Details about <code>conda</code> and system ( <code>conda info</code> ):
56 <details>
57
58 ```
59 $ conda info
60
61 ```
62 </details>
+0
-7
.github/ISSUE_TEMPLATE/config.yml less more
0 contact_links:
1 - name: Ask questions
2 url: https://github.com/pyproj4/pyproj/discussions
3 about: Please ask and answer questions here.
4 - name: Ask questions from the GIS community
5 url: https://gis.stackexchange.com/questions/tagged/pyproj
6 about: To get answers from questions in the GIS commminuty, please ask and answer questions here with the pyproj tag.
+0
-9
.github/ISSUE_TEMPLATE/feature_request.md less more
0 ---
1 name: Feature request
2 about: Suggest an idea for this project
3 labels: proposal
4 ---
5
6 <!-- Please search existing issues to avoid creating duplicates. -->
7
8 <!-- Describe the feature you'd like. -->
+0
-18
.github/ISSUE_TEMPLATE/installation_issues.md less more
0 ---
1 name: Installation issues
2 about: Issues installing pyproj (http://pyproj4.github.io/pyproj/stable/installation.html)
3 labels: installation-issues
4 ---
5
6 <!-- Please search existing issues to avoid creating duplicates. -->
7
8 #### Installation method/steps
9 - Installation method (conda, pip wheel, from source, etc...)
10 - How did you install PROJ? Where is it installed?
11 - Please provide all commands/steps you used to install pyproj and PROJ.
12
13 #### Environment Information
14 - pyproj version you are attempting to install
15 - PROJ version (Execute `proj` command and give version here.)
16 - Python version (`python -c "import sys; print(sys.version.replace('\n', ' '))"`)
17 - Operation System Information (`python -c "import platform; print(platform.platform())"`)
+0
-5
.github/PULL_REQUEST_TEMPLATE.md less more
0 <!-- Feel free to remove check-list items aren't relevant to your change -->
1
2 - [ ] Closes #xxxx
3 - [ ] Tests added
4 - [ ] Fully documented, including `history.rst` for all changes and `api/*.rst` for new API
+0
-53
.github/workflows/build_docs.yaml less more
0 name: Publish Docs
1
2 on:
3 push:
4 branches: [ master ]
5 release:
6 types: [ created ]
7
8 jobs:
9 docs:
10 name: Publish Docs
11 runs-on: ubuntu-latest
12
13 steps:
14 - uses: actions/checkout@v2
15 with:
16 persist-credentials: false
17
18 - name: Setup Conda
19 uses: s-weigand/setup-conda@v1
20 with:
21 activate-conda: false
22 python-version: 3.8
23 conda-channels: conda-forge
24
25 - name: Install and Build
26 shell: bash
27 run: |
28 conda create -n docs python=3.8 cython proj
29 source activate docs
30 python -m pip install -e . --no-use-pep517 || python -m pip install -e .
31 python -m pip install -r requirements-docs.txt
32 sphinx-build -b html docs/ docs/_build/
33
34 - name: Deploy 🚀
35 uses: JamesIves/github-pages-deploy-action@3.7.1
36 if: ${{ github.event_name == 'release' }}
37 with:
38 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39 BRANCH: gh-pages
40 FOLDER: docs/_build/
41 CLEAN: false
42 TARGET_FOLDER: ${{ github.ref }}
43
44 - name: Deploy 🚀
45 uses: JamesIves/github-pages-deploy-action@3.7.1
46 if: ${{ github.event_name == 'push' }}
47 with:
48 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49 BRANCH: gh-pages
50 FOLDER: docs/_build/
51 CLEAN: false
52 TARGET_FOLDER: latest
+0
-61
.github/workflows/test_proj_latest.yaml less more
0 name: Test PROJ Latest
1
2 on:
3 push:
4 branches: [ master ]
5 schedule:
6 - cron: '0 0 * * 0'
7
8 jobs:
9 test_proj_latest:
10 name: PROJ Latest
11 runs-on: ubuntu-latest
12 env:
13 PYPROJ_FULL_COVERAGE: YES
14 PROJ_DIR: ${{ github.workspace }}/proj_install
15 PROJ_LIB: ${{ github.workspace }}/proj_install/share/proj
16 steps:
17 - uses: actions/checkout@v2
18 - uses: actions/setup-python@v2
19 with:
20 python-version: 3.7
21 - name: Install PROJ
22 shell: bash
23 run: |
24 sudo apt-get update
25 sudo apt-get install -qq sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev
26 bash ci/proj-compile.sh git
27
28 - name: Install and Log Environment
29 shell: bash
30 run: |
31 python -V
32 python -m pip install cython
33 python -m pip install -e . --no-use-pep517 || python -m pip install -e .
34 python -m pip install -r requirements-test.txt
35 pyproj -v
36
37 - name: Test
38 shell: bash
39 run: |
40 py.test --cov-report term-missing --cov=pyproj --cov-report xml
41
42 - name: Test Network
43 shell: bash
44 env:
45 PROJ_NETWORK: ON
46 run: |
47 py.test
48
49 - name: Test Global Context
50 shell: bash
51 env:
52 PYPROJ_GLOBAL_CONTEXT: ON
53 run: |
54 py.test
55
56 - name: Test Grids
57 shell: bash
58 run: |
59 $PROJ_DIR/bin/projsync --quiet --bbox -175,0,-50,85
60 py.test
+0
-105
.github/workflows/tests.yaml less more
0 name: Tests
1
2 on:
3 push:
4 branches: [ master ]
5 pull_request:
6 branches: [ master ]
7 schedule:
8 - cron: '0 0 * * 0'
9
10 jobs:
11 linting:
12 runs-on: ubuntu-latest
13 steps:
14 - uses: actions/checkout@v2
15 - uses: actions/setup-python@v2
16 - uses: pre-commit/action@v2.0.0
17 - name: Install mypy
18 run: |
19 python -m pip install mypy
20 - name: mypy
21 run: |
22 mypy pyproj
23
24 test:
25 needs: linting
26 name: ${{ matrix.os }}, ${{ matrix.python-version }}, PROJ=${{ matrix.proj-version }}
27 runs-on: ${{ matrix.os }}
28 strategy:
29 fail-fast: true
30 matrix:
31 os: [ubuntu-latest, macos-latest, windows-latest]
32 python-version: [3.7, 3.8, 3.9]
33 proj-version: ['*']
34 env:
35 - PYPROJ_FULL_COVERAGE: YES
36 include:
37 - os: ubuntu-latest
38 python-version: 3.7
39 proj-version: 7.2
40 steps:
41 - uses: actions/checkout@v2
42
43 - name: Setup Conda
44 uses: s-weigand/setup-conda@v1
45 with:
46 activate-conda: false
47 python-version: ${{ matrix.python-version }}
48 conda-channels: conda-forge
49
50 - name: Install Env
51 shell: bash
52 run: |
53 conda create -n test python=${{ matrix.python-version }} cython proj=${{ matrix.proj-version }} numpy shapely xarray pandas
54 source activate test
55 python -m pip install -e . --no-use-pep517 || python -m pip install -e .
56 python -m pip install -r requirements-test.txt
57
58 - name: Check and Log Environment
59 shell: bash
60 run: |
61 source activate test
62 python -V
63 pyproj -v
64 conda info
65
66 - name: Test
67 shell: bash
68 run: |
69 source activate test
70 py.test --cov-report term-missing --cov=pyproj --cov-report xml
71
72 - name: Test Network
73 shell: bash
74 env:
75 PROJ_NETWORK: ON
76 run: |
77 source activate test
78 py.test
79
80 - name: Test Global Context
81 shell: bash
82 env:
83 PYPROJ_GLOBAL_CONTEXT: ON
84 run: |
85 source activate test
86 py.test
87
88 - name: Test Grids
89 shell: bash
90 run: |
91 source activate test
92 projsync --quiet --bbox -175,0,-50,85
93 py.test
94
95 - name: Test Build docs
96 shell: bash
97 if: contains(matrix.os, 'ubuntu')
98 run: |
99 source activate test
100 python -m pip install -r requirements-docs.txt
101 sphinx-build -b html docs/ docs/_build/
102 sphinx-build -b man docs/ docs/_build/
103
104 - uses: codecov/codecov-action@v1
+0
-119
.gitignore less more
0 pyproj/proj_dir/
1 pyproj/*.c
2 pyproj/*/*.c
3 pyproj/*/*.html
4 pyproj/*.html
5 proj-*/
6
7 # Byte-compiled / optimized / DLL files
8 __pycache__/
9 *.py[cod]
10 *$py.class
11
12 # C extensions
13 *.so
14
15 # Distribution / packaging
16 wheelhouse/
17 .Python
18 env/
19 build/
20 develop-eggs/
21 dist/
22 downloads/
23 eggs/
24 .eggs/
25 lib/
26 lib64/
27 parts/
28 sdist/
29 var/
30 wheels/
31 *.egg-info/
32 .installed.cfg
33 *.egg
34
35 # PyInstaller
36 # Usually these files are written by a python script from a template
37 # before PyInstaller builds the exe, so as to inject date/other infos into it.
38 *.manifest
39 *.spec
40
41 # Installer logs
42 pip-log.txt
43 pip-delete-this-directory.txt
44
45 # Unit test / coverage reports
46 htmlcov/
47 .tox/
48 .coverage
49 .coverage.*
50 .cache
51 nosetests.xml
52 coverage.xml
53 *.cover
54 .hypothesis/
55 .pytest_cache/
56
57 # Translations
58 *.mo
59 *.pot
60
61 # Django stuff:
62 *.log
63 local_settings.py
64
65 # Flask stuff:
66 instance/
67 .webassets-cache
68
69 # Scrapy stuff:
70 .scrapy
71
72 # Sphinx documentation
73 docs/_build/
74
75 # PyBuilder
76 target/
77
78 # Jupyter Notebook
79 .ipynb_checkpoints
80
81 # pyenv
82 .python-version
83
84 # celery beat schedule file
85 celerybeat-schedule
86
87 # SageMath parsed files
88 *.sage.py
89
90 # dotenv
91 .env
92
93 # virtualenv
94 .venv
95 venv/
96 ENV/
97
98 # Spyder project settings
99 .spyderproject
100 .spyproject
101
102 # Rope project settings
103 .ropeproject
104
105 # mkdocs documentation
106 /site
107
108 # mypy
109 .mypy_cache/
110
111 # pycharm
112 .idea/
113
114 # pytest
115 .pytest_cache/
116
117 # vscode
118 .vscode/
+0
-3
.isort.cfg less more
0 [settings]
1 known_first_party=pyproj,test
2 profile=black
+0
-32
.pre-commit-config.yaml less more
0 repos:
1 - repo: https://github.com/pre-commit/pre-commit-hooks
2 rev: v3.2.0
3 hooks:
4 - id: check-yaml
5 - id: end-of-file-fixer
6 - id: trailing-whitespace
7 - repo: https://github.com/psf/black
8 rev: 20.8b1
9 hooks:
10 - id: black
11 - repo: https://github.com/timothycrosley/isort
12 rev: 5.6.1
13 hooks:
14 - id: isort
15 args: [setup.py, pyproj/, test/, docs/]
16 - repo: https://github.com/asottile/blacken-docs
17 rev: v1.8.0
18 hooks:
19 - id: blacken-docs
20 args: [--skip-errors]
21 - repo: https://gitlab.com/pycqa/flake8
22 rev: 3.8.4
23 hooks:
24 - id: flake8
25 additional_dependencies: [flake8-comprehensions>=3.1.0]
26 - id: flake8
27 name: flake8-pyx
28 files: \.(pyx|pxd)$
29 types:
30 - file
31 args: [--append-config=flake8/cython.cfg]
+0
-6
.stickler.yml less more
0 linters:
1 black:
2 config: ./pyproject.toml
3 flake8:
4 python: 3
5 max-line-length: 88
+0
-76
CODE_OF_CONDUCT.md less more
0 # Contributor Covenant Code of Conduct
1
2 ## Our Pledge
3
4 In the interest of fostering an open and welcoming environment, we as
5 contributors and maintainers pledge to making participation in our project and
6 our community a harassment-free experience for everyone, regardless of age, body
7 size, disability, ethnicity, sex characteristics, gender identity and expression,
8 level of experience, education, socio-economic status, nationality, personal
9 appearance, race, religion, or sexual identity and orientation.
10
11 ## Our Standards
12
13 Examples of behavior that contributes to creating a positive environment
14 include:
15
16 * Using welcoming and inclusive language
17 * Being respectful of differing viewpoints and experiences
18 * Gracefully accepting constructive criticism
19 * Focusing on what is best for the community
20 * Showing empathy towards other community members
21
22 Examples of unacceptable behavior by participants include:
23
24 * The use of sexualized language or imagery and unwelcome sexual attention or
25 advances
26 * Trolling, insulting/derogatory comments, and personal or political attacks
27 * Public or private harassment
28 * Publishing others' private information, such as a physical or electronic
29 address, without explicit permission
30 * Other conduct which could reasonably be considered inappropriate in a
31 professional setting
32
33 ## Our Responsibilities
34
35 Project maintainers are responsible for clarifying the standards of acceptable
36 behavior and are expected to take appropriate and fair corrective action in
37 response to any instances of unacceptable behavior.
38
39 Project maintainers have the right and responsibility to remove, edit, or
40 reject comments, commits, code, wiki edits, issues, and other contributions
41 that are not aligned to this Code of Conduct, or to ban temporarily or
42 permanently any contributor for other behaviors that they deem inappropriate,
43 threatening, offensive, or harmful.
44
45 ## Scope
46
47 This Code of Conduct applies both within project spaces and in public spaces
48 when an individual is representing the project or its community. Examples of
49 representing a project or community include using an official project e-mail
50 address, posting via an official social media account, or acting as an appointed
51 representative at an online or offline event. Representation of a project may be
52 further defined and clarified by project maintainers.
53
54 ## Enforcement
55
56 Instances of abusive, harassing, or otherwise unacceptable behavior may be
57 reported by contacting the project team. All
58 complaints will be reviewed and investigated and will result in a response that
59 is deemed necessary and appropriate to the circumstances. The project team is
60 obligated to maintain confidentiality with regard to the reporter of an incident.
61 Further details of specific enforcement policies may be posted separately.
62
63 Project maintainers who do not follow or enforce the Code of Conduct in good
64 faith may face temporary or permanent repercussions as determined by other
65 members of the project's leadership.
66
67 ## Attribution
68
69 This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
70 available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
71
72 [homepage]: https://www.contributor-covenant.org
73
74 For answers to common questions about this code of conduct, see
75 https://www.contributor-covenant.org/faq
+0
-220
CONTRIBUTING.md less more
0 # Contributors Guide
1
2 Based on the guide from: https://github.com/Unidata/MetPy
3
4 Interested in helping build pyproj? Have code from your research that you believe others will find useful? Have a few minutes to tackle an issue? In this guide we will get you setup and integrated into contributing to pyproj!
5
6 ## Introduction
7 First off, thank you for considering contributing to pyproj. pyproj is community-driven
8 project. It's people like you that make pyproj useful and successful. There are many ways
9 to contribute, from writing tutorials or examples, improvements to the documentation,
10 submitting bug reports and feature requests, or even writing code which can be incorporated into pyproj for everyone to use.
11
12 Following these guidelines helps to communicate that you respect the time of the
13 developers managing and developing this open source project. In return, they
14 should reciprocate that respect in addressing your issue, assessing changes, and
15 helping you finalize your pull requests.
16
17 So, please take a few minutes to read through this guide and get setup for success with your pyproj contributions. We're glad you're here!
18
19 ## What Can I Do?
20 * Tackle any [issues](https://github.com/pyproj4/pyproj/issues) you wish! We have a special
21 label for issues that beginners might want to try. Have a look at our
22 [current beginner issues.](https://github.com/pyproj4/pyproj/issues?q=is%3Aopen+is%3Aissue+label%3A%22Difficulty%3A+Beginner%22)
23 Also have a look at if the issue is already assigned to someone - this helps us make sure that work is not duplicated if the issue is already being worked on by someone else.
24
25 * Contribute code you already have. It does not need to be perfect! We will help you clean
26 things up, test it, etc.
27
28 * Make a tutorial or example of how to do something.
29
30 * Improve documentation of a feature you found troublesome.
31
32 * File a new issue if you run into problems!
33
34 ## Ground Rules
35 The goal is to maintain a diverse community that's pleasant for everyone. Please
36 be considerate and respectful of others by following our
37 [code of conduct](https://github.com/pyproj4/pyproj/blob/master/CODE_OF_CONDUCT.md).
38
39 Other items:
40
41 * Each pull request should consist of a logical collection of changes. You can
42 include multiple bug fixes in a single pull request, but they should be related.
43 For unrelated changes, please submit multiple pull requests.
44 * Do not commit changes to files that are irrelevant to your feature or bugfix
45 (eg: .gitignore).
46 * Be willing to accept criticism and work on improving your code; we don't want
47 to break other users' code, so care must be taken not to introduce bugs.
48 * Be aware that the pull request review process is not immediate, and is
49 generally proportional to the size of the pull request.
50
51 ## Reporting a bug
52 The easiest way to get involved is to report issues you encounter when using pyproj or by
53 requesting something you think is missing.
54
55 * Head over to the [issues](https://github.com/pyproj4/pyproj/issues) page.
56 * Search to see if your issue already exists or has even been solved previously.
57 * If you indeed have a new issue or request, click the "New Issue" button.
58 * Fill in as much of the issue template as is relevant. Please be as specific as possible.
59 Include the version of the code you were using, as well as what operating system you
60 are running. If possible, include complete, minimal example code that reproduces the problem.
61
62 ## Setting up your development environment
63 We recommend using the [conda](https://conda.io/docs/) package manager for your Python
64 environments. Our recommended setup for contributing is:
65
66 * Install [miniconda](https://docs.conda.io/en/latest/miniconda.html) on your system.
67 * Install git on your system if it is not already there (install XCode command line tools on
68 a Mac or git bash on Windows)
69 * Login to your GitHub account and make a fork of the
70 [pyproj repository](https://github.com/pyproj4/pyproj/) by clicking the "Fork" button.
71 * Clone your fork of the pyproj repository (in terminal on Mac/Linux or git shell/
72 GUI on Windows) in the location you'd like to keep it. We are partial to creating a
73 ``git_repos`` directory in our home folder.
74 ``git clone https://github.com/your-user-name/pyproj.git``
75 * Navigate to that folder in the terminal or in Anaconda Prompt if you're on Windows.
76 ``cd pyproj``
77 * Connect your repository to the upstream (main project).
78 ``git remote add upstream https://github.com/pyproj4/pyproj.git``
79 * Create the development environment by running ``conda create -n devel -c conda-forge cython proj numpy shapely xarray pandas``.
80 * If the minimum PROJ version is not yet available, you can build PROJ from source using:
81 ```bash
82 export PROJ_DIR=$PWD/pyproj/proj_dir
83 mkdir $PROJ_DIR
84 bash ci/proj-compile.sh git
85 ```
86 * Activate our new development environment ``conda activate devel`` on Mac/Linux or
87 ``activate devel`` on Windows.
88 * Install development requirements ``pip install -r requirements-dev.txt``
89 * Make an editable install of pyproj by running ``pip install -e .``
90 * Setup pre-commit hooks ``pre-commit install`` and ``pre-commit autoupdate``
91
92 Now you're all set! You have an environment called ``devel`` that you can work in. You'll need
93 to make sure to activate that environment next time you want to use it after closing the
94 terminal or your system. If you want to get back to the root environment, just run
95 ``source deactivate`` (just ``deactivate`` on Windows).
96
97 ## Pull Requests
98
99 The changes to the pyproj source (and documentation) should be made via GitHub pull requests against ``master``, even for those with administration rights. While it's tempting to make changes directly to ``master`` and push them up, it is better to make a pull request so that others can give feedback. If nothing else, this gives a chance for the automated tests to run on the PR. This can eliminate "brown paper bag" moments with buggy commits on the master branch.
100
101 During the Pull Request process, before the final merge, it's a good idea to rebase the branch and squash together smaller commits. It's not necessary to flatten the entire branch, but it can be nice to eliminate small fixes and get the merge down to logically arranged commits. This can also be used to hide sins from history--this is the only chance, since once it hits ``master``, it's there forever!
102
103 **Working on your first Pull Request?** You can learn how from this *free* video series
104 [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github), Aaron Meurer's [tutorial on the git workflow](https://www.asmeurer.com/git-workflow/), or the guide [“How to Contribute to Open Source"](https://opensource.guide/how-to-contribute/).
105
106 Commit the changes you made. Chris Beams has written a [guide](https://chris.beams.io/posts/git-commit/) on how to write good commit messages.
107
108 Push to your fork and [submit a pull request]( https://github.com/pyproj4/pyproj/compare/).
109
110 ## Documentation
111 Now that you've made your awesome contribution, it's time to tell the world how to use it.
112 Writing documentation strings is really important to make sure others use your functionality properly. Didn't write new functions? That's fine, but be sure that the documentation for the code you touched is still in great shape. It is not uncommon to find some strange wording or clarification that you can take care of while you are here. If you added a new function make sure that it gets marked as included if appropriate in the GEMPAK conversion table.
113
114 You can write examples in the documentation if they are simple concepts to demonstrate. If
115 your feature is more complex, consider adding to the examples or tutorials for pyproj.
116
117 You can build the documentation locally to see how your changes will look.
118 * Install docs requirements: ``make install-docs``
119 * Build the docs: ``make docs``
120 * Or, to build and open in a browser: ``make docs-browser``
121
122 ## Tests
123 Unit tests are the lifeblood of the project, as it ensures that we can continue to add and
124 change the code and stay confident that things have not broken. Running the tests requires
125 ``pytest``, which is easily available through ``conda`` or ``pip``. It was also installed if you made our default ``devel`` environment.
126
127 ### Running Tests
128 Running the tests can be done by running ``py.test``. Make sure you install the test requirements before running the tests ``pip install -r requirements-test.txt``.
129
130 Running the whole test suite isn't that slow, but can be a burden if you're working on just
131 one module or a specific test. It is easy to run tests on a single directory:
132
133 py.test pyproj/calc
134
135 A specific test can be run as:
136
137 py.test -k test_my_test_func_name
138
139 ### Writing Tests
140 Tests should ideally hit all of the lines of code added or changed. We have automated
141 services that can help track down lines of code that are missed by tests. Watching the
142 coverage has even helped find sections of dead code that could be removed!
143
144 Let's say we are adding a simple function to add two numbers and return the result as a float or as a string. (This would be a silly function, but go with us here for demonstration purposes.)
145
146 def add_as_float_or_string(a, b, as_string=False):
147 res = a + b
148 if as_string:
149 return string(res)
150 return res
151
152 I can see two easy tests here: one for the results as a float and one for the results as a
153 string. If I had added this to the ``calc`` module, I'd add those two tests in
154 ``tests/test_calc.py``.
155
156 def test_add_as_float_or_string_defaults():
157 res = add_as_float_or_string(3, 4)
158 assert(res, 7)
159
160
161 def test_add_as_float_or_string_string_return():
162 res = add_as_float_or_string(3, 4, as_string=True)
163 assert(res, '7')
164
165 There are plenty of more advanced testing concepts, like dealing with floating point
166 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.
167
168 ## Code Style
169 pyproj uses the Python code style outlined in [PEP8](https://pep8.org) and [black](https://github.com/python/black).
170
171 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
172 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 ``make lint`` in the base of the repository.
173
174 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.
175
176 ## What happens after the pull request
177 You've make your changes, documented them, added some tests, and submitted a pull request.
178 What now?
179
180 ### Automated Testing
181 First, our army of never sleeping robots will begin a series of automated checks.
182 The test suite, documentation, style, and more will be checked on various versions of Python with current and legacy packages. Travis CI will run testing on Linux and Mac, Appveyor will run tests on Windows. Other services will kick in and check if there is a drop in code coverage or any style variations that should be corrected. If you see a red mark by a service, something failed and clicking the "Details" link will give you more information. We're happy to help if you are stuck.
183
184 The robots can be difficult to satisfy, but they are there to help everyone write better code. In some cases, there will be exceptions to their suggestions, but these are rare. If you make changes to your code and push again, the tests will automatically run again.
185
186 ### Code Review
187 At this point you're waiting on us. You should expect to hear at least a comment within a
188 couple of days. We may suggest some changes or improvements or alternatives.
189
190 Some things that will increase the chance that your pull request is accepted quickly:
191
192 * Write tests.
193 * Follow [PEP8](https://pep8.org) for style. (The `flake8` utility can help with this.)
194 * Use [black](https://github.com/python/black)
195 * Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
196
197 Pull requests will automatically have tests run by Travis. This includes
198 running both the unit tests as well as the `flake8` code linter.
199
200 ### Merging
201 Once we're all happy with the pull request, it's time for it to get merged in. Only the
202 maintainers can merge pull requests and you should never merge a pull request you have commits on as it circumvents the code review. If this is your first or second pull request, we'll likely help by rebasing and cleaning up the commit history for you. As your developement skills increase, we'll help you learn how to do this.
203
204 ## Allcontributors Recognition
205
206 We do our best to recognize contributions, but we may miss some. If we did, please let us know. Also, if you would prefer not to be recognized on the README, please let us know.
207
208
209 ## More Questions?
210 If you're stuck somewhere or are interested in being a part of the community in
211 other ways, feel free to contact us:
212 * [pyproj's Gitter Channel](https://gitter.im/pyproj4-pyproj/community)
213 * ["pyproj" tag on GIS Stack Exchange](https://gis.stackexchange.com/questions/tagged/pyproj)
214
215 ## Futher Reading
216 There are a ton of great resources out there on contributing to open source and on the
217 importance of writing tested and maintainable software.
218 * [GitHub's Contributing to Open Source Guide](https://guides.github.com/activities/contributing-to-open-source/)
219 * [Zen of Scientific Software Maintenance](https://jrleeman.github.io/ScientificSoftwareMaintenance/)
+0
-62
HOW_TO_RELEASE.md less more
0 # Preparing a pyproj release
1
2 Preparing a pyproj release is a two-phase process.
3
4 ## Phase 1: Release Candidate
5
6 In this phase, we want to ensure all the builds work on all platforms and methods
7 of distribution for the next release.
8
9 ### Add the rc postfix
10
11 The first step in this phase is to update the version number `__version__` in `__init__.py`
12 to the next release `<major>.<minor>.<patch>`. Then, add the `rc` style posfix following the [PEP-440](https://www.python.org/dev/peps/pep-0440/#pre-releases) conventions.
13
14 ### Create a tag on the repository
15
16 The next step is to create a tag with the same name as the version just added. This can be done using the git command line or from https://github.com/pyproj4/pyproj/tags.
17
18 ### Test the release builds
19
20 1. Create a draft PR at https://github.com/pyproj4/pyproj-wheels and verify tests pass.
21 2. Create a draft PR at https://github.com/conda-forge/pyproj-feedstock and verify tests pass.
22 3. Verify Windows wheels built properly.
23 4. Verify Debian builds were succesful.
24 5. Verify the docs build successfully.
25
26 ## Phase 2: Make the release
27
28 After the candidate has proven itself, it will be promoted to a final release.
29
30 ### Remove the rc postfix
31
32 Remove the `rc` postfix from the the version number `__version__` in `__init__.py`.
33
34 ### Create a tag on the repository
35
36 The next step is to create a tag with the name `<major>.<minor>.<patch>`. This can be done using the git command line or from https://github.com/pyproj4/pyproj/tags.
37
38 Next, go through the history and add release notes. Make sure to acknowledge contributions made by others in the release. A useful script for automating this task for code contributions is the [pandas announce script](https://github.com/pandas-dev/pandas/blob/bb6135880e5e453d7701764b9f2e4ad3356a68d7/doc/sphinxext/announce.py).
39
40 ### The wheels
41
42 1. Update the PR at https://github.com/pyproj4/pyproj-wheels with the release tag, merge, and download wheels.
43 2. Retrieve Windows wheels from https://www.lfd.uci.edu/~gohlke/pythonlibs.
44
45 ### Create the release sdist
46
47 1. Make sure the directory is clean and checkout the release tag.
48 2. `python setup.py sdist`
49
50 ### Upload to pypi
51
52 Upload the wheels and the sdist `tar.gz` for the release to pypi.
53
54 ### Verify conda-forge build is correct
55
56 A PR for `pyproj` will be generated automatically after you push to pypi.
57 Verify all is correct on the PR at https://github.com/conda-forge/pyproj-feedstock.
58
59 ### Update the docs
60
61 On the `gh-pages` branch, update the stable symlink to point to the next version.
+0
-33
LICENSE_proj4 less more
0
1 All source, data files and other contents of the PROJ.4 package are
2 available under the following terms. Note that the PROJ 4.3 and earlier
3 was "public domain" as is common with US government work, but apparently
4 this is not a well defined legal term in many countries. I am placing
5 everything under the following MIT style license because I believe it is
6 effectively the same as public domain, allowing anyone to use the code as
7 they wish, including making proprietary derivatives.
8
9 Though I have put my own name as copyright holder, I don't mean to imply
10 I did the work. Essentially all work was done by Gerald Evenden.
11
12 --------------
13
14 Copyright (c) 2000, Frank Warmerdam
15
16 Permission is hereby granted, free of charge, to any person obtaining a
17 copy of this software and associated documentation files (the "Software"),
18 to deal in the Software without restriction, including without limitation
19 the rights to use, copy, modify, merge, publish, distribute, sublicense,
20 and/or sell copies of the Software, and to permit persons to whom the
21 Software is furnished to do so, subject to the following conditions:
22
23 The above copyright notice and this permission notice shall be included
24 in all copies or substantial portions of the Software.
25
26 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
27 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
29 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
31 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
32 DEALINGS IN THE SOFTWARE.
0 Metadata-Version: 2.1
1 Name: pyproj
2 Version: 3.1.1.dev0
3 Summary: Python interface to PROJ (cartographic projections and coordinate transformations library)
4 Home-page: https://github.com/pyproj4/pyproj
5 Author: Jeff Whitaker
6 Author-email: jeffrey.s.whitaker@noaa.gov
7 License: MIT
8 Download-URL: http://python.org/pypi/pyproj
9 Project-URL: Documentation, https://pyproj4.github.io/pyproj/
10 Project-URL: Release Notes, https://pyproj4.github.io/pyproj/stable/history.html
11 Project-URL: Bug Tracker, https://github.com/pyproj4/pyproj/issues
12 Project-URL: Source Code, https://github.com/pyproj4/pyproj
13 Description: # pyproj
14
15 Python interface to [PROJ](http://proj.org) (cartographic projections and coordinate transformations library).
16
17 <p align="center">
18 <a href="https://gitter.im/pyproj4-pyproj/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img alt="Join the chat at https://gitter.im/pyproj4-pyproj/community" src="https://badges.gitter.im/pyproj4-pyproj/community.svg"></a>
19 <a href="#contributors"><img alt="All Contributors" src="https://img.shields.io/badge/all_contributors-41-orange.svg?style=flat-square"></a>
20 <a href="https://ci.appveyor.com/project/jswhit/pyproj"><img alt="Appveyor Build Status" src="https://ci.appveyor.com/api/projects/status/8xkka4s97uwhkc64/branch/master?svg=true"></a>
21 <a href="https://github.com/pyproj4/pyproj/actions?query=workflow%3ATests"><img alt="GitHub Actions Build Status" src="https://github.com/pyproj4/pyproj/workflows/Tests/badge.svg"></a>
22 <a href="https://codecov.io/gh/pyproj4/pyproj"><img alt="Codecov Status" src="https://codecov.io/gh/pyproj4/pyproj/branch/master/graph/badge.svg"></a>
23 <a href="https://badge.fury.io/py/pyproj"><img alt="PyPI" src="https://badge.fury.io/py/pyproj.svg"></a>
24 <a href="https://pepy.tech/project/pyproj"><img alt="Downloads" src="https://pepy.tech/badge/pyproj"></a>
25 <a href="https://anaconda.org/conda-forge/pyproj"><img alt="Anaconda-Server Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg"></a>
26 <a href="https://github.com/python/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
27 <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>
28 <a href="https://zenodo.org/badge/latestdoi/28607354"><img alt="DOI" src="https://zenodo.org/badge/28607354.svg"></a>
29 </p>
30
31
32 ## Documentation
33
34 - Stable: http://pyproj4.github.io/pyproj/stable/
35 - Latest: https://pyproj4.github.io/pyproj/latest/
36
37 ## Bugs/Questions
38
39 - Report bugs/feature requests: https://github.com/pyproj4/pyproj/issues
40 - Ask questions: https://github.com/pyproj4/pyproj/discussions
41 - Ask developer questions: https://gitter.im/pyproj4-pyproj/community
42 - Ask the GIS community: https://gis.stackexchange.com/questions/tagged/pyproj
43
44 ## Contributors ✨
45
46 Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
47
48 <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
49 <!-- prettier-ignore-start -->
50 <!-- markdownlint-disable -->
51 <table>
52 <tr>
53 <td align="center"><a href="https://github.com/jswhit"><img src="https://avatars2.githubusercontent.com/u/579593?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Ajswhit" 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> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajswhit" title="Bug reports">🐛</a></td>
54 <td align="center"><a href="https://github.com/snowman2"><img src="https://avatars3.githubusercontent.com/u/8699967?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Asnowman2" title="Reviewed Pull Requests">👀</a> <a href="#question-snowman2" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Asnowman2" title="Bug reports">🐛</a></td>
55 <td align="center"><a href="https://github.com/micahcochran"><img src="https://avatars0.githubusercontent.com/u/7433104?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Amicahcochran" title="Reviewed Pull Requests">👀</a> <a href="#question-micahcochran" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Amicahcochran" title="Bug reports">🐛</a></td>
56 <td align="center"><a href="https://jorisvandenbossche.github.io/"><img src="https://avatars2.githubusercontent.com/u/1020496?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Ajorisvandenbossche" title="Reviewed Pull Requests">👀</a> <a href="#question-jorisvandenbossche" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajorisvandenbossche" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jorisvandenbossche" title="Tests">⚠️</a></td>
57 <td align="center"><a href="https://github.com/cjmayo"><img src="https://avatars1.githubusercontent.com/u/921089?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Mayo</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=cjmayo" title="Tests">⚠️</a></td>
58 <td align="center"><a href="https://www.petrel.org"><img src="https://avatars1.githubusercontent.com/u/2298266?v=4?s=100" width="100px;" alt=""/><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>
59 <td align="center"><a href="http://www.justaprogrammer.net/profile/justin"><img src="https://avatars3.githubusercontent.com/u/146930?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Justin Dearing</b></sub></a><br /><a href="#infra-zippy1981" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
60 </tr>
61 <tr>
62 <td align="center"><a href="https://github.com/jdkloe"><img src="https://avatars3.githubusercontent.com/u/1906112?v=4?s=100" width="100px;" alt=""/><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>
63 <td align="center"><a href="https://github.com/georgeouzou"><img src="https://avatars3.githubusercontent.com/u/16732042?v=4?s=100" width="100px;" alt=""/><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>
64 <td align="center"><a href="https://github.com/djhoese"><img src="https://avatars3.githubusercontent.com/u/1828519?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Hoese</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Adjhoese" title="Reviewed Pull Requests">👀</a> <a href="#ideas-djhoese" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-djhoese" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Documentation">📖</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Code">💻</a></td>
65 <td align="center"><a href="http://mitkin.github.io"><img src="https://avatars3.githubusercontent.com/u/3927849?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mikhail Itkin</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mitkin" title="Code">💻</a></td>
66 <td align="center"><a href="http://dopplershift.github.io"><img src="https://avatars2.githubusercontent.com/u/221526?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan May</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=dopplershift" title="Code">💻</a></td>
67 <td align="center"><a href="https://github.com/artttt"><img src="https://avatars3.githubusercontent.com/u/4626281?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artttt</b></sub></a><br /><a href="#ideas-artttt" title="Ideas, Planning, & Feedback">🤔</a></td>
68 <td align="center"><a href="http://ocefpaf.github.io/python4oceanographers"><img src="https://avatars1.githubusercontent.com/u/950575?v=4?s=100" width="100px;" alt=""/><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>
69 </tr>
70 <tr>
71 <td align="center"><a href="https://github.com/heitorPB"><img src="https://avatars2.githubusercontent.com/u/13461702?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Heitor</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=heitorPB" title="Documentation">📖</a></td>
72 <td align="center"><a href="https://github.com/sebastic"><img src="https://avatars3.githubusercontent.com/u/4605306?v=4?s=100" width="100px;" alt=""/><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> <a href="https://github.com/pyproj4/pyproj/commits?author=sebastic" title="Tests">⚠️</a></td>
73 <td align="center"><a href="https://github.com/nickeubank"><img src="https://avatars0.githubusercontent.com/u/9683693?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Eubank</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=nickeubank" title="Code">💻</a></td>
74 <td align="center"><a href="https://www.math.uwaterloo.ca/~mdunphy/"><img src="https://avatars3.githubusercontent.com/u/9088426?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Dunphy</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mdunphy" title="Documentation">📖</a></td>
75 <td align="center"><a href="http://matthew.dynevor.org"><img src="https://avatars2.githubusercontent.com/u/67612?v=4?s=100" width="100px;" alt=""/><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>
76 <td align="center"><a href="https://naboa.de"><img src="https://avatars1.githubusercontent.com/u/10531844?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jakob de Maeyer </b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jdemaeyer" title="Code">💻</a></td>
77 <td align="center"><a href="https://gitter.im"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4?s=100" width="100px;" alt=""/><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>
78 </tr>
79 <tr>
80 <td align="center"><a href="http://lizards.opensuse.org/author/bmwiedemann/"><img src="https://avatars3.githubusercontent.com/u/637990?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bernhard M. Wiedemann</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=bmwiedemann" title="Code">💻</a></td>
81 <td align="center"><a href="https://github.com/ReallyNiceGuy"><img src="https://avatars0.githubusercontent.com/u/6545730?v=4?s=100" width="100px;" alt=""/><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>
82 <td align="center"><a href="https://github.com/ChrisBarker-NOAA"><img src="https://avatars2.githubusercontent.com/u/916576?v=4?s=100" width="100px;" alt=""/><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>
83 <td align="center"><a href="https://evers.dev/"><img src="https://avatars3.githubusercontent.com/u/13132571?v=4?s=100" width="100px;" alt=""/><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>
84 <td align="center"><a href="http://www.spatialys.com/en/about/"><img src="https://avatars2.githubusercontent.com/u/1192433?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Even Rouault</b></sub></a><br /><a href="#question-rouault" title="Answering Questions">💬</a></td>
85 <td align="center"><a href="https://github.com/cgohlke"><img src="https://avatars3.githubusercontent.com/u/483428?v=4?s=100" width="100px;" alt=""/><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> <a href="https://github.com/pyproj4/pyproj/commits?author=cgohlke" title="Tests">⚠️</a></td>
86 <td align="center"><a href="https://github.com/chrrrisw"><img src="https://avatars0.githubusercontent.com/u/5555320?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Willoughby</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=chrrrisw" title="Code">💻</a></td>
87 </tr>
88 <tr>
89 <td align="center"><a href="https://github.com/glostis"><img src="https://avatars0.githubusercontent.com/u/25295717?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guillaume Lostis</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=glostis" title="Documentation">📖</a></td>
90 <td align="center"><a href="https://github.com/edpop"><img src="https://avatars3.githubusercontent.com/u/13479292?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Eduard Popov</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=edpop" title="Documentation">📖</a></td>
91 <td align="center"><a href="http://www.personal.psu.edu/jar339"><img src="https://avatars2.githubusercontent.com/u/7864460?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joe Ranalli</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajranalli" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jranalli" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jranalli" title="Tests">⚠️</a></td>
92 <td align="center"><a href="https://github.com/gberardinelli"><img src="https://avatars0.githubusercontent.com/u/13799588?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Greg Berardinelli</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Agberardinelli" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=gberardinelli" title="Code">💻</a> <a href="#ideas-gberardinelli" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/pyproj4/pyproj/commits?author=gberardinelli" title="Tests">⚠️</a></td>
93 <td align="center"><a href="https://github.com/mraspaud"><img src="https://avatars1.githubusercontent.com/u/167802?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin Raspaud</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Amraspaud" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mraspaud" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mraspaud" title="Tests">⚠️</a> <a href="#ideas-mraspaud" title="Ideas, Planning, & Feedback">🤔</a></td>
94 <td align="center"><a href="https://sites.google.com/site/mwtoews/"><img src="https://avatars1.githubusercontent.com/u/895458?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mike Taves</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mwtoews" title="Tests">⚠️</a></td>
95 <td align="center"><a href="http://davidhaberthür.ch"><img src="https://avatars2.githubusercontent.com/u/1651235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Haberthür</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=habi" title="Documentation">📖</a></td>
96 </tr>
97 <tr>
98 <td align="center"><a href="https://github.com/mmodenesi"><img src="https://avatars2.githubusercontent.com/u/5569789?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mmodenesi</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ammodenesi" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mmodenesi" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mmodenesi" title="Tests">⚠️</a></td>
99 <td align="center"><a href="https://www.indigoag.com/"><img src="https://avatars0.githubusercontent.com/u/48448372?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jacob-indigo</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajacob-indigo" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jacob-indigo" title="Code">💻</a></td>
100 <td align="center"><a href="https://rahulporuri.github.io"><img src="https://avatars0.githubusercontent.com/u/1926457?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Poruri Sai Rahul</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=rahulporuri" title="Tests">⚠️</a></td>
101 <td align="center"><a href="https://medium.com/@underchemist"><img src="https://avatars1.githubusercontent.com/u/5283998?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yann-Sebastien Tremblay-Johnston</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=underchemist" title="Documentation">📖</a></td>
102 <td align="center"><a href="https://github.com/odidev"><img src="https://avatars2.githubusercontent.com/u/40816837?v=4?s=100" width="100px;" alt=""/><br /><sub><b>odidev</b></sub></a><br /><a href="#platform-odidev" title="Packaging/porting to new platform">📦</a></td>
103 <td align="center"><a href="https://github.com/idanmiara"><img src="https://avatars.githubusercontent.com/u/26349741?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Idan Miara</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Documentation">📖</a> <a href="#example-idanmiara" title="Examples">💡</a> <a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Tests">⚠️</a></td>
104 </tr>
105 </table>
106
107 <!-- markdownlint-restore -->
108 <!-- prettier-ignore-end -->
109
110 <!-- ALL-CONTRIBUTORS-LIST:END -->
111
112 This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
113
114 Keywords: GIS,map,geospatial,coordinate-systems,coordinate-transformation,cartographic-projection,geodesic
115 Platform: any
116 Classifier: Development Status :: 4 - Beta
117 Classifier: Intended Audience :: Science/Research
118 Classifier: License :: OSI Approved :: MIT License
119 Classifier: Operating System :: OS Independent
120 Classifier: Programming Language :: Python
121 Classifier: Programming Language :: Python :: 3.7
122 Classifier: Programming Language :: Python :: 3.8
123 Classifier: Programming Language :: Python :: 3.9
124 Classifier: Programming Language :: Python :: 3 :: Only
125 Classifier: Topic :: Scientific/Engineering
126 Classifier: Topic :: Scientific/Engineering :: GIS
127 Classifier: Topic :: Scientific/Engineering :: Mathematics
128 Classifier: Topic :: Software Development :: Libraries :: Python Modules
129 Classifier: Typing :: Typed
130 Requires-Python: >=3.7
131 Description-Content-Type: text/markdown
+0
-158
appveyor.yml less more
0 platform:
1 - x64
2
3 # This is based on file and files in ci/appveyor are from
4 # https://github.com/ogrisel/python-appveyor-demo
5 environment:
6 global:
7 # SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
8 # /E:ON and /V:ON options are not enabled in the batch script intepreter
9 # See: http://stackoverflow.com/a/13751649/163740
10 CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci\\appveyor\\run_with_env.cmd"
11 PROJ_BASE_DIR: "%APPVEYOR_BUILD_FOLDER%\\proj_install"
12 PROJ_NETWORK: "ON"
13
14 matrix:
15 # Pre-installed Python versions
16 # See: http://www.appveyor.com/docs/installed-software#python
17 # build is limited to 60 minutes, without caching each build takes 10-30 minutes
18 # with caching build takes less than 1 minute
19 - PYTHON: "C:\\Python37-x64"
20 PYTHON_VERSION: "3.7"
21 PYTHON_ARCH: "64"
22 VS_VERSION: Visual Studio 14
23 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
24 PROJSOURCE: 8.0.0
25 BUILD_SHARED_LIBS: ON
26 # - PYTHON: "C:\\Python37-x64"
27 # PYTHON_VERSION: "3.8"
28 # PYTHON_ARCH: "64"
29 # VS_VERSION: Visual Studio 14
30 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
31 # PROJSOURCE: 7.2.1
32 # BUILD_SHARED_LIBS: ON
33 # - PYTHON: "C:\\Python37-x64"
34 # PYTHON_VERSION: "3.7"
35 # PYTHON_ARCH: "64"
36 # VS_VERSION: Visual Studio 14
37 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
38 # PROJSOURCE: git
39 # BUILD_SHARED_LIBS: ON
40 # matrix:
41 # allow_failures:
42 # - PYTHON: "C:\\Python37-x64"
43 # PYTHON_VERSION: "3.7"
44 # PYTHON_ARCH: "64"
45 # VS_VERSION: Visual Studio 14
46 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
47 # PROJSOURCE: git
48 # BUILD_SHARED_LIBS: ON
49
50 shallow_clone: true
51
52 cache:
53 - C:\Tools\vcpkg\installed\ -> appveyor.yml
54 - C:\Users\appveyor\AppData\Local\pip\Cache\wheels -> appveyor.yml
55 - "%PROJ_BASE_DIR%"
56
57 build_script:
58 - set VCPKG_INSTALLED=C:\Tools\vcpkg\installed\%platform%-windows
59 # If cached directory does not exist, update vcpkg and install dependencies
60 # The checkout of a precise sha1 for VS2015 is a workaround for https://github.com/microsoft/vcpkg/issues/11666
61 - if not exist %VCPKG_INSTALLED%\bin (
62 cd "C:\Tools\vcpkg" &
63 git pull > nul &
64 (if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git checkout a64dc07690bc8806e717e190f62eb58e198b599c)) &
65 .\bootstrap-vcpkg.bat -disableMetrics &
66 vcpkg install sqlite3[core,tool]:"%platform%"-windows &
67 vcpkg install tiff:"%platform%"-windows &
68 vcpkg install curl:"%platform%"-windows &
69 cd %APPVEYOR_BUILD_FOLDER%
70 )
71 - dir %VCPKG_INSTALLED%\bin
72 - set PATH=%VCPKG_INSTALLED%\bin;%PATH%
73 # See https://www.appveyor.com/docs/lang/cpp/
74 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (
75 call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 &
76 call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
77 )
78 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017"
79 (call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %platform% )
80 # setup PROJ
81 - set PROJ_DIR=%PROJ_BASE_DIR%\proj-%PROJSOURCE:~0,5%
82 - if "%PROJSOURCE%" == "git" git clone https://github.com/OSGeo/PROJ.git proj-git
83 - if "%PROJSOURCE%" == "git" rmdir /s /q %PROJ_DIR%
84 - if not "%PROJSOURCE%" == "git" if not exist %PROJ_DIR% set BUILD_PROJ_STABLE=1
85 - if defined BUILD_PROJ_STABLE curl -o "proj-%PROJSOURCE:~0,5%.zip" "https://download.osgeo.org/proj/proj-%PROJSOURCE%.zip"
86 - if defined BUILD_PROJ_STABLE 7z x -aoa -y "proj-%PROJSOURCE:~0,5%.zip"
87 - if not exist %PROJ_DIR% cd "%APPVEYOR_BUILD_FOLDER%\proj-%PROJSOURCE:~0,5%"
88 #
89 - if "%PROJSOURCE%" == "git" set BUILD_PROJ=1
90 - if defined BUILD_PROJ_STABLE set BUILD_PROJ=1
91 - if defined BUILD_PROJ mkdir build
92 - if defined BUILD_PROJ cd build
93 - if defined BUILD_PROJ cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX="%PROJ_DIR%"
94 - if defined BUILD_PROJ ninja -v
95 - if defined BUILD_PROJ ninja install
96 - set PATH=%PROJ_DIR%\bin;%PATH%
97 - set PROJ_LIB=%PROJ_DIR%\share\proj
98 - cd %APPVEYOR_BUILD_FOLDER%
99 - proj
100 # Build and install pyproj
101 - "python -m pip install \"pip>=10.0.1,<19.1\""
102 - set PYPROJ_FULL_COVERAGE=YES
103 - "python -m pip install -e ."
104 - "python -m pip install -r requirements-dev.txt"
105 - "python -m pip install -r requirements-test.txt"
106
107
108 install:
109 - ECHO "Filesystem root:"
110 - ps: "ls \"C:/\""
111
112 # Install Python (from the official .msi of http://python.org) and pip when
113 # not already installed.
114 # - ps: if (-not(Test-Path($env:PYTHON))) { & ci\appveyor\install.ps1 }
115
116 # Prepend newly installed Python to the PATH of this build (this cannot be
117 # done from inside the powershell script as it would require to restart
118 # the parent CMD process).
119 - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
120
121 # Check that we have the expected version and architecture for Python
122 - "python --version"
123 - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
124
125 # Upgrade to the latest version of pip to avoid it displaying warnings
126 # about it being out of date.
127 - "python -m pip install --disable-pip-version-check --user --upgrade pip==19.0.3"
128
129 # install wheel, caching
130 - "python -m pip install wheel"
131
132 test_script:
133 # Run the project tests
134 - "%CMD_IN_ENV% python -c \"import pyproj; pyproj.Proj('epsg:4269')\""
135 - "%CMD_IN_ENV% py.test --cov-report term-missing --cov=pyproj -v -s"
136
137 # TODO: build wheels
138 # after_test:
139 # If tests are successful, create binary packages for the project.
140 # - set PROJ_WHEEL=true
141 # - "%CMD_IN_ENV% python setup.py bdist_wheel"
142 # - "%CMD_IN_ENV% python setup.py bdist_wininst"
143 # - "%CMD_IN_ENV% python setup.py bdist_msi"
144 # test wheel
145 # - python -m pip install pyproj --ignore-installed -f dist
146 # - python -c "import pyproj; pyproj.Proj('epsg:4269')"
147 # cleanup for test dir
148 # - if %PROJSOURCE% == git del /F /Q dist\*
149 # - ps: "ls dist"
150
151 artifacts:
152 # Archive the generated packages in the ci.appveyor.com build report.
153 - path: dist\*
154
155 #on_success:
156 # - TODO: upload the content of dist/*.whl to a public wheelhouse
157 #
+0
-88
ci/appveyor/run_with_env.cmd less more
0 :: To build extensions for 64 bit Python 3, we need to configure environment
1 :: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
2 :: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
3 ::
4 :: To build extensions for 64 bit Python 2, we need to configure environment
5 :: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
6 :: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
7 ::
8 :: 32 bit builds, and 64-bit builds for 3.5 and beyond, do not require specific
9 :: environment configurations.
10 ::
11 :: Note: this script needs to be run with the /E:ON and /V:ON flags for the
12 :: cmd interpreter, at least for (SDK v7.0)
13 ::
14 :: More details at:
15 :: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
16 :: http://stackoverflow.com/a/13751649/163740
17 ::
18 :: Author: Olivier Grisel
19 :: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
20 ::
21 :: Notes about batch files for Python people:
22 ::
23 :: Quotes in values are literally part of the values:
24 :: SET FOO="bar"
25 :: FOO is now five characters long: " b a r "
26 :: If you don't want quotes, don't include them on the right-hand side.
27 ::
28 :: The CALL lines at the end of this file look redundant, but if you move them
29 :: outside of the IF clauses, they do not run properly in the SET_SDK_64==Y
30 :: case, I don't know why.
31 @ECHO OFF
32
33 SET COMMAND_TO_RUN=%*
34 SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
35 SET WIN_WDK=c:\Program Files (x86)\Windows Kits\10\Include\wdf
36
37 :: Extract the major and minor versions, and allow for the minor version to be
38 :: more than 9. This requires the version number to have two dots in it.
39 SET MAJOR_PYTHON_VERSION=%PYTHON_VERSION:~0,1%
40 IF "%PYTHON_VERSION:~3,1%" == "." (
41 SET MINOR_PYTHON_VERSION=%PYTHON_VERSION:~2,1%
42 ) ELSE (
43 SET MINOR_PYTHON_VERSION=%PYTHON_VERSION:~2,2%
44 )
45
46 :: Based on the Python version, determine what SDK version to use, and whether
47 :: to set the SDK for 64-bit.
48 IF %MAJOR_PYTHON_VERSION% == 2 (
49 SET WINDOWS_SDK_VERSION="v7.0"
50 SET SET_SDK_64=Y
51 ) ELSE (
52 IF %MAJOR_PYTHON_VERSION% == 3 (
53 SET WINDOWS_SDK_VERSION="v7.1"
54 IF %MINOR_PYTHON_VERSION% LEQ 4 (
55 SET SET_SDK_64=Y
56 ) ELSE (
57 SET SET_SDK_64=N
58 IF EXIST "%WIN_WDK%" (
59 :: See: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/
60 REN "%WIN_WDK%" 0wdf
61 )
62 )
63 ) ELSE (
64 ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
65 EXIT 1
66 )
67 )
68
69 IF %PYTHON_ARCH% == 64 (
70 IF %SET_SDK_64% == Y (
71 ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
72 SET DISTUTILS_USE_SDK=1
73 SET MSSdk=1
74 "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
75 "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
76 ECHO Executing: %COMMAND_TO_RUN%
77 call %COMMAND_TO_RUN% || EXIT 1
78 ) ELSE (
79 ECHO Using default MSVC build environment for 64 bit architecture
80 ECHO Executing: %COMMAND_TO_RUN%
81 call %COMMAND_TO_RUN% || EXIT 1
82 )
83 ) ELSE (
84 ECHO Using default MSVC build environment for 32 bit architecture
85 ECHO Executing: %COMMAND_TO_RUN%
86 call %COMMAND_TO_RUN% || EXIT 1
87 )
+0
-20
ci/proj-compile.sh less more
0 #!/bin/bash
1 pushd .
2 echo "Building PROJ $1 version from source..."
3 if [[ $1 == "git" ]]; then
4 git clone https://github.com/OSGeo/PROJ.git proj-git
5 else
6 curl https://download.osgeo.org/proj/proj-$1.tar.gz > "proj-${1:0:5}.tar.gz"
7 tar zxf "proj-${1:0:5}.tar.gz"
8 fi
9 cd "proj-${1:0:5}"
10 # build using autotools
11 sh autogen.sh
12 ./configure --prefix=$PROJ_DIR
13 make
14 make install
15 # build using cmake
16 #cmake . -DCMAKE_INSTALL_PREFIX=$PROJ_DIR
17 #cmake --build .
18 #make install
19 popd
+0
-6
codecov.yml less more
0 coverage:
1 status:
2 project:
3 default:
4 target: 94% # the required coverage value
5 threshold: 0.2% # the leniency in hitting the target
00 Change Log
11 ==========
2
3 Latest
4 ------
25
36 3.1.0
47 -----
00 Documentation Archive
11 =====================
22
3 - `3.1.0 <https://pyproj4.github.io/pyproj/3.1.0/>`_
34 - `3.0.1 <https://pyproj4.github.io/pyproj/3.0.1/>`_
4 - `3.0.0 <https://pyproj4.github.io/pyproj/3.0.0/>`_
55 - `2.6.1 <https://pyproj4.github.io/pyproj/v2.6.1rel/>`_
6 - `2.6.0 <https://pyproj4.github.io/pyproj/v2.6.0rel/>`_
76 - `2.5.0 <https://pyproj4.github.io/pyproj/v2.5.0rel/>`_
87 - `2.4.2 <https://pyproj4.github.io/pyproj/v2.4.2rel/>`_
9 - `2.4.1 <https://pyproj4.github.io/pyproj/v2.4.1rel/>`_
10 - `2.4.0 <https://pyproj4.github.io/pyproj/v2.4.0rel/>`_
118 - `2.3.1 <https://pyproj4.github.io/pyproj/v2.3.1rel/>`_
12 - `2.3.0 <https://pyproj4.github.io/pyproj/v2.3.0rel/>`_
139 - `2.2.2 <https://pyproj4.github.io/pyproj/v2.2.2rel/>`_
14 - `2.2.1 <https://pyproj4.github.io/pyproj/v2.2.1rel/>`_
15 - `2.2.0 <https://pyproj4.github.io/pyproj/v2.2.0rel/>`_
1610 - `2.1.3 <https://pyproj4.github.io/pyproj/v2.1.3rel/>`_
1711 - `1.9.6 <https://pyproj4.github.io/pyproj/v1.9.6rel/>`_
+0
-4
flake8/cython.cfg less more
0 [flake8]
1 filename = *.pyx,*.pxd
2 max-line-length=88
3 select=E501,E302,E203,E111,E114,E221,E303,E128,E231,E126,E265,E305,E301,E127,E261,E271,E129,W291,E222,E241,E123,F403,C400,C401,C402,C403,C404,C405,C406,C407,C408,C409,C410,C411
2727 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2828 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2929 """
30 __version__ = "3.1.0"
30 __version__ = "3.1.1.dev0"
3131 __all__ = [
3232 "Proj",
3333 "Geod",
0 Metadata-Version: 2.1
1 Name: pyproj
2 Version: 3.1.1.dev0
3 Summary: Python interface to PROJ (cartographic projections and coordinate transformations library)
4 Home-page: https://github.com/pyproj4/pyproj
5 Author: Jeff Whitaker
6 Author-email: jeffrey.s.whitaker@noaa.gov
7 License: MIT
8 Download-URL: http://python.org/pypi/pyproj
9 Project-URL: Documentation, https://pyproj4.github.io/pyproj/
10 Project-URL: Release Notes, https://pyproj4.github.io/pyproj/stable/history.html
11 Project-URL: Bug Tracker, https://github.com/pyproj4/pyproj/issues
12 Project-URL: Source Code, https://github.com/pyproj4/pyproj
13 Description: # pyproj
14
15 Python interface to [PROJ](http://proj.org) (cartographic projections and coordinate transformations library).
16
17 <p align="center">
18 <a href="https://gitter.im/pyproj4-pyproj/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"><img alt="Join the chat at https://gitter.im/pyproj4-pyproj/community" src="https://badges.gitter.im/pyproj4-pyproj/community.svg"></a>
19 <a href="#contributors"><img alt="All Contributors" src="https://img.shields.io/badge/all_contributors-41-orange.svg?style=flat-square"></a>
20 <a href="https://ci.appveyor.com/project/jswhit/pyproj"><img alt="Appveyor Build Status" src="https://ci.appveyor.com/api/projects/status/8xkka4s97uwhkc64/branch/master?svg=true"></a>
21 <a href="https://github.com/pyproj4/pyproj/actions?query=workflow%3ATests"><img alt="GitHub Actions Build Status" src="https://github.com/pyproj4/pyproj/workflows/Tests/badge.svg"></a>
22 <a href="https://codecov.io/gh/pyproj4/pyproj"><img alt="Codecov Status" src="https://codecov.io/gh/pyproj4/pyproj/branch/master/graph/badge.svg"></a>
23 <a href="https://badge.fury.io/py/pyproj"><img alt="PyPI" src="https://badge.fury.io/py/pyproj.svg"></a>
24 <a href="https://pepy.tech/project/pyproj"><img alt="Downloads" src="https://pepy.tech/badge/pyproj"></a>
25 <a href="https://anaconda.org/conda-forge/pyproj"><img alt="Anaconda-Server Badge" src="https://anaconda.org/conda-forge/pyproj/badges/version.svg"></a>
26 <a href="https://github.com/python/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
27 <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>
28 <a href="https://zenodo.org/badge/latestdoi/28607354"><img alt="DOI" src="https://zenodo.org/badge/28607354.svg"></a>
29 </p>
30
31
32 ## Documentation
33
34 - Stable: http://pyproj4.github.io/pyproj/stable/
35 - Latest: https://pyproj4.github.io/pyproj/latest/
36
37 ## Bugs/Questions
38
39 - Report bugs/feature requests: https://github.com/pyproj4/pyproj/issues
40 - Ask questions: https://github.com/pyproj4/pyproj/discussions
41 - Ask developer questions: https://gitter.im/pyproj4-pyproj/community
42 - Ask the GIS community: https://gis.stackexchange.com/questions/tagged/pyproj
43
44 ## Contributors ✨
45
46 Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
47
48 <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
49 <!-- prettier-ignore-start -->
50 <!-- markdownlint-disable -->
51 <table>
52 <tr>
53 <td align="center"><a href="https://github.com/jswhit"><img src="https://avatars2.githubusercontent.com/u/579593?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Ajswhit" 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> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajswhit" title="Bug reports">🐛</a></td>
54 <td align="center"><a href="https://github.com/snowman2"><img src="https://avatars3.githubusercontent.com/u/8699967?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Asnowman2" title="Reviewed Pull Requests">👀</a> <a href="#question-snowman2" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Asnowman2" title="Bug reports">🐛</a></td>
55 <td align="center"><a href="https://github.com/micahcochran"><img src="https://avatars0.githubusercontent.com/u/7433104?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Amicahcochran" title="Reviewed Pull Requests">👀</a> <a href="#question-micahcochran" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Amicahcochran" title="Bug reports">🐛</a></td>
56 <td align="center"><a href="https://jorisvandenbossche.github.io/"><img src="https://avatars2.githubusercontent.com/u/1020496?v=4?s=100" width="100px;" alt=""/><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="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Ajorisvandenbossche" title="Reviewed Pull Requests">👀</a> <a href="#question-jorisvandenbossche" title="Answering Questions">💬</a> <a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajorisvandenbossche" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jorisvandenbossche" title="Tests">⚠️</a></td>
57 <td align="center"><a href="https://github.com/cjmayo"><img src="https://avatars1.githubusercontent.com/u/921089?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Mayo</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=cjmayo" title="Tests">⚠️</a></td>
58 <td align="center"><a href="https://www.petrel.org"><img src="https://avatars1.githubusercontent.com/u/2298266?v=4?s=100" width="100px;" alt=""/><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>
59 <td align="center"><a href="http://www.justaprogrammer.net/profile/justin"><img src="https://avatars3.githubusercontent.com/u/146930?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Justin Dearing</b></sub></a><br /><a href="#infra-zippy1981" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
60 </tr>
61 <tr>
62 <td align="center"><a href="https://github.com/jdkloe"><img src="https://avatars3.githubusercontent.com/u/1906112?v=4?s=100" width="100px;" alt=""/><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>
63 <td align="center"><a href="https://github.com/georgeouzou"><img src="https://avatars3.githubusercontent.com/u/16732042?v=4?s=100" width="100px;" alt=""/><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>
64 <td align="center"><a href="https://github.com/djhoese"><img src="https://avatars3.githubusercontent.com/u/1828519?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Hoese</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/pulls?q=is%3Apr+reviewed-by%3Adjhoese" title="Reviewed Pull Requests">👀</a> <a href="#ideas-djhoese" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-djhoese" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Documentation">📖</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Tests">⚠️</a> <a href="https://github.com/pyproj4/pyproj/commits?author=djhoese" title="Code">💻</a></td>
65 <td align="center"><a href="http://mitkin.github.io"><img src="https://avatars3.githubusercontent.com/u/3927849?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mikhail Itkin</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mitkin" title="Code">💻</a></td>
66 <td align="center"><a href="http://dopplershift.github.io"><img src="https://avatars2.githubusercontent.com/u/221526?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ryan May</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=dopplershift" title="Code">💻</a></td>
67 <td align="center"><a href="https://github.com/artttt"><img src="https://avatars3.githubusercontent.com/u/4626281?v=4?s=100" width="100px;" alt=""/><br /><sub><b>artttt</b></sub></a><br /><a href="#ideas-artttt" title="Ideas, Planning, & Feedback">🤔</a></td>
68 <td align="center"><a href="http://ocefpaf.github.io/python4oceanographers"><img src="https://avatars1.githubusercontent.com/u/950575?v=4?s=100" width="100px;" alt=""/><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>
69 </tr>
70 <tr>
71 <td align="center"><a href="https://github.com/heitorPB"><img src="https://avatars2.githubusercontent.com/u/13461702?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Heitor</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=heitorPB" title="Documentation">📖</a></td>
72 <td align="center"><a href="https://github.com/sebastic"><img src="https://avatars3.githubusercontent.com/u/4605306?v=4?s=100" width="100px;" alt=""/><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> <a href="https://github.com/pyproj4/pyproj/commits?author=sebastic" title="Tests">⚠️</a></td>
73 <td align="center"><a href="https://github.com/nickeubank"><img src="https://avatars0.githubusercontent.com/u/9683693?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Eubank</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=nickeubank" title="Code">💻</a></td>
74 <td align="center"><a href="https://www.math.uwaterloo.ca/~mdunphy/"><img src="https://avatars3.githubusercontent.com/u/9088426?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Dunphy</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mdunphy" title="Documentation">📖</a></td>
75 <td align="center"><a href="http://matthew.dynevor.org"><img src="https://avatars2.githubusercontent.com/u/67612?v=4?s=100" width="100px;" alt=""/><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>
76 <td align="center"><a href="https://naboa.de"><img src="https://avatars1.githubusercontent.com/u/10531844?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jakob de Maeyer </b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=jdemaeyer" title="Code">💻</a></td>
77 <td align="center"><a href="https://gitter.im"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4?s=100" width="100px;" alt=""/><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>
78 </tr>
79 <tr>
80 <td align="center"><a href="http://lizards.opensuse.org/author/bmwiedemann/"><img src="https://avatars3.githubusercontent.com/u/637990?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bernhard M. Wiedemann</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=bmwiedemann" title="Code">💻</a></td>
81 <td align="center"><a href="https://github.com/ReallyNiceGuy"><img src="https://avatars0.githubusercontent.com/u/6545730?v=4?s=100" width="100px;" alt=""/><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>
82 <td align="center"><a href="https://github.com/ChrisBarker-NOAA"><img src="https://avatars2.githubusercontent.com/u/916576?v=4?s=100" width="100px;" alt=""/><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>
83 <td align="center"><a href="https://evers.dev/"><img src="https://avatars3.githubusercontent.com/u/13132571?v=4?s=100" width="100px;" alt=""/><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>
84 <td align="center"><a href="http://www.spatialys.com/en/about/"><img src="https://avatars2.githubusercontent.com/u/1192433?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Even Rouault</b></sub></a><br /><a href="#question-rouault" title="Answering Questions">💬</a></td>
85 <td align="center"><a href="https://github.com/cgohlke"><img src="https://avatars3.githubusercontent.com/u/483428?v=4?s=100" width="100px;" alt=""/><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> <a href="https://github.com/pyproj4/pyproj/commits?author=cgohlke" title="Tests">⚠️</a></td>
86 <td align="center"><a href="https://github.com/chrrrisw"><img src="https://avatars0.githubusercontent.com/u/5555320?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Willoughby</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=chrrrisw" title="Code">💻</a></td>
87 </tr>
88 <tr>
89 <td align="center"><a href="https://github.com/glostis"><img src="https://avatars0.githubusercontent.com/u/25295717?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guillaume Lostis</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=glostis" title="Documentation">📖</a></td>
90 <td align="center"><a href="https://github.com/edpop"><img src="https://avatars3.githubusercontent.com/u/13479292?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Eduard Popov</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=edpop" title="Documentation">📖</a></td>
91 <td align="center"><a href="http://www.personal.psu.edu/jar339"><img src="https://avatars2.githubusercontent.com/u/7864460?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Joe Ranalli</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajranalli" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jranalli" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jranalli" title="Tests">⚠️</a></td>
92 <td align="center"><a href="https://github.com/gberardinelli"><img src="https://avatars0.githubusercontent.com/u/13799588?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Greg Berardinelli</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Agberardinelli" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=gberardinelli" title="Code">💻</a> <a href="#ideas-gberardinelli" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/pyproj4/pyproj/commits?author=gberardinelli" title="Tests">⚠️</a></td>
93 <td align="center"><a href="https://github.com/mraspaud"><img src="https://avatars1.githubusercontent.com/u/167802?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin Raspaud</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Amraspaud" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mraspaud" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mraspaud" title="Tests">⚠️</a> <a href="#ideas-mraspaud" title="Ideas, Planning, & Feedback">🤔</a></td>
94 <td align="center"><a href="https://sites.google.com/site/mwtoews/"><img src="https://avatars1.githubusercontent.com/u/895458?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mike Taves</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=mwtoews" title="Tests">⚠️</a></td>
95 <td align="center"><a href="http://davidhaberthür.ch"><img src="https://avatars2.githubusercontent.com/u/1651235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Haberthür</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=habi" title="Documentation">📖</a></td>
96 </tr>
97 <tr>
98 <td align="center"><a href="https://github.com/mmodenesi"><img src="https://avatars2.githubusercontent.com/u/5569789?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mmodenesi</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ammodenesi" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mmodenesi" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=mmodenesi" title="Tests">⚠️</a></td>
99 <td align="center"><a href="https://www.indigoag.com/"><img src="https://avatars0.githubusercontent.com/u/48448372?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jacob-indigo</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/issues?q=author%3Ajacob-indigo" title="Bug reports">🐛</a> <a href="https://github.com/pyproj4/pyproj/commits?author=jacob-indigo" title="Code">💻</a></td>
100 <td align="center"><a href="https://rahulporuri.github.io"><img src="https://avatars0.githubusercontent.com/u/1926457?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Poruri Sai Rahul</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=rahulporuri" title="Tests">⚠️</a></td>
101 <td align="center"><a href="https://medium.com/@underchemist"><img src="https://avatars1.githubusercontent.com/u/5283998?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yann-Sebastien Tremblay-Johnston</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=underchemist" title="Documentation">📖</a></td>
102 <td align="center"><a href="https://github.com/odidev"><img src="https://avatars2.githubusercontent.com/u/40816837?v=4?s=100" width="100px;" alt=""/><br /><sub><b>odidev</b></sub></a><br /><a href="#platform-odidev" title="Packaging/porting to new platform">📦</a></td>
103 <td align="center"><a href="https://github.com/idanmiara"><img src="https://avatars.githubusercontent.com/u/26349741?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Idan Miara</b></sub></a><br /><a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Code">💻</a> <a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Documentation">📖</a> <a href="#example-idanmiara" title="Examples">💡</a> <a href="https://github.com/pyproj4/pyproj/commits?author=idanmiara" title="Tests">⚠️</a></td>
104 </tr>
105 </table>
106
107 <!-- markdownlint-restore -->
108 <!-- prettier-ignore-end -->
109
110 <!-- ALL-CONTRIBUTORS-LIST:END -->
111
112 This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
113
114 Keywords: GIS,map,geospatial,coordinate-systems,coordinate-transformation,cartographic-projection,geodesic
115 Platform: any
116 Classifier: Development Status :: 4 - Beta
117 Classifier: Intended Audience :: Science/Research
118 Classifier: License :: OSI Approved :: MIT License
119 Classifier: Operating System :: OS Independent
120 Classifier: Programming Language :: Python
121 Classifier: Programming Language :: Python :: 3.7
122 Classifier: Programming Language :: Python :: 3.8
123 Classifier: Programming Language :: Python :: 3.9
124 Classifier: Programming Language :: Python :: 3 :: Only
125 Classifier: Topic :: Scientific/Engineering
126 Classifier: Topic :: Scientific/Engineering :: GIS
127 Classifier: Topic :: Scientific/Engineering :: Mathematics
128 Classifier: Topic :: Software Development :: Libraries :: Python Modules
129 Classifier: Typing :: Typed
130 Requires-Python: >=3.7
131 Description-Content-Type: text/markdown
0 LICENSE
1 MANIFEST.in
2 Makefile
3 README.md
4 pyproject.toml
5 pytest.ini
6 setup.cfg
7 setup.py
8 docs/Makefile
9 docs/advanced_examples.rst
10 docs/build_crs.rst
11 docs/build_crs_cf.rst
12 docs/cli.rst
13 docs/conf.py
14 docs/crs_compatibility.rst
15 docs/examples.rst
16 docs/gotchas.rst
17 docs/history.rst
18 docs/index.rst
19 docs/installation.rst
20 docs/make.bat
21 docs/optimize_transformations.rst
22 docs/past_versions.rst
23 docs/transformation_grids.rst
24 docs/api/aoi.rst
25 docs/api/database.rst
26 docs/api/datadir.rst
27 docs/api/enums.rst
28 docs/api/exceptions.rst
29 docs/api/geod.rst
30 docs/api/global_context.rst
31 docs/api/index.rst
32 docs/api/list.rst
33 docs/api/network.rst
34 docs/api/proj.rst
35 docs/api/show_versions.rst
36 docs/api/sync.rst
37 docs/api/transformer.rst
38 docs/api/crs/coordinate_operation.rst
39 docs/api/crs/coordinate_system.rst
40 docs/api/crs/crs.rst
41 docs/api/crs/datum.rst
42 docs/api/crs/enums.rst
43 docs/api/crs/index.rst
44 pyproj/__init__.py
45 pyproj/__main__.py
46 pyproj/_compat.pxd
47 pyproj/_compat.pyx
48 pyproj/_crs.pxd
49 pyproj/_crs.pyi
50 pyproj/_crs.pyx
51 pyproj/_datadir.pxd
52 pyproj/_datadir.pyi
53 pyproj/_datadir.pyx
54 pyproj/_geod.pxd
55 pyproj/_geod.pyi
56 pyproj/_geod.pyx
57 pyproj/_network.pyi
58 pyproj/_network.pyx
59 pyproj/_show_versions.py
60 pyproj/_sync.pyi
61 pyproj/_sync.pyx
62 pyproj/_transformer.pxd
63 pyproj/_transformer.pyi
64 pyproj/_transformer.pyx
65 pyproj/aoi.py
66 pyproj/base.pxi
67 pyproj/compat.py
68 pyproj/database.pyi
69 pyproj/database.pyx
70 pyproj/datadir.py
71 pyproj/enums.py
72 pyproj/exceptions.py
73 pyproj/geod.py
74 pyproj/list.pyi
75 pyproj/list.pyx
76 pyproj/network.py
77 pyproj/proj.pxi
78 pyproj/proj.py
79 pyproj/py.typed
80 pyproj/sync.py
81 pyproj/transformer.py
82 pyproj/utils.py
83 pyproj.egg-info/PKG-INFO
84 pyproj.egg-info/SOURCES.txt
85 pyproj.egg-info/dependency_links.txt
86 pyproj.egg-info/entry_points.txt
87 pyproj.egg-info/not-zip-safe
88 pyproj.egg-info/requires.txt
89 pyproj.egg-info/top_level.txt
90 pyproj/crs/__init__.py
91 pyproj/crs/_cf1x8.py
92 pyproj/crs/coordinate_operation.py
93 pyproj/crs/coordinate_system.py
94 pyproj/crs/crs.py
95 pyproj/crs/datum.py
96 pyproj/crs/enums.py
97 test/__init__.py
98 test/conftest.py
99 test/sample.out
100 test/test_aoi.py
101 test/test_awips221.py
102 test/test_cli.py
103 test/test_database.py
104 test/test_datadir.py
105 test/test_datum.py
106 test/test_datum_shift.py
107 test/test_doctest_wrapper.py
108 test/test_exception_logging.py
109 test/test_geod.py
110 test/test_list.py
111 test/test_network.py
112 test/test_pickle.py
113 test/test_proj.py
114 test/test_show_versions.py
115 test/test_sync.py
116 test/test_transform.py
117 test/test_transformer.py
118 test/test_utils.py
119 test/crs/test_crs.py
120 test/crs/test_crs_cf.py
121 test/crs/test_crs_coordinate_operation.py
122 test/crs/test_crs_coordinate_system.py
123 test/crs/test_crs_datum.py
124 test/crs/test_crs_json.py
125 test/crs/test_crs_maker.py
0 [console_scripts]
1 pyproj = pyproj.__main__:main
2
+0
-3
requirements-dev.txt less more
0 cython>=0.28.4
1 mypy
2 pre-commit
+0
-3
requirements-docs.txt less more
0 sphinx < 3.5.0
1 sphinx_rtd_theme
2 sphinx-argparse
+0
-6
requirements-test.txt less more
0 pytest>3.6
1 pytest-cov
2 numpy
3 pandas
4 shapely
5 xarray
88 license-file = LICENSE
99 platform = any
1010 keywords = GIS, map, geospatial, coordinate-systems, coordinate-transformation, cartographic-projection, geodesic
11 classifiers =
12 Development Status :: 4 - Beta
13 Intended Audience :: Science/Research
14 License :: OSI Approved :: MIT License
15 Operating System :: OS Independent
16 Programming Language :: Python
17 Programming Language :: Python :: 3.7
18 Programming Language :: Python :: 3.8
19 Programming Language :: Python :: 3.9
20 Programming Language :: Python :: 3 :: Only
21 Topic :: Scientific/Engineering
22 Topic :: Scientific/Engineering :: GIS
23 Topic :: Scientific/Engineering :: Mathematics
24 Topic :: Software Development :: Libraries :: Python Modules
25 Typing :: Typed
11 classifiers =
12 Development Status :: 4 - Beta
13 Intended Audience :: Science/Research
14 License :: OSI Approved :: MIT License
15 Operating System :: OS Independent
16 Programming Language :: Python
17 Programming Language :: Python :: 3.7
18 Programming Language :: Python :: 3.8
19 Programming Language :: Python :: 3.9
20 Programming Language :: Python :: 3 :: Only
21 Topic :: Scientific/Engineering
22 Topic :: Scientific/Engineering :: GIS
23 Topic :: Scientific/Engineering :: Mathematics
24 Topic :: Software Development :: Libraries :: Python Modules
25 Typing :: Typed
2626 url = https://github.com/pyproj4/pyproj
2727 download_url = http://python.org/pypi/pyproj
28 project_urls =
29 Documentation = https://pyproj4.github.io/pyproj/
30 Release Notes = https://pyproj4.github.io/pyproj/stable/history.html
31 Bug Tracker = https://github.com/pyproj4/pyproj/issues
32 Source Code = https://github.com/pyproj4/pyproj
28 project_urls =
29 Documentation = https://pyproj4.github.io/pyproj/
30 Release Notes = https://pyproj4.github.io/pyproj/stable/history.html
31 Bug Tracker = https://github.com/pyproj4/pyproj/issues
32 Source Code = https://github.com/pyproj4/pyproj
3333
3434 [options]
3535 zip_safe = False # https://mypy.readthedocs.io/en/stable/installed_packages.html
3636 packages = pyproj,pyproj.crs
3737 python_requires = >=3.7
38 install_requires =
39 certifi
38 install_requires =
39 certifi
4040
4141 [options.entry_points]
42 console_scripts =
43 pyproj = pyproj.__main__:main
42 console_scripts =
43 pyproj = pyproj.__main__:main
4444
4545 [flake8]
4646 max-line-length = 88
47 ignore =
48 C408 # Unnecessary dict/list/tuple call - rewrite as a literal
49 E203 # whitespace before ':' - doesn't work well with black
50 E225 # missing whitespace around operator - let black worry about that
51 W503 # line break occurred before a binary operator - let black worry about that
47 ignore =
48 C408 # Unnecessary dict/list/tuple call - rewrite as a literal
49 E203 # whitespace before ':' - doesn't work well with black
50 E225 # missing whitespace around operator - let black worry about that
51 W503 # line break occurred before a binary operator - let black worry about that
52
53 [egg_info]
54 tag_build =
55 tag_date = 0
56