New upstream snapshot.
Debian Janitor
2 years ago
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 | [run] | |
1 | plugins = Cython.Coverage | |
2 | ||
3 | [report] | |
4 | # number of decimal points to report for coverage percentage | |
5 | precision = 2 |
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 | 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 | --- | |
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 | --- | |
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 | <!-- 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 | 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 | 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 | 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 | 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 | 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 | # 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 | # 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 | # 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 | ||
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 | 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 | :: 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 | #!/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 | coverage: | |
1 | status: | |
2 | project: | |
3 | default: | |
4 | target: 94% # the required coverage value | |
5 | threshold: 0.2% # the leniency in hitting the target |
0 | python-pyproj (3.1.0+git20210524.1.6127f7a-1) UNRELEASED; urgency=low | |
1 | ||
2 | * New upstream snapshot. | |
3 | ||
4 | -- Debian Janitor <janitor@jelmer.uk> Tue, 08 Jun 2021 14:31:16 -0000 | |
5 | ||
0 | 6 | python-pyproj (3.1.0-1~exp1) experimental; urgency=medium |
1 | 7 | |
2 | 8 | * New upstream release. |
0 | 0 | Documentation Archive |
1 | 1 | ===================== |
2 | 2 | |
3 | - `3.1.0 <https://pyproj4.github.io/pyproj/3.1.0/>`_ | |
3 | 4 | - `3.0.1 <https://pyproj4.github.io/pyproj/3.0.1/>`_ |
4 | - `3.0.0 <https://pyproj4.github.io/pyproj/3.0.0/>`_ | |
5 | 5 | - `2.6.1 <https://pyproj4.github.io/pyproj/v2.6.1rel/>`_ |
6 | - `2.6.0 <https://pyproj4.github.io/pyproj/v2.6.0rel/>`_ | |
7 | 6 | - `2.5.0 <https://pyproj4.github.io/pyproj/v2.5.0rel/>`_ |
8 | 7 | - `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/>`_ | |
11 | 8 | - `2.3.1 <https://pyproj4.github.io/pyproj/v2.3.1rel/>`_ |
12 | - `2.3.0 <https://pyproj4.github.io/pyproj/v2.3.0rel/>`_ | |
13 | 9 | - `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/>`_ | |
16 | 10 | - `2.1.3 <https://pyproj4.github.io/pyproj/v2.1.3rel/>`_ |
17 | 11 | - `1.9.6 <https://pyproj4.github.io/pyproj/v1.9.6rel/>`_ |
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 |
27 | 27 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
28 | 28 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
29 | 29 | """ |
30 | __version__ = "3.1.0" | |
30 | __version__ = "3.1.1.dev0" | |
31 | 31 | __all__ = [ |
32 | 32 | "Proj", |
33 | 33 | "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 | certifi |
0 | pyproj |
8 | 8 | license-file = LICENSE |
9 | 9 | platform = any |
10 | 10 | 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 | |
26 | 26 | url = https://github.com/pyproj4/pyproj |
27 | 27 | 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 | |
33 | 33 | |
34 | 34 | [options] |
35 | 35 | zip_safe = False # https://mypy.readthedocs.io/en/stable/installed_packages.html |
36 | 36 | packages = pyproj,pyproj.crs |
37 | 37 | python_requires = >=3.7 |
38 | install_requires = | |
39 | certifi | |
38 | install_requires = | |
39 | certifi | |
40 | 40 | |
41 | 41 | [options.entry_points] |
42 | console_scripts = | |
43 | pyproj = pyproj.__main__:main | |
42 | console_scripts = | |
43 | pyproj = pyproj.__main__:main | |
44 | 44 | |
45 | 45 | [flake8] |
46 | 46 | 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 |