Changelog#
v0.4.0 (2026-05-14)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
New features#
Bug fixes#
Fix
lsapy.core.formatting.sc_reprfunction to handleSuitabilityCriteriawith non-emptyxr.DataArrayindicators and undefinedfunc(issue #115, PR #116).Fix
lsapy.aggregate.aggregatefunction formeanandgmeanaggregation when weights are provided (issue #121, PR #122).Fix
LandSuitabilityAnalysis.runto reassign attrs to each criteria in the returnxr.Dataset(issue #119, PR #124).Fix issue with
open_datadue to the release of the v2.0 of NZGLID (issue #145, PR #146).Fix
open_datalist of supported variables printing and update docstring (issue #143, PR #144).Update sample data hash in the registry file after NZGLID v2.0 modifications (PR #149).
Breaking changes#
- The
lsapy.functionsmodule has been removed (PR #104). The
SuitabilityFunctionclass has been removed.All the standardization functions contained in this module have been removed and are now only available in the
lsapy.standardizemodule.The
fit_membershipfunction has been removed andlsapy.standardize.fitshould be used instead.
- The
- The example data provided for the land realm with the package has been updated reflecting the changes in the v2.0 of NZGLID dataset (issue #145, PR #146):
Minor changes in the data values have been introduced.
The variable rock has been renamed to rock_outcrops_surface_boulders.
The variable carbon_content has been removed.
Internal changes#
h5pyhas been added to the project dev dependencies (PR #112).lsapy.aggregate._agg_weightshas been modified to return axr.DataArraywhere weights are distributed only along thevariabledimension (issue #117, PR #122).Dependabot has been configured to check version updates (issue #129, PR #130).
The registry file for example data has been updated and the DOIs have been set to the v2.0 of NZGLID (issue #145, PR #146).
_check_realm_varstest has been updated to unsure supported variables are correctly printed (issue #143, PR #144).Update LSAPy description in the README file and documentation home page (PR #151).
The links to the development installation instructions have been added to the README and documentation (issue #142, PR #151).
v0.3.1 (2025-11-14)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
Bug fixes#
v0.3.0 (2025-11-10)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
Announcements#
LSAPy is now available on conda-forge (issue #68, PR #74).
New features#
A new
booleansuitability function has been added (issue #85, PR #86).The
nameandindicatorarguments ofSuitabilityCriteriacan now be optional (issue #84, PR #87).A
setterhas been added toSuitabilityCriteriaattributes (issue #84, PR #87).The
lsapy.standardizemodule has been added with categorical and membership standardization functions (issue #89, PR #91).The
SuitabilityFunctionis not longer required to define the standardization function inSuitabilityCriteria(issue #89, PR #91).SuitabilityCriteria.nameis now a property of the class (PR #97).The
LandSuitabilityAnalysisproperties have been properly defined (PR #98).The API Reference documentation has been updated and improved (issue #96, PR #99).
Breaking changes#
The
lsapy.statisticsmodule has been renamed tolsapy.stats(PR #71).The
lsapy.core.aggregationhas been moved and renamed tolsapy.aggregate(PR #71).The
statistical_summaryfunction has been renamed tostats_summary(PR #82).The
spatial_statistical_summaryfunction has been renamed tospatial_stats_summary(PR #82).The
lsapy.functionsmodule as well asSuitabilityFunctionhave been marked as deprecated and will be removed in a future release (issue #89, PR #91).
Internal changes#
Bug fixes#
Fix small issue of
SuitabilityCriteriastring representation (PR #73).
v0.2.0 (2025-08-20)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
New features#
Functions’ alternative names can now be used in
SuitabilityFunction(PR #43).The documentation of membership functions has been improved (PR #43).
LSAPy officially supports Python>=3.10 and is OS independent (PR #46).
reprmethods ofSuitabilityFunction,SuitabilityCriteriaandLandSuitabilityAnalysishave been modified to provide more user-friendly information (issue #55, PR #59).A setter has been added to the
attrsmethod ofSuitabilityCriteriaandLandSuitabilityAnalysis(issue #55, PR #59).The
open_datafunction has been added to thelsapy.utilsmodule to load data from the LSAPy data repository (issue #60, PR #62).A
medianaggregation method has been added (PR #63).
Breaking changes#
The deprecated
SuitabilityFunction.mapmethod has been removed (PR #44).short_name,long_name,descriptionandcommentattributes ofSuitabilityCriteriaandLandSuitabilityAnalysishave been removed and are now stored in theattrsattribute (issue #55, PR #59).load_climate_dataandload_soil_datafunctions have been removed (issue #60, PR #62).- Some names of aggregation methods have been changed (PR #63):
weighted_meanis nowwmeangeomeanis nowgmeanweighted_geomeanis nowwgmeanlimiting_factoris nowlimfactor
The
vars_weighted_mean,vars_mean,vars_geomean,vars_weighted_geomeanandlimiting_factoraggregation methods have been removed (PR #63).
Internal changes#
- New pre-commit hooks have been added and the package pyproject has been updated (PR #58)
New hooks:
yamllint,vulture,nbstripout,pygrep-hooks,mdformat,blackdoc,formatbibtex,gitleaksandmeta.Update dependencies: remove unused
Shapelyand add dependencies for new hooks.Add deptry config to track dependencies.
Update package metadata: keywords, classifiers (python versions) and project URLs.
Update package sdist files.
The
lsapy.core.formattingmodule has been added and containsreprformatting functions (issue #55, PR #59).Aggregation functions have been moved to the
lsapy.core.aggregationmodule (PR #63).A relaxed configuration of
mypyhas been added to the project (PR #66).
Bug fixes#
Fix issues with representations of
SuitabilityFunctionwhen no parameters are provided (issue #61, PR #65).Add
**kwargstoSuitabilityCriteria.computeandLandSuitabilityAnalysis.runto allow handling Dask arrays (issue #64, PR #65).The codebase has been modified to improve typing and fix mypy errors (issue #35, PR #66).
v0.1.1 (2025-07-26)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
Internal changes#
v0.1.0 (2025-07-25)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
New features#
Breaking changes#
Internal changes#
Templates for requesting new features, asking question and submitting PR have been added (issue #11, PR #12).
The README has been updated to make links permanent and to add a docs badge (PR #13).
A configuration file for Zenodo integration has been added to the repository (PR #14).
Pre-commit has been setup and
ruff,codespellandnumpydochooks have been added (issue #8, PR #18/PR #19).The autoupdate schedule of
pre-commithas been set to weekly (PR #21)The unused
introduction.ipynbnotebook has been removed (issue #15, PR #20).- The structure around
SuitabilityFunction(PR #30): The
SuitabilityFunctionhas been moved to LSAPyfunction._suitabilitymodule.The membership functions have been moved to the
function.membershipmodule.The discrete function has been moved to the
function._discretemodule.The
equationdecorator has been rename todeclare_equationand moved to thecore.functionmodule.The
get_function_from_namefunction has been moved to thecore.functionmodule.
- The structure around
LSAPy logo has been added: README and documentation have been updated to use it (PR #27)
v0.1.0-dev2 (2025-05-25)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
Internal changes#
- Major changes for documentation (issue #2, PR #9):
All public objects are now documented using the NumPy-style.
introduction.ipynbhas been slip into three different ones:criteria.ipynb,function.ipynb, andlsa.ipynb.- The top-level documentation has been updated/created:
The format of README and CHANGELOG files is now reStructuredText (RST).
A proper README has been created.
A CODE_OF_CONDUCT file adopting the Contributor Covenant code of conduct has been added.
A CONTRIBUTING.md providing guidelines on how to contribute to the project has been added.
FT20250 and UC logos used in the documentation have been added to the repository.
- The documentation building using Sphinx has been setup:
The documentation uses the PyData theme.
A User-facing documentation is now available and has been published on Read the Docs.
The project dependencies have been updated and made consistent across
pyproject.tomlandenvironments.ymlfiles.
v0.1.0-dev1 (2025-05-16)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
New features#
Add ruff configuration to the project.
Bug fixes#
v0.1.0-dev0 (2025-03-12)#
Contributor to this version: Baptiste Hamon (@baptistehamon).
First release on PyPI.
New features#
SuitabilityFunctionto define the function used for suitability computation.SuitabilityCriteriato define criteria to consider in the LSALandSuitabilityto conduct LSA.