Skip to content

Releases: AI4S2S/lilio

v0.5.0

11 Jun 09:19
Compare
Choose a tag to compare

With this release, Lilio now supports a safe and greedy mode for creating intervals and can infer data frequency. For more details, see overview below:

Changed

  • Moved to ruff formatter instead of black (#70)
  • Do import sorting with ruff instead of isort (#70)
  • Option for "greedy" mode which creates an interval if any data is available within the time bound (#75)
  • map_to_data now tries to infer the time bounds for the data, and uses those to determine which anchor years are valid (#75)
  • Tests for greedy and safe mode, including inferring data frequency (#75)

Fixed

  • Fixed issue with calendar generation when the (rightmost) target period crossed into the new year (#70).
  • Fixed issue with Pandas 2.2 where 'M' changed to 'ME' (#72)
  • Fixed issue where pd.Interval now shows time where it is not wanted (#72). The issue was raised with Pandas ([#57748] pandas-dev/pandas#57748).
  • Added tests for latest version of macos (with M1 chips) (#73)
  • Fixed a bug in map_to_data that lead to anchor years being included when they should not have (#75)

0.4.2

19 Jan 13:41
Compare
Choose a tag to compare

Changed

  • Consistent output type of train-test split as input (#62).
  • Corrected s2spy.time to lilio (#65)

0.4.1

12 Sep 08:34
628a6fc
Compare
Choose a tag to compare

Added

  • Python 3.11 support (#60).

Changed

  • Improved dask integration guide (#59).

Removed

  • Python 3.8 support (#60).

0.4.0

21 Apr 09:55
dcbf5f1
Compare
Choose a tag to compare

With this release, Lilio now supports use of Dask in resampling!
For more details on the changes, see the overview below:

Changed

  • Bokeh >= 3.0.0 is now required for interactive plotting, instead of <= 2.4.3.
    • Do note that dask.distributed still requires bokeh < 3.

Added

  • Lilio's resample now supports use of dask. A tutorial on how to make use of this has been added to the documentation (#52).
  • When resampling xarray data, information such as the lilio version, calendar anchor date, the exact calendar, etc. are now added to the attributes, as well as descriptions and full names for anchor_year, i_interval, and is_target (#49)

0.3.1

15 Feb 12:47
Compare
Choose a tag to compare

Changed

  • lilio.resample will now return xr.DataArray if the input is xr.DataArray.
  • For compatibility with DataArray output, the Dataset/DataArray returned by resample now has the coordinates "left_bound" and "right_bound" instead of a single "intervals" coordinate with the "bounds" dimension.
  • If your input data has an frequency of less than twice the Calendar's smallest interval length, a UserWarning will be raised.
  • If your input data has a frequency less than the Calendar's smallest interval length, a ValueError will be raised.
  • In the output of resample(), the column/coordinate target has been renamed to is_target to avoid clashing with a possibly commonly used name by users.
  • The input data into resample() is now checked for the existance of reserved names, such as "anchor_year" or "i_interval", to avoid overwriting these and cause unpredictable behavior.

0.3.0

08 Feb 10:43
dd56cfe
Compare
Choose a tag to compare

First release of Lilio as a split off from s2spy.

Lilio generates calendars to resample timeseries into training and target data for machine learning.
It is named after the inventor of the Gregorian Calendar.

Fixed

  • Fixed a bug in Matplotlib calendar visualization related to the anchor date.

Changed

  • The CustomCalendar has been renamed to Calendar.
  • The AdventCalendar, MonthlyCalendar and WeeklyCalendar have been removed as classes. Instead there are functions that generate a standard Calendar.

Added

  • Resampling now supports many methods (e.g. median, min, std) as well as user-defined functions.
  • A "calendar shifter" to create a list of staggered calendars.

Dev changes

  • Lilio makes use of 'hatch' now.
    • Building the package has moved to hatchling
    • Environments and scripts are set up to handle linting and docs building.
  • Ruff is now used as a linter.
  • Notebooks have been moved to the docs folder. Notebooks needs to be cleaned to pass the CI.