Source code for brokilon.ccd.clades.sranges
from .base import BaseClade
import inspect
from dataclasses import dataclass, field
[docs]
def get_callsite():
frame = inspect.currentframe().f_back.f_back
return f"{frame.f_code.co_filename}:{frame.f_lineno} ({frame.f_code.co_name})"
[docs]
@dataclass(frozen=True)
class SRangesClade(BaseClade):
ancestral_range: str
source: str = field(default_factory=get_callsite, compare=False)