import sys
from pydantic import AliasChoices, AliasPath, Field
from pydantic_settings import BaseSettings
class User(BaseSettings, cli_parse_args=True):
first_name: str = Field(
validation_alias=AliasChoices('f', 'fname', AliasPath('name', 0))
)
last_name: str = Field(
validation_alias=AliasChoices('l', 'lname', AliasPath('name', 1))
)
sys.argv = ['example.py', '--fname', 'John', '--lname', 'Doe']
print(User().model_dump())
# pydantic_settings.exceptions.SettingsError: error parsing value for field "first_name" from source "EnvSettingsSource"
https://docs.pydantic.dev/latest/concepts/pydantic_settings/#aliases
https://docs.pydantic.dev/latest/concepts/pydantic_settings/#aliases