Metadata-Version: 2.3
Name: jabs-core
Version: 0.42.0
Summary: Add your description here
Author: Glen Beane, Alexander Berger-Liedtka, Keith Sheppard
License: Proprietary
Requires-Dist: packaging>=24.0
Requires-Dist: toml>=0.10.2,<0.11.0
Requires-Dist: h5py>=3.10.0,<4.0.0
Requires-Dist: shapely>=2.0.1,<3.0.0
Requires-Dist: numpy>=2.0.0,<3.0.0
Requires-Dist: opencv-python-headless>=4.8.1.78,<5.0.0
Requires-Python: >=3.10, <3.15
Project-URL: Repository, https://github.com/KumarLabJax/JABS-behavior-classifier
Project-URL: Issues, https://github.com/KumarLabJax/JABS-behavior-classifier/issues
Description-Content-Type: text/markdown

# JABS Core (`jabs-core`)

The infrastructure and shared utility layer for the JABS.

## Overview

`jabs-core` provides low-level, domain-agnostic utilities used across all JABS packages.
It is designed to be lightweight and free of heavy scientific dependencies (like
`scikit-learn` or `pandas`), making it safe to import at any level of the hierarchy.

## Responsibilities

- **Shared Constants**: Global constants used for file compression and configuration.
- **Exceptions**: Centralized exception hierarchy (`JabsError`, `PoseHashException`,
  etc.).
- **Infrastructure**: Base classes for registries and plugin discovery systems.
- **Abstract Bases**: High-level interface definitions (e.g., the `PoseEstimation`
  abstract base).
- **Utility Functions**: Generic helpers for file hashing, logging configuration, and
  basic string/path manipulation.

## Package Structure

- `jabs.core.constants`: Global constants.
- `jabs.core.exceptions`: Shared exception classes.
- `jabs.core.abstract`: Abstract base classes for the system.
- `jabs.core.utils`: Generic utility functions.
- `jabs.core.enums`: Shared enumerations (e.g., `ClassifierType`).
