All notable changes to OCHA AnticiPy will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for GloFAS version 4.0, note that this will break any GloFAS filepaths downloaded with previous versions as the model version is now added to the filename
- GloFAS forecast loading was broken due to missing time dimension
- Temporarily restrict Pydantic to below v2
- Typo in required extras for ReadTheDocs
- Config files for 25/25 HRP countries and several non-HRP countries
- Optional dependencies and documentation, testing, and development
reqirements moved to
extras_require
- GloFAS module dependencies made optional
- tox configuration moved to
setup.cfg
fromtox.ini
- Automatic raster dimension setting for lat/lon and X/Y fixed to work for rioxarray methods
- USGS NDVI documentation was updated to remove dead links and improve users ability to use the historical data
- GloFAS does not permit users to go above request limit of 500
- Fixed bug for loading COD AB shapefiles in Windows
- pandas
Index
used in raster module docstrings in lieu of the now deprecatedInt64Index
sphinx-rtd-theme
dependency for docs (switch to Alabaster theme)
- Dropped support for Python 3.7 as it was dropped in dependencies
- Fixed badge link in README.md and deprecated PyPI GHA
- Renamed from AA Toolbox to OCHA AnticiPy
- Modules for downloading and processing CHIRPS rainfall, GloFAS river discharge, and USGS NDVI data
- Utilities to streamline use of strings for dates across modules
- COD AB configuration now has an
admin{level}_name
custom layer name parameter - Logging for files being overwritten or not due to clobber
- Documented and moved the raster processing module to the top level for public access
- Python 3.6 support
- The check in
DataSource
for the required configuration file section now also checks if the section isNone
- All available admin levels for DRC and Ethiopia are now accessible
- IRI download method now checks request headers to verify authentication
- Upgrade version of hdx-python-api to prevent bug when downloading
- Fixed error when loading zipped COD AB shapefiles on Windows
- Implemented unit testing for
AatRaster
module with full coverage - Implemented downloading and processing for IRI seasonal precipitation forecast
- Added config for DRC (of which the iso3 is COD)
- User can now create a config object from a custom filepath
- FewsNet region names are now part of config files
- Documentation expanded and put on ReadTheDocs
DataSource
is now an abstract base class with requireddownload
,process
andload
methodsGeoBoundingBox
input parameters changed fromnorth
,south
,east
, andwest
tolat_max
,lat_min
,lon_max
,lon_min
GeoBoundingBox.round
returnsGeoBoundingBox
instance (instead of being in place)- COD AB is now optional in the configuration file
- FewsNet download functionality follows
DataSource
structure - This changelog converted from markdown to .rst
Pipeline
class no longer used as main API- Removed unnecessary explicit install of test requirements on GitHub Actions
- GitHub action to publish on PyPI should not be invoked for pushes to main (using tags instead)
- HDX API now uses “prod” server, and version >= 5.5.8 to avoid download error
- COD AB dataset URLs on HDX are standardized
GeoBoundingBox
won’t allow lat_max < lat_min or lon_max < lon_minGeoBoundingBox
imposes -90 < latitude < 90 and -180 < longitude < 180
- GitHub action to publish on PyPI when tagged was not running
Pipeline
class to serve as main APIDataSource
class as a base for all data sourcesCodAB
data source class for manipulating COD administrative boundaries- Functionality to download and save FewsNet data
- Raster processing module
- HDX API utility
- Caching decorator in IO utility
- Configuration files for:
- Bangladesh
- Ethiopia
- Malawi
- Nepal
- pip-compile pre-commit hook to update requirements files
- Version number is now specified in
src/aatoolbox/_version.py
- GitHub actions to run unit tests (using
tox.ini
) and push to PyPI
- markdownlint pre-commit hook switched to Node.js source
requirements.txt
moved torequirements
directoryArea
class moved to utils- Switched from
pbr
tosetuptools_scm
for automated git tag versioning - Documentation to be generated using
sphinx-build
rather than throughsetup.py
Makefile
for generating requirements filessetup.py
as it was only required forscm
- Version number reading function used wrong package name
- Configuration class
- Base class for data manipulation
- CDS Area module
- Package setup with PBR
- Pre-commit hooks: black, flake8, mypy plus others
- Sphinx documentation