Skip to main content

Sits Python Package

sits is a high-level Python package designed to simplify the extraction and processing of Satellite Image Time Series (SITS) referenced in STAC catalogs. For any given point or polygon, it efficiently handles data retrieval and, leveraging spyndex, can calculate a wide array of spectral indices. The processed results can be exported in various formats, including image files, CSV tables, or dynamic animated GIFs, with customizable dimensions suitable for applications such as deep learning. In addition to its core functionalities, the package includes an experimental analysis module that integrates forecasting methods from the sktime library. This module enables users to apply time series models to satellite-derived data, opening possibilities for predictive analytics and temporal pattern exploration.


Automatic calculation of over 200 spectral indices offered by Spyndex

ts index

Anomaly detection on time series: the example of clear-cutting in forests

clearcut detection

clearcut detection map

Quick and easy timelapse creation

animated gif 01 animated gif 02 animated gif 03


GitHub: https://github.com/kenoz/SITS_utils

Documentation: https://sits.readthedocs.io/

PyPI: https://pypi.org/project/sits/

Tutorials: https://sits.readthedocs.io/en/latest/tutorials.html

Installation

Use the package manager pip to install sits.

pip install sits 

Usage

Explore the full documentation for a complete description of features. To get started quickly, you can also run through the interactive tutorials via your favorite notebook platform or Google Colab.

Notebooks

If you want to explore the different ways to use the sits package, we recommend running the following Jupyter notebooks, in Google Colab for instance:

  • Example 01: explain the basics for retrieving a satellite image time series according to a polygon feature.
  • Example 02: explain how to export a satellite time series into an animated GIF or video file.
  • Example 03: explain how to compute spectral indices with sits and spyndex packages.
  • Example 04: explain how to parallelize processing tasks in case of multiple vector features.
  • Example 05: explain how to automatically detect forest clear-cuts by using the analysis module.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Testing

To ensure the correct behaviour of the module, you can run:

# Or any of the supported python versions
uv run --python 3.10 --group dev pytest tests/

If you want to test all the supported python versions, you can run ./test_all_versions.sh.

If you want an isolated environment, you can use the Dockerfile provided.

To run the matrix test in the isolated environment you can do:

# Build the image
docker build -t sits-gdal .

# Then run the tests with persistent caching
docker run --rm \
  -v uv-cache:/root/.cache/uv \
  sits-test

Or if you want to test live changes, you can Bind Mount your working directory as:

# Run this AFTER building the image
docker run --rm \
  -v uv-cache:/root/.cache/uv \
  -v $(pwd):/app \
  sits-test

Remember that if you make changes to the Dockerfile, you will need to build your image again.

License

GNU GPL v.3.0

Metadata

Release files for sits 0.8.0

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

Source distribution (sdist)

Source distribution for sits 0.8.0
File Size Uploaded
sits-0.8.0.tar.gz 38.5 MB Details

Built distribution (wheel)

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

Total release size: 38.8 MB

Release files / sits-0.8.0.tar.gz

Download URL sits-0.8.0.tar.gz
Size 38.5 MB
Tags Source
SHA-256 checksum
How to use checksums
31e907e5081db2202275a4c878ce2de40a5532a5c6b5d5d2ecc7c6e2ade604be
BLAKE2b-256 checksum
How to use checksums
ed9730a662c88ce0c1a38ecccffae030b7459571e87fb91c4063ec0b22139415
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.8

Release files / sits-0.8.0-py3-none-any.whl

Download URL sits-0.8.0-py3-none-any.whl
Size 346.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76b6088954f45c01afa1a738418d9e3620d24c4dff4ba9a0320072671e49104a
BLAKE2b-256 checksum
How to use checksums
65c0742f9719819153e6f92abcd4a8886715a64a8428702f13ad80533e8ebde2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

1 release file

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

0.0.6

2 release files

0.0.4

1 release file

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