From 4aab4087dc97906d0b9890035401175cdaab32d4 Mon Sep 17 00:00:00 2001 From: blackhao <13851610112@163.com> Date: Fri, 22 Aug 2025 02:51:50 -0500 Subject: 2.0 --- .../python3.12/site-packages/referencing/_attrs.py | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/referencing/_attrs.py (limited to '.venv/lib/python3.12/site-packages/referencing/_attrs.py') diff --git a/.venv/lib/python3.12/site-packages/referencing/_attrs.py b/.venv/lib/python3.12/site-packages/referencing/_attrs.py new file mode 100644 index 0000000..ae85b86 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/referencing/_attrs.py @@ -0,0 +1,31 @@ +from __future__ import annotations + +from typing import NoReturn, TypeVar + +from attrs import define as _define, frozen as _frozen + +_T = TypeVar("_T") + + +def define(cls: type[_T]) -> type[_T]: # pragma: no cover + cls.__init_subclass__ = _do_not_subclass + return _define(cls) + + +def frozen(cls: type[_T]) -> type[_T]: + cls.__init_subclass__ = _do_not_subclass + return _frozen(cls) + + +class UnsupportedSubclassing(Exception): + def __str__(self): + return ( + "Subclassing is not part of referencing's public API. " + "If no other suitable API exists for what you're trying to do, " + "feel free to file an issue asking for one." + ) + + +@staticmethod +def _do_not_subclass() -> NoReturn: # pragma: no cover + raise UnsupportedSubclassing() -- cgit v1.2.3