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
PoseEstimationabstract 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).