Skip to main content

PyEyesWeb is a research toolkit for extracting quantitative features from human movement data.

Project description

PyEyesWeb

Expressive movement analysis toolkit

A modern, modular, and accessible Python library for expressive movement analysis — bridging research, health, and the arts

PyPI version Docs License

PyEyesWeb is a research toolkit for extracting quantitative features from human movement data.
It builds on the Expressive Gesture Analysis library of EyesWeb, bringing expressive movement analysis into Python as a core aim of the project. The library provides computational methods to analyze different qualities of movement, supporting applications in research, health, and the arts.
It is designed to facilitate adoption in artificial intelligence and machine learning pipelines, while also enabling seamless integration with creative and interactive platforms such as TouchDesigner, Unity, and Max/MSP.

Installation

pip install pyeyesweb

Usage

A minimal example of extracting movement features with PyEyesWeb :

from pyeyesweb.data_models import SlidingWindow
from pyeyesweb.low_level import Smoothness

# Movement smoothness analysis
# 1. Initialize the feature extractor (e.g., 50Hz sampling rate)
smoothness = Smoothness(rate_hz=50.0)

# 2. Initialize a sliding window for speed data (1 signal, 1 dimension)
window = SlidingWindow(max_length=60, n_signals=1, n_dims=1)

# 3. Process data frame by frame (simulating a real-time loop)
# here `speed_value` is a float representing the instantaneous speed
window.append(speed_value) 

# 4. Compute the feature (only after the window is full)
if len(window) >= window.max_length:
    result = smoothness(window)
    print(f"SPARC: {result.sparc}, Jerk: {result.jerk_rms}")

[!TIP] For more advanced and complete use cases see the Documentation and the examples folder.

Documentation

Documentation for PyEyesWeb is available online and includes tutorials, API references, and the theoretical and scientific background of the implemented metrics:

Support

If you encounter issues or have questions about PyEyesWeb, you can get help through the following channels:

  • GitHub Issues: report bugs, request features, or ask technical questions on the PyEyesWeb GitHub Issues page.
  • Discussions / Q&A: participate in conversations or seek advice in GitHub Discussions.
  • Email: Reach out to the maintainers at cp.infomus@gmail.com for direct support or collaboration inquiries.

Please provide clear descriptions, minimal reproducible examples, and version information when submitting issues—it helps us respond faster.

Roadmap

PyEyesWeb is under active development, and several features are planned for upcoming releases:

  • Expanded feature extraction: addition of more movement expressivity metrics (you can find an example of which features to expect in related conceptual layer guide.
  • Improved examples and tutorials: more interactive Jupyter notebooks and example datasets to facilitate learning and adoption.
  • Cross-platform compatibility: streamlined integration with creative and interactive platforms (e.g., TouchDesigner plugin, Unity, Max/MSP).

Future development priorities may evolve based on user feedback and research needs. Users are encouraged to suggest features or improvements via GitHub Issues.

Contributing

Contributions to PyEyesWeb are welcome! Whether it's reporting bugs, adding features, improving documentation, or providing examples, your help is appreciated.

How to Contribute

  1. Fork the repository.

  2. Clone the forked repository set up the development environment

    git clone https://github.com/<YOUR_USERNAME>/PyEyesWeb.git
    cd pyeyesweb
    pip install -e .[dev]
    
  3. Create a branch for your feature or bug fix:

    git checkout -b feature/your-feature-name
    
  4. Make your changes, ensuring code quality and adherence to the project's coding standards.

  5. Submit a pull request to the main branch, with a clear description of your changes.

  6. Engage in code reviews and address any feedback provided by maintainers.

Authors & Acknowledgments

PyEyesWeb is developed by InfoMus Lab – Casa Paganini, University of Genoa, with the partial support of the EU ICT STARTS Resilence Project.

InfoMus Lab Logo
Resilence Project Logo EU Logo

Maintainers & Contributors

License

MIT 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

pyeyesweb-1.0.1.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

pyeyesweb-1.0.1-py3-none-any.whl (77.7 kB view details)

Uploaded Python 3

File details

Details for the file pyeyesweb-1.0.1.tar.gz.

File metadata

  • Download URL: pyeyesweb-1.0.1.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyeyesweb-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e1fd17e1246adc550c85c48a1760f690f63b7351780a57b01241c0f7ceb56990
MD5 b33a66ffe1ef03bfc0dda2c3644d7cf7
BLAKE2b-256 795fc0a49dfce1be872e1e87859e5af80cb49e04ca8bd54c3bcb192a5b7c850e

See more details on using hashes here.

File details

Details for the file pyeyesweb-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pyeyesweb-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 77.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyeyesweb-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 025743d4d5595f3746ff70f001b5d28187990a03191846520a517f05da2c4cf4
MD5 dc3f2698b3dc3cf7a9244fd6820ef84b
BLAKE2b-256 0a485490df2de7ea97642aa4862dda8e429d7ddd3f77c55ab01da193312fd23c

See more details on using hashes here.

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