lsapy


Namelsapy JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryA Python package for Land Suitability Analysis.
upload_time2025-08-20 07:38:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords lsapy land suitability analysis geospatial analysis gis geography
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/lsapy/LSAPy_Logo_FullColour.png
    :class: dark-light
    :align: center
    :target: https://github.com/baptistehamon/lsapy
    :width: 400px
    :alt: LSAPy Logo

LSAPy: Land Suitability Analysis in Python
===========================================
|pypi| |python-versions| |status| |testing| |coverage| |ruff| |pre-commit| |docs| |question| |zenodo|

`LSAPy` stands for Land Suitability Analysis (LSA) in Python. Its objective is to make conducting
LSA in Python easier and more accessible to users. It provides a set of objects built around
`xarray`_ and operating together, making LSA's workflow straight forward and easy to understand.

.. _`xarray`: https://xarray.pydata.org/en/stable/

Quick Start
-------------
To install `LSAPy`, you can use `pip`:

.. code-block:: shell

    pip install lsapy


You can now perform your LSA:

.. code-block:: python

    # import modules
    from lsapy import LandSuitabilityAnalysis, SuitabilityCriteria, SuitabilityFunction

    # define your criteria
    criteria = {
        "crit1": SuitabilityCriteria(
            name="criteria1",
            indicator=indicator1,  # xarray object
            func=SuitabilityFunction(
                name="function_name", params={"param1": value1, "param2": value2}
            ),
        ),
        "crit2": SuitabilityCriteria(
            name="criteria2",
            indicator=indicator2,  # xarray object
            func=SuitabilityFunction(
                name="another_function_name",
                params={"param1": value1, "param2": value2},
            ),
        ),
        # add all necessary criteria
    }

    # define your land suitability
    lsa = LandSuitabilityAnalysis(
        land_use="land_use_name",
        criteria=criteria,
    )

    # run your analysis
    lsa.run(params)

More detailed tutorials and examples can be found in the `User Guide`_.

.. _`User Guide`: https://lsapy.readthedocs.io/en/latest/notebooks/index.html


Contributing
------------

`LSAPy` is an open-source project and we welcome contributions from the community. If you are interested in contributing, please
refer to the `Contribution`_ section for guidelines on how to get started helping us improve the library.

.. _`Contribution`: https://lsapy.readthedocs.io/en/latest/community/contributing.html

Credits
-------

The development of `LSAPy` started as part of a PhD, funded by the `Food Transition 2050`_  Joint Postgraduate School and hosted
by the `University of Canterbury`_ in New Zealand.

|FT2050| |UC-white| |UC-black|

The Python package has been created following the `pyOpenSci Guidebook`_.

.. _`Food Transition 2050`: https://www.foodtransitions2050.ac.nz/
.. _`University of Canterbury`: https://www.canterbury.ac.nz/
.. _`pyOpenSci Guidebook`: https://www.pyopensci.org/python-package-guide/

.. |logo| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/lsapy/LSAPy_Logo_FullColour.png
    :class: dark-light
    :target: https://github.com/baptistehamon/lsapy
    :width: 400px
    :alt: LSAPy Logo

.. |FT2050| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/FT2050-full_colour.png
    :class: dark-light
    :target: https://www.foodtransitions2050.ac.nz/
    :width: 200px
    :alt: Food Transition 2050 Logo

.. |UC-white| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/UCWhite.png
    :class: only-dark
    :target: https://www.canterbury.ac.nz/
    :width: 100px
    :alt: University of Canterbury Logo

.. |UC-black| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/UCBlack.png
    :class: only-light
    :target: https://www.canterbury.ac.nz/
    :width: 100px
    :alt: University of Canterbury Logo

.. |pypi| image:: https://img.shields.io/pypi/v/lsapy.svg
    :target: https://pypi.python.org/pypi/lsapy
    :alt: Python Package Index Build

.. |status| image:: https://www.repostatus.org/badges/latest/active.svg
    :target: https://www.repostatus.org/#active
    :alt: Project Status: Active - The project has reached a stable, usable state and is being actively developed.

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.15015111.svg
    :target: https://doi.org/10.5281/zenodo.15015111
    :alt: Zenodo DOI

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. |docs| image:: https://readthedocs.org/projects/lsapy/badge/
    :target: https://lsapy.readthedocs.io/en/latest/
    :alt: Documentation Status

.. |question| image:: https://img.shields.io/badge/Question_%3F-blue?style=social&logo=github
    :target: https://github.com/baptistehamon/lsapy/labels/question
    :alt: Link to question issues

.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/baptistehamon/lsapy/main.svg
   :target: https://results.pre-commit.ci/latest/github/baptistehamon/lsapy/main
   :alt: pre-commit.ci status

