The format is based on Keep a Changelog.
- 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_old
andfuture_old
functions. - Add
__str__
functions toTimestep
,Element
,Day
,Site
- Add element to
Forecast
to track if forecast is daily or 3 hourly - Change
id
variable inForecast
,Observation
,Site
tolocation_id
. - Change
id
variable inElement
tofield_code
.
- Remove f-string in test
- Bugfix for
get_observation_sites
- Require arguments to
get_nearest_forecast_site
andget_nearest_observation_site
. - Add python 3.8 to tests and setup.py
- Remove support for Python 3.4.
- Fix to url case in
travis.yml
to 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
timestep
to 'not reported' if data is not provided. - Update examples to use
get_nearest_forecast_site
function. - 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.py
andForecast.py
to 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.