Skip to content

DISCUSSION: Refactor and split sources.py? #546

@ezwiefel

Description

@ezwiefel

I've written a GCP Secret Manager source and I'd like to contribute it... but I'm worried it'll make source.py a bit long...

I'm wondering if you'd all be open to refactoring source.py into a subfolder? I think it'd make it easier to add new sources in the future.

Made something like this?

pydantic_settings/
├── __init__.py
├── main.py
├── py.typed
├── utils.py
├── version.py
└── sources/
    ├── __init__.py          # Re-exports all public components
    ├── base.py              # Base classes and core functionality
    ├── types.py             # Shared type definitions
    ├── utils.py             # Shared utility functions
    └── providers/           # Individual source implementations
        ├── __init__.py
        ├── secrets.py
        ├── env.py
        ├── dotenv.py
        ├── json.py
        ├── toml.py
        ├── pyproject.py
        ├── yaml.py
        ├── azure.py
        └── cli.py

I'd be happy to open a PR with the refactor if this approach works for all of you.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions