Skip to main content

Logo

Phytospatial

A python package that processes lidar and imagery data in forestry

Explore the docs »



Python versions License DOI Build Status
Windows MacOS Linux

About The Project

Phytospatial is a Python toolkit designed to streamline the processing of remote sensing data for forestry and vegetation analysis. It provides tools for handling large hyperspectral rasters, validating vector geometries, and extracting spectral statistics from tree crowns. It also allows for passive-active raster-level fusion via its image processing module.

Key Features

  • Memory-Safe Processing: Process massive rasters using windowed reading (via rasterio) without overloading RAM.
  • Forestry Focused: Specialized tools for tree crown validation and species labeling.

Getting Started

Installation

To get up and running quickly with pip:

pip install phytospatial

New to Python? Check out our detailed Installation Guide for Conda and Virtual Environment setup.

Usage

Here is a simple example of extracting spectral data from tree crowns using the extract_to_dataframe API, which automatically handles memory management and tiling strategies.

from phytospatial import extract, loaders

# Load tree crowns (returns a standardized Vector object)
crowns = loaders.load_crowns("data/crowns.shp")

# Extract features directly into a pandas DataFrame
# The 'auto' mode automatically selects the best processing strategy
df = extract.extract_to_dataframe(
    raster_input="data/image.tif",
    vector_input=crowns,
    tile_mode="auto"
)

print(df.head())

For a complete workflow, see the Spectral Extraction Tutorial.

Contribute

As an open-source project, we encourage and welcome contributions of students, researchers, or professional developers.

Want to help? Please read our CONTRIBUTING section for a detailed explanation of how to submit pull requests. Please also make sure to read the project's CODE OF CONDUCT.

Not sure how to implement your idea, but want to contribute?
Feel free to leave a feature request here.

Citation

If you use this project in your research, please cite it as:

Grand'Maison, L.-V. (2026). Phytospatial: a python package that processes lidar and imagery data in forestry (0.5.1) [software]. Zenodo. https://doi.org/10.5281/zenodo.18112045

Contact

The project is currently being maintained by Louis-Vincent Grand'Maison.

Feel free to contact me by email or linkedin:
Email - lvgra@ulaval.ca
Linkedin - grandmaison-lv

Acknowledgments & Funding

This software is developed by Louis-Vincent Grand'Maison as part of a PhD project. The maintenance and development of this project is supported by several research scholarships:

  • Fonds de recherche du Québec – Nature et technologies (FRQNT) (Scholarship 2024-2025)
  • Natural Sciences and Engineering Research Council of Canada (NSERC) (Scholarship 2025-present)
  • Université Laval (Scholarship 2024-present)

License

Phytospatial is distributed under the Apache License, Version 2.0.
See the LICENSE file for the full text. This license includes a permanent, world-wide, non-exclusive, no-charge, royalty-free, irrevocable patent license for all users.

See LICENSE for more information on licensing and copyright.

(Back to Top)

Metadata

Release files for phytospatial 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for phytospatial 0.5.1
File Size Uploaded
phytospatial-0.5.1.tar.gz 58.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for phytospatial 0.5.1
File Interpreter ABI Platform
phytospatial-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 127.6 kB

Release files / phytospatial-0.5.1.tar.gz

Download URL phytospatial-0.5.1.tar.gz
Size 58.6 kB
Tags Source
SHA-256 checksum
How to use checksums
df3219173e105642267d1db8fe435633502ec4eeff90944833efcc4e45d39e0b
BLAKE2b-256 checksum
How to use checksums
8c0bc7fcd0af384e47e1d2c9269f050b2ed6a82f7e05850bc266465cc8a4bb2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log

Release files / phytospatial-0.5.1-py3-none-any.whl

Download URL phytospatial-0.5.1-py3-none-any.whl
Size 69.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5f336d60610fecec4c94baf2e3a459a3ef2ee0ddc2dfb0763e61a130d380856
BLAKE2b-256 checksum
How to use checksums
ee9ad9ed0b02c57ac95dfc854abeb9d599ba25f43b93df751dcfee6460a9ee54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page