Description
env_nested_delimiter Is Not Implemented in code base
Steps to Reproduce
- Install msgspec-ext
- Try to use env_nested_delimiter from readme and docs
- Get shocked
- Go to source and make sure that env_nested_delimiter is not implemented
- Open an issue on GitHub
Expected Behavior
To Be Implemented
Actual Behavior
Not To Be Implemented
Code Example
from functools import cache, cached_property
from typing import Literal, Self
from urllib.parse import quote, urlunsplit
from msgspec_ext import (
BaseSettings,
SecretStr,
SettingsConfigDict,
)
type _Scheme = Literal["postgresql", "postgresql+asyncpg"]
class PostgresConnection(BaseSettings):
username: SecretStr
password: SecretStr
host: SecretStr
port: int
db: SecretStr
@cached_property
def adsn(self) -> str:
return self._build_dsn("postgresql+asyncpg")
@cached_property
def dsn(self) -> str:
return self._build_dsn("postgresql")
def _build_dsn(self, scheme: str) -> str:
userinfo = f"{quote(self.username)}:{quote(self.password)}"
netloc = f"{userinfo}@{self.host}:{self.port}"
return urlunsplit((scheme, netloc, self.db, "", ""))
class DatabaseConnections(BaseSettings):
postgres: PostgresConnection
class AppSettings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
env_nested_delimiter="__",
)
database: DatabaseConnections
@classmethod
@cache
def get_settings(cls) -> Self:
return cls()
msgspec-ext Version
0.5.0
Python Version
3.13
Operating System
Windows 11
Additional Context
No response
Description
env_nested_delimiter Is Not Implemented in code base
Steps to Reproduce
Expected Behavior
To Be Implemented
Actual Behavior
Not To Be Implemented
Code Example
msgspec-ext Version
0.5.0
Python Version
3.13
Operating System
Windows 11
Additional Context
No response