Tiny avoid EnvField misuse (#15612)

This commit is contained in:
fzyzcjy
2025-12-22 16:20:47 +08:00
committed by GitHub
parent cb30d056e3
commit 89619a9904

View File

@@ -7,6 +7,8 @@ from typing import Any
class EnvField:
_allow_set_name = True
def __init__(self, default: Any):
self.default = default
# NOTE: we use None to indicate whether the value is set or not
@@ -15,6 +17,7 @@ class EnvField:
self._set_to_none = False
def __set_name__(self, owner, name):
assert EnvField._allow_set_name, "Usage like `a = envs.A` is not allowed"
self.name = name
def parse(self, value: str) -> Any:
@@ -379,6 +382,7 @@ class Envs:
envs = Envs()
EnvField._allow_set_name = False
def _print_deprecated_env(new_name: str, old_name: str):