Prod/source zoho creator#133
Open
Ishankoradia wants to merge 4 commits into
Open
Conversation
Initial implementation of the Airbyte source connector for Zoho Creator, including connector code, configuration, tests, documentation, and metadata files. - source_zoho_creator/spec.yaml defines the 7-field Zoho Creator config schema with OAuth advanced_auth wiring. - source_zoho_creator/api.py implements ZohoCreatorAPI for OAuth token refresh, token caching, metadata validation, and report discovery helpers. - source_zoho_creator/source.py wires the CDK Source with check_connection, stubbed discover/read, and stream construction via ReportDataStream. - source_zoho_creator/streams.py creates the ZohoCreatorStream base and ReportDataStream for report syncing (cursor/pagination scaffolding + static schema). - unit_tests/ (conftest, test_api, test_source, test_streams) adds pytest fixtures and coverage for auth, source lifecycle, and stream behavior. - README.md + pyproject/poetry files document setup, dependencies, and usage; auxiliary configs (BOOTSTRAP, acceptance tests, coverage) round out the build.
…n_tests/sample_config.json accidental commit Signed-off-by: Ritabrata Roy <48592746+royred98@users.noreply.github.com>
…dard >streams.py – Defines ReportDataStream, an HttpStream that pages Zoho Creator report data, infers cursor fields from schema, build catalog & then fetches user select cursor field from configured catalog, builds params/headers with record cursor pagination, and updates incremental state with Zoho date strings. >source.py – Implements SourceZohoCreator (Airbyte AbstractSource), validating connectivity via ZohoCreatorAPI and dynamically instantiating a ReportDataStream per discovered report. >api.py – Zoho Creator API client handling OAuth token refresh, report discovery using metadata, data fetches, and schema inference (treating Zoho fields as strings/objects/arrays based on sample data). >spec.yaml – Airbyte connection spec defining required Zoho credentials/URLs plus OAuth2 advanced auth mapping for Airbyte Cloud. >run.py – Entrypoint wiring SourceZohoCreator into Airbyte CDK launch, with robust error-to-trace serialization for startup failures. >exceptions.py – Custom exception types for API/auth/config errors used across the connector. (currently unused) >Bootstrap.md: updated based on latest connector set up config >Readme.md: updated to faciliatate better understanding of connector development & testing process
…algoT4D/airbyte into feature/zoho_creator_connector
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
How
Review guide
source_zoho_creator/spec.yaml
source_zoho_creator/api.py
source_zoho_creator/source.py
source_zoho_creator/streams.py
source_zoho_creator/run.py
unit_tests/ (conftest, test_api, test_source, test_streams) INCOMPLETE
source_zoho_creator/exceptions.py INCOMPLETE
README.md + pyproject/poetry files
User Impact
Can this PR be safely reverted and rolled back?