Comments (2)
I was exploring this earlier this week.. from my grep of the codebase it's not possible currently because __call__
in PydanticBaseSettingsSource
doesn't get the current state of the settings model as an argument. See https://github.com/pydantic/pydantic-settings/blob/main/pydantic_settings/main.py#L181
If the current model was passed in the source itself could:
a. retrieve the current value of attributes to help build new attributes
b. decided if it should overwrite or not.
This PR is an imperfect solution to this problem but goes some way to addressing it. Imperfect because the current_state
is untyped and it's a breaking change.
from pydantic-settings.
Thanks @trondhindenes for reporting this issue.
Yes, as @mnbbrown described it is not possible right now.
We have to postpone it to V3 because it will introduce a breaking change.
I will mark it as a feature request and we can include this in V3
from pydantic-settings.
Related Issues (20)
- Unable to override loading of .env with .env.testing HOT 5
- Discriminated unions with callable discriminator don't work correctly. HOT 2
- Create default templates (feature request) HOT 2
- case_sensitive doesn't work in optional nested Settings models HOT 5
- Example from docs doesn't work can't import from pydantic.env_settings import SettingsSourceCallable HOT 1
- Can my custom PydanticBaseSettingsSource get values already retrieved from other PydanticBaseSettingsSources? HOT 2
- Comma delimited string as list of strings HOT 1
- Easily list the names of the env var required to set a field HOT 2
- Environment Variable Overrides Init Arguments in BaseSettings with Aliases HOT 5
- environment variables case sensitivity on windows HOT 3
- Can't read Pydantic Settings from stdin HOT 3
- Python 3.9 (and earlier I guess), and non PEP-484 type definitions with injector HOT 5
- Typing for multiple PathTypes (and support Traversable) for SettingsConfigDict json_file, toml_file, yaml_file, etc HOT 2
- Validation error for 3 levels of nested dicts in v2.3.0 HOT 7
- Field alias AttributeError: 'AliasChoices' object has no attribute 'lower' - CliSettingsSource HOT 3
- CLI help interacts badly with strings containing `'%'` HOT 4
- CliSettingSource fails to handle `AliasChoices` and `AliasPath` HOT 3
- Error when using validator in nested model with case_sensitive=True and using upper case HOT 7
- Settings parsing breaks with complex type HOT 8
- Feature request: add a reload method to re-parse env variables HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pydantic-settings.