Skip to content

Conversation

@SamRemis
Copy link
Contributor

@SamRemis SamRemis commented Nov 6, 2025

This PR introduces a configuration system for AWS clients that solves the challenge of managing configuration from multiple sources while maintaining proper precedence, validation, and auditability. AWS SDKs need to handle configuration from constructor parameters, environment variables, config files, and credentials files with a well-defined precedence order, while also tracking where each value originated for debugging and complex resolution logic.

The implementation provides async configuration resolution to handle file I/O operations, comprehensive type validation that works around Python's protocol type limitations, and extensible custom validation for complex types like endpoint URIs. Each configuration value is wrapped with source metadata, enabling users to understand where a particular value came from.

The system is designed to be easily extensible for new configuration fields while maintaining type safety and IDE support. It handles the complexity of AWS configuration requirements while providing a clean interface for client initialization and runtime configuration access.

@SamRemis SamRemis requested a review from a team as a code owner November 6, 2025 05:19
@SamRemis SamRemis changed the title Initial commit Add new configuration system Nov 6, 2025
@SamRemis SamRemis changed the title Add new configuration system Add First class for new configuration system Nov 6, 2025
@SamRemis SamRemis changed the title Add First class for new configuration system Add first class for new configuration system Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant