Skip to main content

Deep learning step selection functions for predicting animal movement.

Project description

deepSSF

Predicting animal movement with a deep learning step-selection framework.

This package provides the installable implementation of the deepSSF approach in Python. Accompanying tutorials and example code live at the deepSSF project site.

There is a package walkthrough script that outlines an implementation of the functions with some example GPS tracking data (a single water buffalo) and two spatial covariates (NDVI and slope). You can access the script as a Jupyter notebook or as a knitted html in the examples directory. The example script will not download with the package installation, but the GPS and spatial datasets will.

The Python package can be viewed on PyPi.

The paper can be found at:

Forrest, S. W., Pagendam, D., Hassan, C., Potts, J. R., Drovandi, C., Bode, M., & Hoskins, A. J. (2026). Predicting animal movement with deepSSF : A deep learning step selection framework. Methods in Ecology and Evolution, 17(2), 371–391. https://doi.org/10.1111/2041-210x.70136.

Installation (pip only)

If you manage your own Python environment, install deepSSF with:

pip install deepssf

Development install (editable, with linting and testing tools):

git clone https://github.com/swforrest/deepssf
cd deepssf
pip install -e ".[dev]"

Quick start

import deepssf
print(deepssf.__version__)

Setting up (for users new to Python)

If you are coming from R, think of a conda environment the way you think of an renv project library — it is a self-contained Python installation that keeps this project's packages separate from everything else on your computer. The steps below create one for deepSSF and should take about five minutes.

1. Install Miniconda (once, system-wide)

Download and run the installer from the official Miniconda page.

If you click 'Download' towards the top right, the links to download Miniconda are towards the bottom of the page - the links at the top are for the Anaconda Distribution, which has thousands of pacakges and is not necessary to get things up and running initially.

  • Windows: use the Anaconda Prompt for all subsequent commands, and choose an install path that contains no spaces (e.g. C:\miniconda3).
  • macOS / Linux: a normal terminal works fine.

Miniforge alternative: if you prefer to avoid Anaconda's default channel entirely, Miniforge is a drop-in replacement that ships with conda-forge as the only channel.

2. Create the environment

git clone https://github.com/swforrest/deepssf_package
cd deepssf
conda env create -f environment.yml

This installs Python 3.11, the geospatial libraries (rasterio / GDAL / PROJ), Jupyter Lab, and the deepSSF package itself with all of its dependencies. PyTorch is installed via pip with no extra flags — pip automatically picks the right build for your hardware: MPS on Apple Silicon, CUDA on NVIDIA GPUs, CPU everywhere else. No configuration is needed; the package selects the correct backend at runtime.

3. Activate the environment

conda activate deepssf

You will need to run this once per terminal session before using deepSSF.

4. (Optional) Register the Jupyter kernel

If you use VS Code or another editor that manages its own Jupyter kernel list, register the environment so it appears as a kernel option:

python -m ipykernel install --user --name deepssf --display-name "Python (deepssf)"

5. Launch Jupyter Lab

jupyter lab

Then open examples/deepssf_train_validate_example.ipynb to get started.


Documentation

Tutorials and walkthroughs: https://swforrest.github.io/deepSSF/

Citation

If you use deepssf in your research, please cite the paper. See CITATION.cff or use the citation and link to paper below.

Forrest, S. W., Pagendam, D., Hassan, C., Potts, J. R., Drovandi, C., Bode, M., & Hoskins, A. J. (2026). Predicting animal movement with deepSSF : A deep learning step selection framework. Methods in Ecology and Evolution, 17(2), 371–391. https://doi.org/10.1111/2041-210x.70136

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepssf-0.2.2.tar.gz (21.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepssf-0.2.2-py3-none-any.whl (7.9 MB view details)

Uploaded Python 3

File details

Details for the file deepssf-0.2.2.tar.gz.

File metadata

  • Download URL: deepssf-0.2.2.tar.gz
  • Upload date:
  • Size: 21.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deepssf-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a68ef066c742c200baed41690df749511a91f283fc3f5594194e9976cc8cec4b
MD5 5b1b26dbd5c1b55f0aa2c14d8da01fb4
BLAKE2b-256 de428bd01422f41fe556b4eb8fbe575395400d1b6add0edd6daaa5ce27a40295

See more details on using hashes here.

Provenance

The following attestation bundles were made for deepssf-0.2.2.tar.gz:

Publisher: publish.yml on swforrest/deepSSF_package

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deepssf-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: deepssf-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deepssf-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 897a4a38746f3937102f5d53debf9db46937a1b63501244262dc18a052df5ecb
MD5 bd3d2d85943725454ca5329e7c0e6269
BLAKE2b-256 bbe2a2b1ecb8e71c6993dbd98ce95eecf6aa0b47234c99839f6733311f19877c

See more details on using hashes here.

Provenance

The following attestation bundles were made for deepssf-0.2.2-py3-none-any.whl:

Publisher: publish.yml on swforrest/deepSSF_package

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page