Testing_pikesquares/.venv/lib/python3.12/site-packages/traitlets/utils/sentinel.py
2025-02-02 00:02:31 -05:00

25 lines
642 B
Python

"""Sentinel class for constants with useful reprs"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
from __future__ import annotations
import typing as t
class Sentinel:
def __init__(self, name: str, module: t.Any, docstring: str | None = None) -> None:
self.name = name
self.module = module
if docstring:
self.__doc__ = docstring
def __repr__(self) -> str:
return str(self.module) + "." + self.name
def __copy__(self) -> Sentinel:
return self
def __deepcopy__(self, memo: t.Any) -> Sentinel:
return self