Metadata-Version: 2.1
Name: boxjelly
Version: 0.1.0
Summary: BoxJelly is a tool for viewing and editing object tracks in video.
License: MIT
Author: Kevin Barnard
Author-email: kbarnard@mbari.org
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: dataclasses-json (>=0.5.7,<0.6.0)
Requires-Dist: intervaltree (>=3.1.0,<4.0.0)
Requires-Dist: pyqt5 (>=5.15,<6.0)
Requires-Dist: sharktopoda-client (>=0.1.4,<0.2.0)
Description-Content-Type: text/markdown

# BoxJelly

**BoxJelly** is a tool for viewing and editing object tracks in video.

[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
<!-- [![Python](https://img.shields.io/badge/language-Python-blue.svg)](https://www.python.org/downloads/) -->
[![PyPI version](https://pypip.in/v/boxjelly/badge.png)](https://crate.io/packages/boxjelly/)
[![PyPI downloads](https://pypip.in/d/boxjelly/badge.png)](https://crate.io/packages/boxjelly/)

![BoxJelly logo](boxjelly/assets/images/boxjelly_logo_128.png)

Author: Kevin Barnard, [kbarnard@mbari.org](mailto:kbarnard@mbari.org)

---

## Cthulhu Integration

This branch is for the [Cthulhu](https://github.com/mbari-media-management/cthulhu) integration. This integration is still in development. Currently, the integration has some limitations:

- Cthulhu does not report video framerate, so a default of 29.97 is assumed.
- BoxJelly assumes the default interface configuration for Cthulhu:
    - Control port: `5005`
    - Incoming port: `5561`
    - Incoming topic: `localization`
    - Outgoing port: `5562`
    - Outgoing topic: `localization`
- Cthulhu must be running before you load a video/track file in BoxJelly.
- On initial load, tracks take some time to sync with Cthulhu.

Relevant TODOs:
- Detect video framerate
- Create settings dialog for interface config
- Better error handling on IPC failures

## Install

### From PyPI

BoxJelly is available on PyPI as `boxjelly`. To install, run:

```bash
pip install boxjelly
```

### From source

This project is build with Poetry. To install from source, run (in the project root):

```bash
poetry install
```

## Run

Once BoxJelly is installed, you can run it from the command line:

```bash
boxjelly
```

---

Copyright &copy; 2021&ndash;2022 [Monterey Bay Aquarium Research Institute](https://www.mbari.org)

