Skip to main content

Top-level package for skellytracker

Project description

skellytracker

The tracking backend for freemocap. Collects different pose estimation tools and aggregates them using a consistent API. Can run pose estimation on images, webcams, and videos.

Run skelly_tracker

Installation: pip install skellytracker Then it can be run with skellytracker.

Running the basic skellytracker will open the first webcam port on your computer and run pose estimaiton in realtime with mediapipe holistic as a tracker. You can specify the tracker with skellytracker TRACKER_NAME, where TRACKER_NAME is the name of an available tracker. To view the names of all available trackers, see RUN_ME.py.

It will take some time to initialize the tracker the first time you run it, as it will likely need to download the model.

Using skellytracker in your project

To use skellytracker in your project, import a tracker like from skellytracker import YOLOPoseTracker, then instantiate it with your desired parameters like tracker = YOLOPoseTracker(model_size="medium"), and then use tracker.process_image(frame) or tracker.process_video(video_filepath). Processing image by image will let you access each individual annotated frame with tracker.annotated_image, and you can optionally record the data with tracker.recorder.record(). Access recorded data with tracker.recorder.process_tracked_objects(). The running, recording, and processing are done separately to give control over the amount of processing done at each step in the pipeline. Processing an entire video allows you to save the annotated frames as a video, and optionally saves and returns the data as a numpy array. Each tracker has an associated ModelInfo class to access model attributes.

Skellytracker is still under development, so version updates may make breaking changes to the API. Please report any issues and pull requests to the skellytracker repo.

Extending the API

To extend the API, import the BaseTracker and BaseRecorder abstract base classes from skellytracker. Then create a new tracker and recorder inheriting from the base classes and implement all of the abstract methods.

Contributing

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

Pull requests are the best way to propose changes to the codebase (we use Github Flow). We actively welcome your pull requests:

  1. Fork the repo and create your branch from main.
  2. Download the development dependencies with pip install -e '.[dev]'.
  3. If you've added code that should be tested (including any tracker), add tests.
  4. If you've changed APIs, update the documentation.
  5. Ensure the test suite passes by running pytest skellytracker/tests.
  6. Make sure your code lints.
  7. Make that pull request!

Download files

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

Source Distribution

skellytracker-2025.10.1024.tar.gz (54.8 kB view details)

Uploaded Source

Built Distribution

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

skellytracker-2025.10.1024-py3-none-any.whl (72.6 kB view details)

Uploaded Python 3

File details

Details for the file skellytracker-2025.10.1024.tar.gz.

File metadata

  • Download URL: skellytracker-2025.10.1024.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for skellytracker-2025.10.1024.tar.gz
Algorithm Hash digest
SHA256 be751a7316d95ce0c09c4a84da659cf19b31900e055f4afd244696b741dee97a
MD5 f81eaf53cb0b6e4568fd557d8b94cd27
BLAKE2b-256 036aea001cfe9b2150f0f471d6ea27c9567272d7307a95ca6d42b28b686e1bec

See more details on using hashes here.

File details

Details for the file skellytracker-2025.10.1024-py3-none-any.whl.

File metadata

File hashes

Hashes for skellytracker-2025.10.1024-py3-none-any.whl
Algorithm Hash digest
SHA256 2dd1bf9812547b8e29119da0417bcbf43b2af0b9b514012a7de1b69d36fe6c3d
MD5 160ff70f1a63626f7628375ffcad9fc1
BLAKE2b-256 399d90b1bc1e3f8fb8aa530f85b0d3d7016acdb7545bcd5fed5e361d9fb7fc7e

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