ai-station/.venv/lib/python3.12/site-packages/textual/features.py

30 lines
699 B
Python
Raw Normal View History

2025-12-25 14:54:33 +00:00
from __future__ import annotations
from typing import TYPE_CHECKING, cast
from typing_extensions import Literal
if TYPE_CHECKING:
from typing_extensions import Final
FEATURES: Final = {"devtools", "debug", "headless"}
FeatureFlag = Literal["devtools", "debug", "headless"]
def parse_features(features: str) -> frozenset[FeatureFlag]:
"""Parse features env var
Args:
features: Comma separated feature flags
Returns:
A frozen set of known features.
"""
features_set = frozenset(
feature.strip().lower() for feature in features.split(",") if feature.strip()
).intersection(FEATURES)
return cast("frozenset[FeatureFlag]", features_set)