The format is based on Keep a Changelog.
- Remove python 3.8 support
- Update GitHub location in docs
- Fix bug in API request when twice-daily forecast was used.
- Use one timestep per day for daily forecasts.
- Add twice-daily forecast option to split daily forecasts into day and night.
- No longer strip 'day', 'night', 'midday', 'midnight' from element names in daily and twice-daily forecasts.
- Correct elements to camelCase for daily forecasts.
- Add option to convert numeric significant weather code to string description
- Modernise packaging and build tooling and infrastructure.
- Migrate to use new MetOffice DataHub. This required many changes, for more details see the 'migration' page of the documentation.
- Update versioneer
- Add pythons 3.9, 3.10, 3.11, 3.12 to tests and setup.py.
- Remove support for python < 3.8
- Remove deprecated
new_oldandfuture_oldfunctions. - Add
__str__functions toTimestep,Element,Day,Site - Add element to
Forecastto track if forecast is daily or 3 hourly - Change
idvariable inForecast,Observation,Sitetolocation_id. - Change
idvariable inElementtofield_code.
- Remove f-string in test
- Bugfix for
get_observation_sites
- Require arguments to
get_nearest_forecast_siteandget_nearest_observation_site. - Add python 3.8 to tests and setup.py
- Remove support for Python 3.4.
- Fix to url case in
travis.ymlto enable releases.
- Update README.md and travis.yml due to change in ownership.
- Raise an error if data for the requested location is not provided from the datapoint API.
- Remove stray print statement
- Explicitly state the use of semantic versioning in
README.md. - Add
elements()function toTimestep. - Remove night/day indication from weather codes which have them.
- Change the logic used to calculate the closest timestep to a datetime. The closest timestep to the datetime is now used. Add a new function,
Forecast.at_datetime(target)to do this.Forecast.now()has been changed to use this new function. The old behaviour is deprecated and available usingForecast.now_old().Forecast.future()has been changed to use this new function. The old behaviour is deprecated and available usingForecast.future_old(). - Check if keys are returned from datapoint api in
Manager.py. Do not attempt to read the values from the dict if they are not there.
- Retry the connection to datapoint if it fails (up to 10 times).
- Use versioneer to set version number from git tag.
- Fix failure to return forecast at midnight.
- Add changelog.
- Check that data is provided in tests.
- Set weather element of
timestepto 'not reported' if data is not provided. - Update examples to use
get_nearest_forecast_sitefunction. - Rename
get_all_sites()toget_forecast_sites()andget_nearest_site()toget_nearest_forecast_site(). - Limit observations to sites within 20 km of the nearest observation site.
- Require that the nearest location is within 30 km of the requested location.
- Show the available sites on maps in the documentation.
- Use a haversine function to calculate the distance between coordinates.
- Use setuptools in
setup.py. - Fix bug where site attributes were assigned incorrectly.
- Use sphinx to generate documentation.
- Fix bug where longitude or latitude values of 0 returned false in
get_nearest_site().
- Remove stray print statements.
- Remove support for python 2 and python 3.3.
- Correct wrong version number.
- Fix latitude and longitude in
manager_test.py. - Add support for observations.
- Swap the order of latitude and longitude in function calls.
- Add a timeout of 1 second to the API call.
- Fix error which set sites to
None. - Fix documentation build.
- Use python 3 syntax in examples.
- Fix bug where
forecast.now()always returnedNone. - Change print statements in
Manager.pyandForecast.pyto python 3 style. - Fix bug where no data was returned for about an hour after midnight.
- Add
forecast.future()function. - Add support for python 3.6.
- Use a custom error when datapoint call fails.
- Only send python 3.5 to Travis.
- Update tests.
- Fix bug with
forecast.now(). - Implement text forecast.
- Add python 3 support.
- Use python datetime for dates and times.
- Add instructions for installing from master using pip.
- Add examples
- Use readthedocs.
- Add error when no data is returned.
- Cache site requests for an hour.
- Test string to int conversion.
- Use travis
- Add concept of API key profiles.
- Fix type casting.
- Add
forecast.now()function.
+ Initial commit and license.