.. |testing| image:: https://github.com/baptistehamon/lsapy/actions/workflows/testing.yml/badge.svg
    :target: https://github.com/baptistehamon/lsapy/actions/workflows/testing.yml
    :alt: Testing Status

.. |coverage| image:: https://coveralls.io/repos/github/baptistehamon/lsapy/badge.svg
    :target: https://coveralls.io/github/baptistehamon/lsapy
    :alt: Coverage Status (Coveralls)

.. |python-versions| image:: https://img.shields.io/pypi/pyversions/lsapy
        :target: https://pypi.python.org/pypi/lsapy
        :alt: Supported Python Versions


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lsapy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Baptiste Hamon <baptiste.hamon@pg.canterbury.ac.nz>",
    "keywords": "LSAPy, Land Suitability Analysis, Geospatial Analysis, GIS, Geography",
    "author": null,
    "author_email": "Baptiste Hamon <baptiste.hamon@pg.canterbury.ac.nz>",
    "download_url": "https://files.pythonhosted.org/packages/b3/64/05af0c1ffb66aa815f75e62c37f9d409d6f2213d8cdc230aa427ed117418/lsapy-0.2.0.tar.gz",
    "platform": null,
    "description": ".. image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/lsapy/LSAPy_Logo_FullColour.png\n    :class: dark-light\n    :align: center\n    :target: https://github.com/baptistehamon/lsapy\n    :width: 400px\n    :alt: LSAPy Logo\n\nLSAPy: Land Suitability Analysis in Python\n===========================================\n|pypi| |python-versions| |status| |testing| |coverage| |ruff| |pre-commit| |docs| |question| |zenodo|\n\n`LSAPy` stands for Land Suitability Analysis (LSA) in Python. Its objective is to make conducting\nLSA in Python easier and more accessible to users. It provides a set of objects built around\n`xarray`_ and operating together, making LSA's workflow straight forward and easy to understand.\n\n.. _`xarray`: https://xarray.pydata.org/en/stable/\n\nQuick Start\n-------------\nTo install `LSAPy`, you can use `pip`:\n\n.. code-block:: shell\n\n    pip install lsapy\n\n\nYou can now perform your LSA:\n\n.. code-block:: python\n\n    # import modules\n    from lsapy import LandSuitabilityAnalysis, SuitabilityCriteria, SuitabilityFunction\n\n    # define your criteria\n    criteria = {\n        \"crit1\": SuitabilityCriteria(\n            name=\"criteria1\",\n            indicator=indicator1,  # xarray object\n            func=SuitabilityFunction(\n                name=\"function_name\", params={\"param1\": value1, \"param2\": value2}\n            ),\n        ),\n        \"crit2\": SuitabilityCriteria(\n            name=\"criteria2\",\n            indicator=indicator2,  # xarray object\n            func=SuitabilityFunction(\n                name=\"another_function_name\",\n                params={\"param1\": value1, \"param2\": value2},\n            ),\n        ),\n        # add all necessary criteria\n    }\n\n    # define your land suitability\n    lsa = LandSuitabilityAnalysis(\n        land_use=\"land_use_name\",\n        criteria=criteria,\n    )\n\n    # run your analysis\n    lsa.run(params)\n\nMore detailed tutorials and examples can be found in the `User Guide`_.\n\n.. _`User Guide`: https://lsapy.readthedocs.io/en/latest/notebooks/index.html\n\n\nContributing\n------------\n\n`LSAPy` is an open-source project and we welcome contributions from the community. If you are interested in contributing, please\nrefer to the `Contribution`_ section for guidelines on how to get started helping us improve the library.\n\n.. _`Contribution`: https://lsapy.readthedocs.io/en/latest/community/contributing.html\n\nCredits\n-------\n\nThe development of `LSAPy` started as part of a PhD, funded by the `Food Transition 2050`_  Joint Postgraduate School and hosted\nby the `University of Canterbury`_ in New Zealand.\n\n|FT2050| |UC-white| |UC-black|\n\nThe Python package has been created following the `pyOpenSci Guidebook`_.\n\n.. _`Food Transition 2050`: https://www.foodtransitions2050.ac.nz/\n.. _`University of Canterbury`: https://www.canterbury.ac.nz/\n.. _`pyOpenSci Guidebook`: https://www.pyopensci.org/python-package-guide/\n\n.. |logo| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/lsapy/LSAPy_Logo_FullColour.png\n    :class: dark-light\n    :target: https://github.com/baptistehamon/lsapy\n    :width: 400px\n    :alt: LSAPy Logo\n\n.. |FT2050| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/FT2050-full_colour.png\n    :class: dark-light\n    :target: https://www.foodtransitions2050.ac.nz/\n    :width: 200px\n    :alt: Food Transition 2050 Logo\n\n.. |UC-white| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/UCWhite.png\n    :class: only-dark\n    :target: https://www.canterbury.ac.nz/\n    :width: 100px\n    :alt: University of Canterbury Logo\n\n.. |UC-black| image:: https://raw.githubusercontent.com/baptistehamon/lsapy/main/docs/logos/UCBlack.png\n    :class: only-light\n    :target: https://www.canterbury.ac.nz/\n    :width: 100px\n    :alt: University of Canterbury Logo\n\n.. |pypi| image:: https://img.shields.io/pypi/v/lsapy.svg\n    :target: https://pypi.python.org/pypi/lsapy\n    :alt: Python Package Index Build\n\n.. |status| image:: https://www.repostatus.org/badges/latest/active.svg\n    :target: https://www.repostatus.org/#active\n    :alt: Project Status: Active - The project has reached a stable, usable state and is being actively developed.\n\n.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.15015111.svg\n    :target: https://doi.org/10.5281/zenodo.15015111\n    :alt: Zenodo DOI\n\n.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\n    :target: https://github.com/astral-sh/ruff\n    :alt: Ruff\n\n.. |docs| image:: https://readthedocs.org/projects/lsapy/badge/\n    :target: https://lsapy.readthedocs.io/en/latest/\n    :alt: Documentation Status\n\n.. |question| image:: https://img.shields.io/badge/Question_%3F-blue?style=social&logo=github\n    :target: https://github.com/baptistehamon/lsapy/labels/question\n    :alt: Link to question issues\n\n.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/baptistehamon/lsapy/main.svg\n   :target: https://results.pre-commit.ci/latest/github/baptistehamon/lsapy/main\n   :alt: pre-commit.ci status\n\n.. |testing| image:: https://github.com/baptistehamon/lsapy/actions/workflows/testing.yml/badge.svg\n    :target: https://github.com/baptistehamon/lsapy/actions/workflows/testing.yml\n    :alt: Testing Status\n\n.. |coverage| image:: https://coveralls.io/repos/github/baptistehamon/lsapy/badge.svg\n    :target: https://coveralls.io/github/baptistehamon/lsapy\n    :alt: Coverage Status (Coveralls)\n\n.. |python-versions| image:: https://img.shields.io/pypi/pyversions/lsapy\n        :target: https://pypi.python.org/pypi/lsapy\n        :alt: Supported Python Versions\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package for Land Suitability Analysis.",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://lsapy.readthedocs.io/en/stable/",
        "Issues": "https://github.com/baptistehamon/lsapy/issues",
        "Source": "https://github.com/baptistehamon/lsapy",
        "Zenodo": "https://doi.org/10.5281/zenodo.15015110"
    },
    "split_keywords": [
        "lsapy",
        " land suitability analysis",
        " geospatial analysis",
        " gis",
        " geography"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "57277bb0bdfcaadacfcd0f7f35c117d0e0aad68fccb0f751799f39f488e564d0",
                "md5": "1fae7fbec673dbe29ba96e69a73fdf94",
                "sha256": "b4f19f5381b6e775a2584224775335e19e34f307445adb9031b4484b2dabe0ec"
            },
            "downloads": -1,
            "filename": "lsapy-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1fae7fbec673dbe29ba96e69a73fdf94",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 25757,
            "upload_time": "2025-08-20T07:38:36",
            "upload_time_iso_8601": "2025-08-20T07:38:36.417539Z",
            "url": "https://files.pythonhosted.org/packages/57/27/7bb0bdfcaadacfcd0f7f35c117d0e0aad68fccb0f751799f39f488e564d0/lsapy-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b36405af0c1ffb66aa815f75e62c37f9d409d6f2213d8cdc230aa427ed117418",
                "md5": "b4c402ded0da8df47c23e9889bba8778",
                "sha256": "507dca46d376453f76a46012f8f1d35967885abaccf7d4ab857c0ec16dc27d71"
            },
            "downloads": -1,
            "filename": "lsapy-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b4c402ded0da8df47c23e9889bba8778",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 655538,
            "upload_time": "2025-08-20T07:38:37",
            "upload_time_iso_8601": "2025-08-20T07:38:37.776627Z",
            "url": "https://files.pythonhosted.org/packages/b3/64/05af0c1ffb66aa815f75e62c37f9d409d6f2213d8cdc230aa427ed117418/lsapy-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-20 07:38:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "baptistehamon",
    "github_project": "lsapy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "lsapy"
}
        
Elapsed time: 1.94855s