Skip to content

Commit a5d8733

Browse files
authored
Release 2.10 (#277)
* No more Py2.7 and Py3.3 * Remove references to Python <= 3.3. Fixes #252 * Removed support for Python 2. Fixes #243 * These should have been removed far before * Updated with all refatored subpackages and their non-code includes * Fixes #263 * Fixes #258 * Improve docs * even better, with a logo! * Fixes #269 * #269 * skeleton for tile client * even better, with a logo! * now also providing weather icon URLs * fix upper version boundary and fix keywords * Refactored out to a separate URI files * forgot to commit * Fetch a PNG file, with tests * name inconsistencies make me *angry*... * an image * Tile entity * Lots of mods... tiles now working! * docs * New property * Small refactoring * Add buy me a cofee page link * Far better now * Superb * Fix broken URL * a very first draft, testing how Travis behaves * attempt 2 * attempt 3 (typo in yaml) * attempt 3 * attempt 4 * attempt 5 * Travis does not support Py37 yet. Furthermore, already existing wheels and sdists broke the build * test 1 * test 2 (trying to make it more clever) * test 3 * test 4 * test 5 * test 6 * test 6 * test 6 * test 8 * test 8 * Fixing #271 * now tagging development releases on TestPyPI (attempt 1) * attempt 2 (various fixes) * attempt 3 (skipping some build steps if on the develop branch) * attempt 4 * attempt 5 * attempt 6 * attempt 7 * more badges * attempt 8 * attempt 9 * tox with coverage and fix timestamp issues in concurrent deploys * This should fix #272 * update * oh s**t I forgot.. * Removing lib dependecies duplication (now setup.py reads deps from requirements.txt) * better now * absolute paths! always!!! * OK so.. no requirements.txt anymore. * let's do it anyway * Safe to remove? * Improvement * Safe to remove? * Agro API: Polygons API subset + docs * Agro API: Polygons API subset + docs * __repr__ and docs * Soil entity with tests; fixes to imports/docs * Finalizes #245 * Seeds for Imagery API subset of Agro API; fix docs missing * repr everywhere * Refactoring * Moved Tile class into commons; Imagery module now provides the class hierarchy for dealing with Satellite Imagery Search operation * Fetching a GeoTIF image and some refactoring * more tests and btter docs; finalized download_satellite_image * Implement stats retrieval for satellite images * Refactored enum * Refactoring * Implemented search and download methods for satellite imagery; also some integration tests; lots of refactoring * More integrations tests * Refactoring and more unit tests. Completed satellite imagery related features * Name refactoring * One more method and test * Fix docs * dump to version 2.10 * fix prints * Update README.md * change PyPI production URL * fix duplicated tag
1 parent 1b8632b commit a5d8733

File tree

186 files changed

+4655
-958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+4655
-958
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ sphinx/_build/*
1313
.coverage
1414
tests/integration/.tox/*
1515
.cache
16+
.eggs/
17+
htmlcov/*
18+

.travis.yml

Lines changed: 56 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,66 @@
11
language: python
22
python:
3-
- "2.7"
43
- "3.4"
54
- "3.5"
65
- "3.6"
76
- "3.7-dev"
8-
install:
9-
- pip install --upgrade pip
10-
- pip install coverage tox-travis virtualenv coveralls
11-
script:
12-
- tox
13-
- coverage run --rcfile=.coveragerc setup.py test -s tests.unit
14-
- bash tests/local_installation_test.sh
7+
script: tox
158
after_success:
16-
coveralls
9+
- coveralls
10+
1711
notifications:
1812
email:
1913
on_failure: change
20-
dist: xenial
21-
sudo: false
14+
env:
15+
global:
16+
- TEST_PYPI_URL=https://test.pypi.org/legacy/
17+
- PYPI_URL=https://upload.pypi.org/legacy/
18+
install:
19+
- pip install --upgrade pip && pip install -r dev-requirements.txt && pip install .
20+
cache: pip
21+
22+
stages:
23+
- test
24+
- "Local Installation Test"
25+
- "Build docs"
26+
- "Deploy to PyPI"
27+
- "PyPI Installation Test"
28+
29+
jobs:
30+
include:
31+
- &local_installation_test
32+
stage: "Local Installation Test"
33+
python: 3.4
34+
script: bash tests/local_installation_test.sh
35+
- <<: *local_installation_test
36+
python: 3.5
37+
- <<: *local_installation_test
38+
python: 3.6
39+
- <<: *local_installation_test
40+
python: "3.7-dev"
41+
42+
- stage: "Build docs"
43+
script: cd sphinx && make clean && make html
44+
45+
- &deploy_to_pypi
46+
stage: "Deploy to PyPI"
47+
python: 3.4
48+
script: bash deploy/deploy_to_pypi.sh
49+
- <<: *deploy_to_pypi
50+
python: 3.5
51+
- <<: *deploy_to_pypi
52+
python: 3.6
53+
- <<: *deploy_to_pypi
54+
python: "3.7-dev"
55+
56+
- &pypi_installation_test
57+
stage: "PyPI Installation Test"
58+
python: 3.4
59+
if: branch = master
60+
script: bash tests/pypi_installation_test.sh
61+
- <<: *pypi_installation_test
62+
python: 3.5
63+
- <<: *pypi_installation_test
64+
python: 3.6
65+
- <<: *pypi_installation_test
66+
python: "3.7-dev"

CONTRIBUTORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Code
1919
Testing
2020
-------
2121
* [Samuel Yap] (https://github.com/samuelyap)
22+
* [Patrick Casbon] (https://github.com/patcas)
2223

2324
Packaging and Distribution
2425
--------------------------

MANIFEST.in

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1-
include pyowm/webapi25/cityids/*.gz
2-
include pyowm/webapi25/xsd/*.xsd
1+
include pyowm/pollutionapi30/xsd/*.xsd
2+
include pyowm/stationsapi30/xsd/*.xsd
3+
include pyowm/uvindexapi30/xsd/*.xsd
4+
include pyowm/weatherapi25/cityids/*.gz
5+
include pyowm/weatherapi25/xsd/*.xsd
36
include pyowm/docs/*.md

Pipfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ virtualenv = "==12.0.7"
1212
twine = "==1.11.0"
1313

1414
[packages]
15-
requests = "<3,==2.18.2"
16-
geojson = "<2.4,==2.3.0"
15+
requests = "<3,==2.20.0"
16+
geojson = "<3,==2.3.0"

Pipfile.lock

Lines changed: 64 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@
44
**A Python wrapper around OpenWeatherMap web APIs**
55

66
[![PyPI version](https://badge.fury.io/py/pyowm.svg)](https://badge.fury.io/py/pyowm)
7-
[![Latest Release Documentation](https://readthedocs.org/projects/pyowm/badge/?version=latest)](https://pyowm.readthedocs.org/en/latest/)
7+
[![PyPI - Downloads](https://img.shields.io/pypi/dm/pyowm.svg)](https://img.shields.io/pypi/dm/pyowm.svg)
8+
<br>
9+
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyowm.svg)](https://img.shields.io/pypi/pyversions/pyowm.svg)
10+
<br>
11+
[![Latest Release Documentation](https://readthedocs.org/projects/pyowm/badge/?version=latest)](https://pyowm.readthedocs.io/en/latest/)
812
[![Build Status](https://travis-ci.org/csparpa/pyowm.png?branch=master)](https://travis-ci.org/csparpa/pyowm)
913
[![Coverage Status](https://coveralls.io/repos/github/csparpa/pyowm/badge.svg?branch=master)](https://coveralls.io/github/csparpa/pyowm?branch=master)
10-
[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/csparpa)
1114
<br>
1215
<a href="https://www.buymeacoffee.com/LmAl1n9" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/black_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>
16+
[![Say Thanks!](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/csparpa)
1317

1418
## What is it?
1519
PyOWM is a client Python wrapper library for OpenWeatherMap (OWM) web APIs.
@@ -18,15 +22,16 @@ It allows quick and easy consumption of OWM data from Python applications via a
1822

1923
With PyOWM you can integrate into your code any of the following OpenWeatherMap web APIs:
2024

21-
- *Weather API v2.5*, offering
25+
- **[Weather API v2.5](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/weather-api-usage-examples.html)**, providing
2226
- current weather data
2327
- weather forecasts
24-
-+ weather history
25-
- *Air Pollution API v3.0*, offering data about CO, O3, NO2 and SO2
26-
- *UV Index API v3.0*, offering data about Ultraviolet exposition
27-
- *Stations API v3.0*, allowing to create and manage meteostation and publish local weather measurements
28-
- *Weather Alerts API v3.0*, allowing to set triggers on weather conditions and areas and poll for spawned alerts
29-
- *Image tiles* for several map layers provided by OWM
28+
- weather history
29+
- **[Agro API v1.0](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/agro-api-usage-examples.html)**, providing soil data and satellite imagery search and download
30+
- **[Air Pollution API v3.0](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/air-pollution-api-usage-examples.html)**, providing data about CO, O3, NO2 and SO2
31+
- **[UV Index API v3.0](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/uv-api-usage-examples.html)**, providing data about Ultraviolet exposition
32+
- **[Stations API v3.0](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/stations-api-usage-examples.html)**, allowing to create and manage meteostation and publish local weather measurements
33+
- **[Weather Alerts API v3.0](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/alerts-api-usage-examples.html)**, allowing to set triggers on weather conditions and areas and poll for spawned alerts
34+
- **[Image tiles](https://pyowm.readthedocs.io/en/latest/usage-examples-v2/map-tiles-client-examples.html)** for several map layers provided by OWM
3035

3136
PyOWM runs on Python 2.7 and Python 3.4+ (but watch out! Python 2.x will eventually be dropped - [check details out](https://github.com/csparpa/pyowm/wiki/Timeline-for-dropping-Python-2.x-support))
3237

@@ -64,7 +69,7 @@ Please notice that the free API subscription plan is subject to requests throttl
6469

6570
### Examples
6671

67-
That's a simple example of what you can do with PyOWM and a free OWM API Key:
72+
That's a simple example of what you can do with PyOWM Weather API and a free OWM API Key:
6873

6974
```python
7075
import pyowm
@@ -90,7 +95,7 @@ w.get_temperature('celsius') # {'temp_max': 10.5, 'temp': 9.7, 'temp_min': 9.0}
9095
observation_list = owm.weather_around_coords(-22.57, -43.12)
9196
```
9297

93-
And this is a usage example with a paid OWM API key:
98+
And this is an example using a paid OWM API key:
9499

95100
```python
96101
import pyowm
@@ -100,14 +105,11 @@ paid_owm = pyowm.OWM(API_key='your-pro-API-key', subscription_type='pro')
100105
# Will it be clear tomorrow at this time in Milan (Italy) ?
101106
forecast = paid_owm.daily_forecast("Milan,IT")
102107
tomorrow = pyowm.timeutils.tomorrow()
103-
forecast.will_be_clear_at(tomorrow) # The sun always shines on Italy, right? ;-)
108+
forecast.will_be_clear_at(tomorrow) # The sun always shines on Italy, right? ;)
104109
```
105110

106-
More PyOWM usage examples are available [here](https://github.com/csparpa/pyowm/blob/master/pyowm/docs/usage-examples.md).
107-
108-
109111
## Documentation
110-
The library software API documentation is available on [Read the Docs](https://pyowm.readthedocs.org/en/stable/).
112+
The library software API documentation is available on [Read the Docs](https://pyowm.readthedocs.io/en/latest/).
111113

112114
Each release has its own [changelog](https://github.com/csparpa/pyowm/wiki/Changelog).
113115

0 commit comments

Comments
 (0)