Quickstart
Gunz-Utils provides several critical primitives used across the 3D-Recon/Pekora projects.
1. Enhanced Enums
Use BaseStrEnum for case-insensitive string enums with fuzzy lookup support:
from gunz_utils.enums import BaseStrEnum
class Mode(BaseStrEnum):
TRAIN = "train"
EVAL = "eval"
# Case insensitive lookup
mode = Mode.from_str("Train")
print(mode) # Mode.TRAIN
2. Project Management
Easily locate the project root and manage paths securely:
from gunz_utils.project import get_project_root
root = get_project_root()
print(f"Project is located at: {root}")
3. Data Validation
Leverage Pydantic-powered validation for your research functions:
from gunz_utils.validation import validate_call
@validate_call
def process_data(samples: int, resolution: int):
print(f"Processing {samples} at {resolution}bp")
# This will raise a validation error if types are incorrect
process_data(samples=100, resolution=10000)