Decorators Module (stx.decorators)
Function decorators for type conversion, batching, caching, and more.
Quick Reference
from scitex.decorators import torch_fn, batch_fn, cache_disk, timeout
@torch_fn
def process(x):
"""Auto-converts inputs to torch tensors, outputs back."""
return x * 2
@batch_fn
def predict(data, batch_size=32):
"""Process data in batches with progress bar."""
return model(data)
@cache_disk
def expensive_computation(params):
"""Results cached to disk for reuse."""
return heavy_compute(params)
@timeout(seconds=30)
def risky_call():
"""Raises TimeoutError if exceeds 30s."""
return external_api()
Type Conversion
Auto-convert between data frameworks:
@torch_fn– Inputs to PyTorch tensors, outputs back to original type@numpy_fn– Inputs to NumPy arrays@pandas_fn– Inputs to pandas objects@xarray_fn– Inputs to xarray objects
Batch Processing
@batch_fn– Split input into batches with tqdm progress@batch_numpy_fn– NumPy conversion + batching@batch_torch_fn– PyTorch conversion + batching@batch_pandas_fn– Pandas conversion + batching
Caching
@cache_mem– In-memory function result caching@cache_disk– Persistent disk-based caching@cache_disk_async– Async disk caching
Utilities
@deprecated(reason, forward_to)– Mark functions as deprecated@not_implemented– Mark as not yet implemented@timeout(seconds)– Enforce execution time limits@preserve_doc– Preserve docstrings when wrapping
Auto-Ordering
from scitex.decorators import enable_auto_order
enable_auto_order()
# Now decorators are applied in optimal order regardless of code order
API Reference
See scitex.decorators API Reference for the auto-generated Python API.