group-wbl/.venv/lib/python3.13/site-packages/chromadb/api/functions.py

34 lines
990 B
Python
Raw Permalink Normal View History

2026-01-09 09:48:03 +08:00
"""Attachable function definitions for ChromaDB collections.
This module provides function constants that can be attached to collections
to perform automatic computations on collection data.
Example:
>>> from chromadb.api.functions import STATISTICS_FUNCTION
>>> attached_fn = collection.attach_function(
... function=STATISTICS_FUNCTION,
... name="my_stats",
... output_collection="my_stats_output"
... )
"""
from enum import Enum
class Function(str, Enum):
"""Available functions that can be attached to collections."""
STATISTICS = "statistics"
"""Computes metadata value frequencies for a collection."""
RECORD_COUNTER = "record_counter"
"""Counts records in a collection."""
# Used only for failure testing - not a real function
_NONEXISTENT_TEST_ONLY = "nonexistent_function"
# Convenience aliases for cleaner imports
STATISTICS_FUNCTION = Function.STATISTICS
RECORD_COUNTER_FUNCTION = Function.RECORD_COUNTER