-
Notifications
You must be signed in to change notification settings - Fork 175
Changelog
Claudio Sparpaglione edited this page Dec 23, 2017
·
28 revisions
-
New features:
- introduced support for Stations API 3.0
- new methods for
Forecasterclass:will_have_clear,when_clear,will_be_clear_at - new light Docker images based on Alpine Linux
-
Enhancements:
- In the moment
Forecastobjects are created, theirWeatherobjects having reference timestamps prior to that moment are discarded (this means: you only get real forecasts!) - Introduced
requestsas only PyOWM dependency:requests>=2.18.2,<2.19
- In the moment
-
Bugfixes:
- issue on
city_id_registryread behaviour on Windows - issue on parsing
Locationobjects
- issue on
-
Deprecations introduced:
- will be removed on 3.0.0:
forecaster.Forecaster.will_have_sun,forecaster.Forecaster.when_sunandforecaster.Forecaster.will_be_sunny_at
- will be removed on 3.0.0:
-
New features:
- introduced support for Sulphur Dioxide (SO2) and Nitric Dioxide (NO2): new methods
owm25.no2index_around_coordsandowm25.so2index_around_coords - implemented wind speed units specification (imperial/metric)
- introduced support for Sulphur Dioxide (SO2) and Nitric Dioxide (NO2): new methods
-
Bugfixes:
- updated weather history endpoint (was broken)
- fix bug about data parsing at
station_at_coordsandweather_at_stationmethods - now the
degattribute is correctly parsed from 16 day forecast weather data items - fix bug on printing Unicode upon library exceptions
- fix handling of
Weatherobjects parsing (it was failing whenever some data wasn't provided by OWM)
-
Enhancements:
- shrinked city ID files size by 60% (via compression)
- reported in the Wiki a list of known projects that use PyOWM
- integrated the Say Thanks! hook
- introduced
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdfiles, thus welcoming GitHub's suggested best practices for building better open source communities - introduced installation tests
- improved integrations tests organization and running
-
Breaking changes:
- OWM decided to change the syntax of API endpoint for fetching UV data and its format in a non-retrocompatible manner. This results into
UVIndexobject entity fields changing, as well as the corresponding OWM25 method signature (owm25.uvindex_around_coords).
- OWM decided to change the syntax of API endpoint for fetching UV data and its format in a non-retrocompatible manner. This results into
- Bugfixes:
- 2.6.0 was not packaging resource files (eg. city IDs text files)
- New features:
- new method
owm25.weather_at_zip_code - new methods
CityIDRegistry.ids_forandCityIDRegistry.locations_for - introduced deprecation decorators to mark methods that will be removed/modified in future versions
- Python 3.6 support
- new method
- Bugfixes:
- reverted a breaking interface change wrongly released on 2.5.0
- fixed
CityIDRegistry.id_forandCityIDRegistry.location_formethods -> oh man, they were so buggy! - fixed a bug on Unicode input handling
- Enhancements:
- reorganized project Wiki
- embedded PyOWM usage examples as markdown file into the distribution package
- Deprecations introduced:
- will be removed on 3.0.0:
webapi25.cityidregistry.id_forandwebapi25.cityidregistry.location_for - will be modified on 3.0.0:
webapi25.owm25.get_versionandwebapi25.owm25.get_API_version
- will be removed on 3.0.0:
- New features:
- Air Pollution data API: Carbon Monoxide endpoint:
OWM25.coindex_around_coords, Ozone endpoint:OWM25.ozone_around_coords -
Ultraviolet data API:
OWM25.uvindex_around_coords
- Air Pollution data API: Carbon Monoxide endpoint:
- Bugfixes:
- fixed
OWM25.is_API_onlinemethod (was not working) - more robust support for querying data on Unicode place names
- fixed
- Enhancements: now datetime objects across all library are timezone-aware
- PyOWM Slack team is live!
- New features:
weather_at_idsweather_history_at_coords- introduced support for Python 3.4 and 3.5
- Bugfixes: full support for Unicode place names
- Enhancements:
- datetime representation of reception/reference times in
Weather,Forecast,Historyobjects - better exception hierarchy
- datetime representation of reception/reference times in
- Updated city ID registry files
- Bugfix: no crashes when data about wind, snow and rain in JSON API responses are
null
- Bugfix: always send an API key to OWM API
- New feature: can now specify wether to use the pro OWM API version or not:
owm = OWM(subscription_type='pro', API_key='my-pro-api-key')
- Better support for Python 3 on
CityIDRegistry - Bug fixes on parsing of humidity, wind and visibility
- Fixed bug on visibility distance parsing
- New entity Station: represents a meteostation recording weather data
Station(name, station_ID, station_type, status, lat, lon, distance=None, last_weather=None)
- New feature: search for meteostations around a lat/lon couple
owm25.station_at_coords(42.4, 13.9)
- New feature: retrieve weather currently measured by a meteostation
owm25.weather_at_station(916)
- New feature: retrieve weathers currently measured by meteostations within a bounding box
owm25.weather_at_stations_in_bbox(lat_top_left, lon_top_left, lat_bottom_right, lon_bottom_right, cluster=False, limit=None)
- Can now query for weather forecasts based on geographical coordinates
three_hours_forecast_at_coords(42.4, 13.9)
daily_forecast_at_coords(42.4, 13.9, limit=4)
- Can now query for weather forecasts based on city ID
three_hours_forecast_at_id(7768)
daily_forecast_at_id(7768, limit=4)
- Support querying of extreme weather conditions in Forecaster convenience methods
when_storm()
will_have_storm()
will_be_stormy_at()
when_tornado()
will_have_tornado()
will_be_tornado_at()
when_hurricane()
will_have_hurricane()
will_be_hurricane_at()
- Enriched
Weatherclass with methods to support data fields retrieved from meteostations
get_dewpoint()
get_humidex()
get_heatindex()
get_visibility_distance()
-
Now supporting Unicode strings as parameters for all PyOWM public methods
-
Increased test coverage
- Renaming of some functions in PyOWM public interface (breaking change!)
owm25.API_online -> owm25.is_API_online
owm25.weather_at -> owm25.weather_at_place
owm25.find_weather_by_name -> owm25.weather_at_places
owm25.find_weather_by_coords -> owm25.weather_around_coords
owm25.weather_history -> owm25.weather_history_at_place
- Multilingual support for weather data descriptions
owm = OWM(language='ru')
obs = owm.weather_at('Moscow')
obs.get_weather().get_detailed_status() # "ясно"
- Can now retrieve current weather from city IDs
owm.weather_at_id(5128581)
- Can now retrieve weather history from city IDs
owm.weather_history_at_id(5128581)
- Can now do toponyms to city IDs conversions using a registry
registry = owm.city_id_registry()
registry.id_for("New York,US") # 5128581
- Added more human-friendly utilities in Historian and timeutils modules
Historian.max_temperature()
Historian.max_humidity()
Historian.max_pressure()
Historian.max_rain()
Historian.min_temperature()
Historian.min_humidity()
Historian.min_pressure()
Historian.min_rain()
Historian.average_temperature()
Historian.average_humidity()
Historian.average_pressure()
Historian.average_rain()
timeutils.next_week()
timeutils.last_week()
timeutils.next_hour()
timeutils.last_hour()
- Now checking code coverage via coveralls.io
Release 1.2.0
- Ported to Python 3 while maintaining Python 2.7+ compatibility
- Python 2.6 is now unsupported (please update to 2.7)
- Bug fixes
Release 1.0.0
- Users can inject configuration when instantiating the library
- Code is now compliant to PEP-8 guidelines
- Added XMLNS support to printed XML
- Refactoring of low-level utility functions
- Bug fixes