camel
camel copied to clipboard
feat: Unify all `loaders` interfaces
Description
Unified all loaders' interfaces and updated corresponding tests.
I use BaseLoader as the basic abstraction with some standard components:
init(config): Common configuration initialization
load(source, **kwargs): Main abstract method for loading data
supported_formats: Property to declare supported formats
suggested by @Wendong-Fan
Checklist
Go over all the following points, and put an x in all the boxes that apply.
- [x] I have read the CONTRIBUTION guide (required)
- [x] I have linked this PR to an issue using the Development section on the right sidebar or by adding
Fixes #issue-numberin the PR description (required) - [x] I have checked if any dependencies need to be added or updated in
pyproject.tomlandpoetry.lock - [x] I have updated the tests accordingly (required for a bug fix or a new feature)
- [ ] I have updated the documentation if needed:
- [ ] I have added examples if this is a new feature Fixed #1589 #1687 If you are unsure about any of these, don't hesitate to ask. We are here to help!