Metadata-Version: 2.4
Name: scanpath-studio
Version: 0.38.3
Summary: Interactive workbench for eye-tracking-while-reading data: draw, replay and compare scanpaths over the text, and export figures and tables.
Author: Keren Gruteke Klein, Maya Grossman, Ella Lion, Deborah N. Jakobi, David R. Reich, Lena Jäger, Yevgeni Berzak
Author-email: Omer Shubi <lacclab.technion@gmail.com>
License-Expression: MIT
Project-URL: Repository, https://github.com/lacclab/scanpath-studio
Project-URL: Documentation, https://lacclab.github.io/scanpath-studio/
Project-URL: Issues, https://github.com/lacclab/scanpath-studio/issues
Keywords: eye-tracking,scanpath,visualization,streamlit,reading,psycholinguistics
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: streamlit[performance]>=1.66.0
Requires-Dist: packaging>=26.3
Requires-Dist: pandas>=3.0
Requires-Dist: plotly>=7.1
Requires-Dist: numpy>=2.4
Requires-Dist: scipy>=1.17
Requires-Dist: pyarrow>=25.0
Requires-Dist: kaleido>=1.4
Requires-Dist: watchdog>=6.0.0
Requires-Dist: streamlit-sortables>=0.3.1
Requires-Dist: pillow>=12.3
Requires-Dist: imageio[ffmpeg]>=2.37
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: truststore>=0.10
Requires-Dist: xlrd>=2.0.2
Provides-Extra: test
Requires-Dist: pytest>=8.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
Provides-Extra: lint
Requires-Dist: ruff==0.16.8; extra == "lint"
Provides-Extra: docs
Requires-Dist: mkdocs-material[imaging]>=9.7.7; extra == "docs"
Requires-Dist: mkdocstrings[python]>=1.0.6; extra == "docs"
Requires-Dist: markdown-exec>=1.12.3; extra == "docs"
Requires-Dist: mkdocs-redirects>=1.2.3; extra == "docs"
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.6.0; extra == "docs"
Requires-Dist: mkdocs-llmstxt>=0.5.0; extra == "docs"
Dynamic: license-file

# Scanpath Studio

**See how people read.**

A free, open-source app for exploring eye movements in reading. Check data quality, compare readers, and create figures and scanpath videos — no coding required.

**[Try it online](https://scanpath-studio.streamlit.app)** · **[Download the app](https://lacclab.github.io/scanpath-studio/install/)** · **[Browse the gallery](https://lacclab.github.io/scanpath-studio/gallery/)**

![Scanpath Studio: exploring trials, replaying a reading, comparing readers and analyzing a corpus](https://raw.githubusercontent.com/lacclab/scanpath-studio/main/docs/assets/app_demo.gif)

[![PyPI](https://img.shields.io/pypi/v/scanpath-studio.svg)](https://pypi.org/project/scanpath-studio/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/lacclab/scanpath-studio/blob/main/LICENSE)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.22933884.svg)](https://doi.org/10.5281/zenodo.22933884)

## From your data to a figure

- **Bring your own data.** Load fixation and interest-area tables, with optional raw gaze and metadata. [Data guide →](https://lacclab.github.io/scanpath-studio/guides/loading-data/)
- **Explore and replay.** View fixations, saccades and heatmaps; filter trials, then star or tag the ones to revisit.
- **Compare readings.** Overlay two scanpaths or place them side by side, across readers, conditions or datasets.
- **Analyze a corpus.** Explore the reading measures in your data by text, reader or group.
- **Export and share.** Save publication-ready figures, GIF/MP4 replays or a batch of trials, and share a view with a link.

[Follow a tutorial](https://lacclab.github.io/scanpath-studio/tutorials/) · [Watch the workflows](https://lacclab.github.io/scanpath-studio/gallery/workflows/)

## Run it on your computer

Download the desktop app — **no Python needed**:

[Windows](https://github.com/lacclab/scanpath-studio/releases/latest/download/ScanpathStudio-windows-x86_64-setup.exe) · [macOS (Apple silicon)](https://github.com/lacclab/scanpath-studio/releases/latest/download/ScanpathStudio-macos-arm64.dmg) · [Linux](https://github.com/lacclab/scanpath-studio/releases/latest/download/ScanpathStudio-linux-x86_64.tar.gz)

Local installs keep your data on your machine. To try the app first, open the [online demo](https://scanpath-studio.streamlit.app) with its bundled data.

<details>
<summary>Prefer pip? Install with Python 3.11–3.14</summary>

```bash
pip install scanpath-studio
scanpath-studio
```

[Setup and update instructions](https://lacclab.github.io/scanpath-studio/install/)

</details>

## Python & command line

Build a figure in the app, then copy its Python or CLI code from **Share**. The [feature guides](https://lacclab.github.io/scanpath-studio/guides/) include scripting examples alongside the app instructions.

[Python API](https://lacclab.github.io/scanpath-studio/api/) · [CLI reference](https://lacclab.github.io/scanpath-studio/cli/)

## Research & community

Using Scanpath Studio in your research? [Cite the software](https://lacclab.github.io/scanpath-studio/cite/) (Shubi et al., 2026). The bundled demo is a subset of [OneStop Eye Movements](https://doi.org/10.1038/s41597-025-06272-2).

[Report a bug or request a feature](https://github.com/lacclab/scanpath-studio/issues) · [Contribute](https://github.com/lacclab/scanpath-studio/blob/main/CONTRIBUTING.md) · [Code of conduct](https://github.com/lacclab/scanpath-studio/blob/main/CODE_OF_CONDUCT.md)

<sub>Developed with AI assistance. As with any research software, cross-check results before using them in published work.</sub>
