* remove duplicate param
* remove duplicate params
* fix some of the typing issues
* fix typing issues
* newline
* format
* Enable by default
* Add missing file
* refactor and remove flag
* none check
* move line of code
* fix typing in rate_limiting
* comment
* use typedef
* else branch
* format
* gate the feature
* rename test
* fix the test
* only dedupe if the values are the same
* Add some tests
* convert values to strings
* Document the change
* implement in requester too
This PR adds a new authenticator: The SessionTokenAuthenticator. The existing authenticator under the same name is renamed to LegacySessionTokenAuthenticator.
* [ISSUE #26581] per partition cursor
* [ISSUE #26581] format
* [ISSUE #26581] clean up state management
* [ISSUE #26581] improving Hashabledict
* [ISSUE #26581] format cdk
* [ISSUE #26581] fix tests
* [ISSUE #26581] code review from girarda
* Retrigger pipeline
* Decouple cursor and stream slicer and pushing state management as far up cursor as possible
* Format cdk
* Small fixes/comments
* DatetimeBasedCursor should not update state based on slice (for now at least since it wasn't doing this before)
* [ISSUE #26581] code review
* Automated Commit - Formatting Changes
* [ISSUE #26581] validation overlapping keys
* [ISSUE #26581] add typing
* [ISSUE #26581] code review
* Remove SyncMode from stream_slices
* Removing SyncMode from stream_slices up until SimpleRetriever and fixing typing
* [ISSUE-26434] replacing Record primitive by class
* [ISSUE-26434] update Cursor.update_state to use new record object
* Issue 26343/data feed incremental sync solution 2 (#27481)
* TMP [ISSUE-26434] first solution to enable stop condition on pagination
* TMP [ISSUE-26434] second solution to enable stop condition on pagination
* TMP [ISSUE-26434] second solution fix
* [ISSUE #26343] fixing behavior and adding tests
* [ISSUE #26343] only updating state once a slice to allow for data feed
* [ISSUE #26343] removing freezing of cursor
* format cdk
* [ISSUE #26343] ensure data_feed doesn't have end_datetime
* [ISSUE #26343] self review
* [ISSUE #26343] code review
* [ISSUE #26343] code review clean up
* [ISSUE #26343] code review clean up
* Code review
* [ISSUE #26343] add warn log message in DatetimeBasedCursor
* format
* Format
* [ISSUE #19410] remove request_options_provider from the … (#21403)
* [ISSUE #19410] (incomplete) remove request_options_provider from the manifest
* [ISSUE #19410] (incomplete) incomplete cleanup config_component_schema.json as well
* [ISSUE #19410] update source-monday
* [ISSUE #19410] code review
* [ISSUE #19410] formatting files
* [Low-Code CDK] Replace the $options keyword with $parameters (#21632)
* refactor flows and tests to use parameters instead of options
* update documentation to reflect the change from options to parameters
* create migration script to replace options with parameters in existing manifests
* update template to use parameters instead of options
* fix tests after rebasing from the branch
* address pr feedback and extra uses of options that I missed
* additional changes needed after rebasing from master
* migrate low-code connectors to use parameters instead of options
* 🚨🚨 [Low Code CDK] Update `*ref` format to `#/` (#21434)
* [Low-Code CDK] Remove JsonSchema type in favor of JsonSchemaFileLoader (#21832)
* fully deprecate JsonSchema in favor of JsonFileSchemaLoader
* remove usage in the legacy registry
* Update migration scripts according to manifest file rename (#21920)
* Issue 21866 remove legacy factory and validation flow (#21878)
* [ISSUE #21866] clean ManifestDeclarativeSource validation
* [ISSUE #21866] remove dataclasses-jsonschema
* [ISSUE #21866] code review
* [ISSUE-21866] flake8
* [ISSUE #21559] remove DefaultPaginator.url_base (#21823)
* [ISSUE #21559] remove DefaultPaginator.url_base
* [ISSUE #21559] code review
* [ISSUE #21559] update migration script
* [ISSUE #21559] code review
* [ISSUE #21559] update documentation
* [ISSUE #21559] run migration (#21824)
* [ISSUE #21559] remove DefaultPaginator.url_base (#21823)
* [ISSUE #21559] remove DefaultPaginator.url_base
* [ISSUE #21559] code review
* [ISSUE #21559] update migration script
* [ISSUE #21559] code review
* [ISSUE #21559] update documentation
* [ISSUE #21559] run migration (#21824)
* [ISSUE #21559] fix manifests
* [ISSUE #21926] setup server to allow for local tests (#21974)
* [Low Code CDK] remove checkpoint_interval from DeclarativeStream component (#22120)
* Issue #21576 rename dpathextractor fieldpointer (#21990)
* [ISSUE #21926] setup server to allow for local tests
* [ISSUE #21576] Rename DpathExtractor.field_pointer to field_path
* [ISSUE #21576] migration script
* [ISSUE #21576] update source-monday and source-pocket as well
* [ISSUE #21576] migration (#21997)
* [ISSUE #21576] code review
* Remove checkpoint_interval from source-prestashop manifest (#22141)
* replacing options with parameters for a few connectors I missed or were newly added
* [Low-Code CDK] Rremove stream_cursor_field from stream and derive it from stream_slicer (#22294)
* update schema to derive cursor_field from a stream slicer if it exists
* remove usage of stream_cursor_field on simple connector use cases
* fixing some of the more complex usage of stream_cursor_field that rely on cartesian product stream slicers
* fix documentation to replace references to stream_cursor_field
* Low Code CDK: Remove `name` and `primary_key` from non-DeclarativeStream components (#21891)
* fix eslint issues for webapp (#22462)
* 🪟🔧 Connector Builder frontend fixes for low_code_cdk_to_beta (#22375)
* bump connector builder server to latest CDK version
* fix breaking CDK changes in connector builder FE
* [Low-Code CDK] Separate request path from RequestOption component (#22398)
* split apart path from RequestOption and fix usages and cleanup the code
* replace usage of path with RequestPath and get rid of default to RequestOption
* fix bug where stream_slice_field was used in outbound request instead of request_option field_name
* organize yaml schema names and update documentation for RequestOption and RequestPath
* clean up tests
* regenerate models
* [ISSUE #19961] refactor stream slices (#22225)
* [ISSUE #19961] add 'incremental' and partially remove CartesianProductStreamSlicer - Google PageSpeed Insights not working yet
* [ISSUE #19961] fixing Google PageSpeed Insights
* move incremental_sync field to the stream level and perform merging into one stream slicer at that level
* add tests to merging incremental and iterable into cartesian
* rewrite documentation to separate incremental sync and iterator concepts
* update documentation to use partition router and revise the tutorial to reflect the new changes to the components
* [ISSUE #19961] update code to newest CDK version and clean autogenerated files (#22670)
* [ISSUE #19961] rename stream_slicer to partition_router and update ma… (#22590)
* [ISSUE #19961] rename stream_slicer to partition_router and update manifests (for incremental_sync as well)
* [ISSUE 19961] rename CustomStreamSlicer (#22598)
* [ISSUE 19961] rename CustomStreamSlicer
* [ISSUE #19961] code review CustomStreamSlicer
* [ISSUE #19961] fix source_square incremental sync
* [ISSUE #19961] rename SingleSlice to SinglePartitionRouter (#22591)
* [ISSUE #19961] rename SingleSlice to SinglePartitionRouter
* remove SinglePartitionRouter from the schema
---------
Co-authored-by: brianjlai <brian.lai@airbyte.io>
* [ISSUE #19961] rename SubstreamSlicer to SubstreamPartitionRouter (#22596)
* [ISSUE #19961] TMP rename SubstreamSlicer to SubstreamPartitionRouter
* [ISSUE #19961] revert DatetimeStreamSlicer.stream_state_field_start and DatetimeStreamSlicer.stream_state_field_end
* [ISSUE #19961] rename ListStreamSlicer to ListPartitionRouter (#22593)
---------
Co-authored-by: brianjlai <brian.lai@airbyte.io>
* [ISSUE #19961] clean faulty merge
* [ISSUE #19961] rename DatetimeStreamSlicer (#22617)
* [ISSUE #19961] rename stream_slicer to partition_router and update manifests (for incremental_sync as well)
* [ISSUE 19961] rename CustomStreamSlicer (#22598)
* [ISSUE 19961] rename CustomStreamSlicer
* [ISSUE #19961] code review CustomStreamSlicer
* [ISSUE #19961] fix source_square incremental sync
* [ISSUE #19961] rename SingleSlice to SinglePartitionRouter (#22591)
* [ISSUE #19961] rename SingleSlice to SinglePartitionRouter
* remove SinglePartitionRouter from the schema
---------
Co-authored-by: brianjlai <brian.lai@airbyte.io>
* [ISSUE #19961] rename DatetimeStreamSlicer
* [ISSUE #19961] rename SubstreamSlicer to SubstreamPartitionRouter (#22596)
* [ISSUE #19961] TMP rename SubstreamSlicer to SubstreamPartitionRouter
* [ISSUE #19961] revert DatetimeStreamSlicer.stream_state_field_start and DatetimeStreamSlicer.stream_state_field_end
* [ISSUE #19961] rename ListStreamSlicer to ListPartitionRouter (#22593)
---------
Co-authored-by: brianjlai <brian.lai@airbyte.io>
* Update docs/connector-development/config-based/understanding-the-yaml-file/partition-router.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/partition-router.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/yaml-overview.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/partition-router.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/partition-router.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/partition-router.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/incremental-syncs.md
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
* update docs
* [ISSUE #19961] clean unit tests files
* [ISSUE #19961] code review
---------
Co-authored-by: brianjlai <brian.lai@airbyte.io>
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* [Low-Code CDK] Allow for children of custom components to specify parameters that are normally derived (#22379)
* Fix a bug where child components of a custom component cannot receive fields from other components
* add tests, documentation and commenting
* fix test from merge
* add better error message for nested initialization failures
* 🪟🔧 Connector Builder frontend fixes for low_code_cdk_to_beta (#22880)
* restrict name to stream level
* remove checkpoint interval
* adjust logic for new request options
* refactor slicers
* wording
* review comments
* make oldest supported version explicit
* separate the frontend and connector builder changes from the low-code to beta release
* [Low-Code CDK] Add script to run low code unit tests and address issues with a few connectors (#23123)
* consolidate all the changes into a new PR after I messed up the merge on the side branch
* add set to allow this to be called externally if necessary later
* remove last few extra fields i found and fix docs links
* fix docs one more time
---------
Co-authored-by: Maxime Carbonneau-Leclerc <maxi297@users.noreply.github.com>
Co-authored-by: Catherine Noll <clnoll@users.noreply.github.com>
Co-authored-by: maxi297 <maxime@airbyte.io>
Co-authored-by: Lake Mossman <lake@airbyte.io>
Co-authored-by: Joe Reuter <joe@airbyte.io>
* [ISSUE #20771] limiting the number of requests performed to the backend without flag
* [ISSUE #20771] code reviewing my own code
* [ISSUE #20771] adding ABC to paginator
* [ISSUE #20771] format code
* [ISSUE #20771] adding slices to connector builder read request (#21605)
* [ISSUE #20771] adding slices to connector builder read request
* [ISSUE #20771] formatting
* [ISSUE #20771] set flag when limit requests reached (#21619)
* [ISSUE #20771] set flag when limit requests reached
* [ISSUE #20771] assert proper value on test read objects __init__
* [ISSUE #20771] code review and fix edge case
* [ISSUE #20771] fix flake8 error
* [ISSUE #20771] code review
* 🤖 Bump minor version of Airbyte CDK
* to run the CI
* initial work to parse manifest objects into pydantic models
* pr feedback and some other validations
* rerun manifest schema generation
* remove field constraint due to bug
* initial work to construct most components from greenhouse
* custom components parse subcomponent fields correctly and adding a few more component constructors
* construct components from gnews
* first pass at posthog.yaml
* Handle nested custom components with list values.
Also includes updates to posthog.yaml, including autoformatting changes.
* adding constructors for slicers, filters, and transformations and a few bug fixes
* make sed work across multiple OS
* add NoAuth component
* fix handling of custom components with nested list
* Autogenerate `TYPE_NAME_TO_MODEL` mapping
* Handle default kwargs not defined on model for custom components
* Re-add `options` for CartesianProductStreamSlicer for backwards compat
with custom stream slicers
* add basic unit tests for the model component factory
* add back defaults and extra parameters like options to retain compatibility with legacy flow and backwards compatibility
* Remove `_get_defaults`; using actual default values on classes instead
* Add backoff strategy component creation functions
* add back defaults and extra parameters like options to retain compatibility with legacy flow and backwards compatibility
* add lots of tests to construct components from the pydantic models and a few bug fixes
* add a few tests for the model to component factory
* add catch
* fix a bug where propagated schema doesn't work with old factory
* clean up a few files
* add type inference for custom components, more tests and some refactoring of the model factory
* template, docs, manifest updates, pr feedback and some cleanup
* pr feedback and polish schema a bit
* fix tests from the latest rebase of master
* fix the last few bugs I found and adjust a few sources that weren't perfectly compatible with the new component flow
* fix CheckStream bug cleanup and a few small tweaks and polish
* add additional test to cover bug case
* fix formatting
* 🤖 Bump minor version of Airbyte CDK
Co-authored-by: Catherine Noll <noll.catherine@gmail.com>
Co-authored-by: brianjlai <brianjlai@users.noreply.github.com>
* support custom error messaging for error response + retryable errors
* remove changed backoff i was using for testing
* refactor filter to construct response status internally
* pr feedback
* bump version and update changelog
* Update lowcode docs
* Update
* fix links
* more links
* Schemas
* indent
* Update docs/connector-development/config-based/advanced-topics.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/advanced-topics.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/low-code-cdk-overview.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/request-options.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/requester.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/stream-slicers.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/requester.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* Update docs/connector-development/config-based/understanding-the-yaml-file/error-handling.md
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* capitalization
* fix schema
* fix schema
* small changes so greenhouse validates
* fix brackets
* update code samples
* Add missing types
* fix
* reset
Co-authored-by: Brian Lai <51336873+brianjlai@users.noreply.github.com>
* draft: first pass at complete schema language generation and factory validator
* actually a working validator and fixes to the schema that went uncaught
* remove extra spike file
* fix formatting file
* pr feedback and a little bit of refactoring
* fix some types that were erroneously marked as invalid schema
* some comments
* add jsonschemamixin to interfaces
* update changelog
* bump version
* initial first pass converting every component to dataclasses
* replace the hackier options pass through
* get rid of the hackier way
* fix issues w/ type hints by making options required and lots of fixes to the language to fix compatability for dataclasses
* add dataclasses-jsonschema to setup
* fix oauth authenticator to avoid dataclass name collisions
* fix spacing for CI tests
* remove property from oauth and fix a interpolation bug
* pr feedback and cleaning up the code a bit, attempt at avoiding renaming
* fix templates and bugs surfaced during greenhouse spec testing
* fix tests
* fix missing options in some declarative components
* fix tests related to pulling latest master
* fix issue w/ passing state, slice, and token to subcomponents
* switch name back to get_access_token() since no name collision anymore
* requester is a request options provider
* get request options from slicer
* remove prints
* share interface
* actual fix with test
* small fix
* missing tests
* missing *
* simplify intersection logic
* bump cdk version
* comment
* comment
* comments
* fix
* test for instantiating chain retrier
* fix parsing
* cleanup
* fix
* reset
* never raise on http error
* remove print
* comment
* comment
* comment
* comment
* remove prints
* add declarative stream to registry
* start working on limit paginator
* support for offset pagination
* tests
* move limit value
* extract request option
* boilerplate
* page increment
* delete offset paginator
* update conditional paginator
* refactor and fix test
* fix test
* small fix
* Delete dead code
* Add docstrings
* quick fix
* exponential backoff
* fix test
* fix
* delete unused properties
* fix
* missing unit tests
* uppercase
* docstrings
* rename to success
* compare full request instead of just url
* renmae module
* rename test file
* rename interface
* rename default retrier
* rename to compositeerrorhandler
* fix missing renames
* move action to filter
* str -> minmaxdatetime
* small fixes
* plural
* add example
* handle header variations
* also fix wait time from
* allow using a regex to extract the value
* group()
* docstring
* add docs
* update comment
* docstrings
* fix tests
* rename param
* cleanup stop_condition
* cleanup
* Add examples
* interpolated pagination strategy
* dont need duplicate class
* docstrings
* more docstrings
* docstrings
* fix tests
* first pass at substream
* seems to work for a single stream
* can also be defined in requester with stream_state
* tmp update
* update comment
* Update airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/http_requester.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* version: Update Parquet library to latest release (#14502)
The upstream Parquet library that is currently pinned for use in the S3 destination plugin is over a year old. The current version is generating invalid schemas for date-time with time-zone fields which appears to be addressed in the `1.12.3` release of the library in commit c72862b613
* merge
* 🎉 Source Github: improve schema for stream `pull_request_commits` added "null" (#14613)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
* Docs: Fixed broken links (#14622)
* fixing broken links
* more broken links
* source-hubspot: change mentioning of Mailchimp into HubSpot doc (#14620)
* Helm Chart: Add external temporal option (#14597)
* conflict env configmap and chart lock
* reverting lock
* add eof lines and documentation on values yaml
* conflict json file
* rollback json
* solve conflict
* correct minio with new version
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
* 🎉 Add YAML format to source-file reader (#14588)
* Add yaml reader
* Update docs
* Bumpversion of connector
* bump docs
* Update pyarrow dependency
* Upgrade pandas dependency
* auto-bump connector version
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* 🎉 Source Okta: add GroupMembers stream (#14380)
* add Group_Members stream to okta source
- Group_Members return a list of users, the same schema of Users stream.
- Create a shared schema users, and both group_members and users sechema use it as a reference.
- Add Group_Members stream to source connector
* add tests and fix logs schema
- fix the test error: None is not one of enums though the enum type includes both string and null, it comes from json schema validator
ddb87afad8/jsonschema/_validators.py (L279-L285)
- change grouop_members to use id as the cursor field since `filter` is not supported in the query string
- fix the abnormal state test on logs stream, when since is abnormally large, until has to defined, an equal or a larger value
- remove logs stream from full sync test, because 2 full sync always has a gap -- at least a new log about users or groups api.
* last polish before submit the PR
- bump docker version
- update changelog
- add the right abnormal value for logs stream
- correct the sample catalog
* address comments::
- improve comments for until parameter under the logs stream
- add use_cache on groupMembers
* add use_cache to Group_Members
* change configured_catalog to test
* auto-bump connector version
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* split test files
* renames
* missing unit test
* add missing unit tests
* rename
* assert isinstance
* start extracting to their own files
* use final instead of classmethod
* assert we retry 429 errors
* Add log
* replace asserts with valueexceptions
* delete superfluous print statement
* only accept minmaxdatetime
* fix factory so we don't need to union everything with strings
* get class_name from type
* remove from class types registry
* process error handlers one at a time
* sort
* delete print statement
* comment
* comment
* format
* delete unused file
* comment
* interpolatedboolean
* comment
* not optional
* not optional
* unit tests
* fix request body data
* add test
* move file to right module
* update
* reset to master
* format
* rename to pass_by
* rename to page size
* fix
* fix some tests
* reset
* fix
* fix some of the tests
* fix test
* fix more tests
* all tests pass
* path is not optional
* reset
* reset
* reset
* delete print
* remove prints
* delete duplicate method
* add test
* fix body data
* delete extra newlines
* move to subpackage
* fix imports
* handle str body data
* simplify
* Update tests
* filter dates before stream state
* Revert "Update tests"
This reverts commit c0808c8009.
* update
* fix test
* state management
* add test
* delete dead code
* update cursor
* update cursor cartesian
* delete unused state class
* fix
* missing test
* update cursor substreams
* missing test
* fix typing
* fix typing
* delete unused field
* delete unused method
* update datetime stream slice
* cleanup
* assert
* request options
* request option cartesian
* assert when passing by path
* request options for substreams
* always return a map
* pass stream_state
* refactor and almost done fixing tests
* fix tests
* rename to inject_into
* only accept enum
* delete conditional paginator
* only return body data
* missing test
* update docstrings
* update docstrings
* update comment
* rename
* tests
* class_name -> type
* improve interface
* fix some of the tests
* fix more of the tests
* fix tests
* reset
* reset
* Revert "reset"
This reverts commit eb9a918a09.
* remove extra argument
* docstring
* update
* delete unused file
* reset
* reset
* rename
* fix timewindow
* create InterpolatedString
* helper method
* assert on request option
* better asserts
* format
* docstrings
* docstrings
* remove optional from type hint
* Update airbyte-cdk/python/airbyte_cdk/sources/declarative/stream_slicers/cartesian_product_stream_slicer.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* inherit from request options provider
* inherit from request options provider
* remove optional from type hint
* remove extra parameter
* none check
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
Co-authored-by: Tobias Macey <tmacey@boundlessnotions.com>
Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Bas Beelen <bjgbeelen@gmail.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
Co-authored-by: Christophe Duong <christophe.duong@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Yiyang Li <yiyangli2010@gmail.com>
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
* checkout files from test branch
* read_incremental works
* reset to master
* remove dead code
* comment
* fix
* Add test
* comments
* utc
* format
* small fix
* Add test with rfc3339
* remove unused param
* fix test
* configurable state checkpointing
* update test
* start working on retrier
* retry predicate
* return response status
* look in error message
* cleanup test
* constant backoff strategy
* chain backoff strategy
* chain retrier
* Add to class types registry
* extract backoff time from header
* wait until
* update
* split file
* parse_records
* classmethod
* delete dead code
* comment
* comment
* comments
* fix
* test for instantiating chain retrier
* fix parsing
* cleanup
* fix
* reset
* never raise on http error
* remove print
* comment
* comment
* comment
* comment
* remove prints
* add declarative stream to registry
* start working on limit paginator
* support for offset pagination
* tests
* move limit value
* extract request option
* boilerplate
* page increment
* delete offset paginator
* update conditional paginator
* refactor and fix test
* fix test
* small fix
* Delete dead code
* Add docstrings
* quick fix
* exponential backoff
* fix test
* fix
* delete unused properties
* fix
* missing unit tests
* uppercase
* docstrings
* rename to success
* compare full request instead of just url
* renmae module
* rename test file
* rename interface
* rename default retrier
* rename to compositeerrorhandler
* fix missing renames
* move action to filter
* str -> minmaxdatetime
* small fixes
* plural
* add example
* handle header variations
* also fix wait time from
* allow using a regex to extract the value
* group()
* docstring
* add docs
* update comment
* docstrings
* fix tests
* rename param
* cleanup stop_condition
* cleanup
* Add examples
* interpolated pagination strategy
* dont need duplicate class
* docstrings
* more docstrings
* docstrings
* update comment
* Update airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/http_requester.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* version: Update Parquet library to latest release (#14502)
The upstream Parquet library that is currently pinned for use in the S3 destination plugin is over a year old. The current version is generating invalid schemas for date-time with time-zone fields which appears to be addressed in the `1.12.3` release of the library in commit c72862b613
* merge
* 🎉 Source Github: improve schema for stream `pull_request_commits` added "null" (#14613)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
* Docs: Fixed broken links (#14622)
* fixing broken links
* more broken links
* source-hubspot: change mentioning of Mailchimp into HubSpot doc (#14620)
* Helm Chart: Add external temporal option (#14597)
* conflict env configmap and chart lock
* reverting lock
* add eof lines and documentation on values yaml
* conflict json file
* rollback json
* solve conflict
* correct minio with new version
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
* 🎉 Add YAML format to source-file reader (#14588)
* Add yaml reader
* Update docs
* Bumpversion of connector
* bump docs
* Update pyarrow dependency
* Upgrade pandas dependency
* auto-bump connector version
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* 🎉 Source Okta: add GroupMembers stream (#14380)
* add Group_Members stream to okta source
- Group_Members return a list of users, the same schema of Users stream.
- Create a shared schema users, and both group_members and users sechema use it as a reference.
- Add Group_Members stream to source connector
* add tests and fix logs schema
- fix the test error: None is not one of enums though the enum type includes both string and null, it comes from json schema validator
ddb87afad8/jsonschema/_validators.py (L279-L285)
- change grouop_members to use id as the cursor field since `filter` is not supported in the query string
- fix the abnormal state test on logs stream, when since is abnormally large, until has to defined, an equal or a larger value
- remove logs stream from full sync test, because 2 full sync always has a gap -- at least a new log about users or groups api.
* last polish before submit the PR
- bump docker version
- update changelog
- add the right abnormal value for logs stream
- correct the sample catalog
* address comments::
- improve comments for until parameter under the logs stream
- add use_cache on groupMembers
* add use_cache to Group_Members
* change configured_catalog to test
* auto-bump connector version
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* split test files
* renames
* missing unit test
* add missing unit tests
* rename
* assert isinstance
* start extracting to their own files
* use final instead of classmethod
* assert we retry 429 errors
* Add log
* replace asserts with valueexceptions
* delete superfluous print statement
* fix factory so we don't need to union everything with strings
* get class_name from type
* remove from class types registry
* process error handlers one at a time
* sort
* delete print statement
* comment
* comment
* format
* delete unused file
* comment
* interpolatedboolean
* comment
* not optional
* not optional
* unit tests
* fix request body data
* add test
* move file to right module
* update
* reset to master
* format
* rename to pass_by
* rename to page size
* fix
* add test
* fix body data
* delete extra newlines
* move to subpackage
* fix imports
* handle str body data
* simplify
* fix typing
* always return a map
* rename to inject_into
* only accept enum
* delete conditional paginator
* only return body data
* rename decoded response to response
* decoded_response -> response
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
Co-authored-by: Tobias Macey <tmacey@boundlessnotions.com>
Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Bas Beelen <bjgbeelen@gmail.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
Co-authored-by: Christophe Duong <christophe.duong@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Yiyang Li <yiyangli2010@gmail.com>
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
* checkout files from test branch
* read_incremental works
* reset to master
* remove dead code
* comment
* fix
* Add test
* comments
* utc
* format
* small fix
* Add test with rfc3339
* remove unused param
* fix test
* configurable state checkpointing
* update test
* start working on retrier
* retry predicate
* return response status
* look in error message
* cleanup test
* constant backoff strategy
* chain backoff strategy
* chain retrier
* Add to class types registry
* extract backoff time from header
* wait until
* update
* split file
* parse_records
* classmethod
* delete dead code
* comment
* comment
* comments
* fix
* test for instantiating chain retrier
* fix parsing
* cleanup
* fix
* reset
* never raise on http error
* remove print
* comment
* comment
* comment
* comment
* remove prints
* add declarative stream to registry
* start working on limit paginator
* support for offset pagination
* tests
* move limit value
* extract request option
* boilerplate
* page increment
* delete offset paginator
* update conditional paginator
* refactor and fix test
* fix test
* small fix
* Delete dead code
* Add docstrings
* quick fix
* exponential backoff
* fix test
* fix
* delete unused properties
* fix
* missing unit tests
* uppercase
* docstrings
* rename to success
* compare full request instead of just url
* renmae module
* rename test file
* rename interface
* rename default retrier
* rename to compositeerrorhandler
* fix missing renames
* move action to filter
* str -> minmaxdatetime
* small fixes
* plural
* add example
* handle header variations
* also fix wait time from
* allow using a regex to extract the value
* group()
* docstring
* add docs
* update comment
* docstrings
* fix tests
* rename param
* cleanup stop_condition
* cleanup
* Add examples
* interpolated pagination strategy
* dont need duplicate class
* docstrings
* more docstrings
* docstrings
* update comment
* Update airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/http_requester.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* version: Update Parquet library to latest release (#14502)
The upstream Parquet library that is currently pinned for use in the S3 destination plugin is over a year old. The current version is generating invalid schemas for date-time with time-zone fields which appears to be addressed in the `1.12.3` release of the library in commit c72862b613
* merge
* 🎉 Source Github: improve schema for stream `pull_request_commits` added "null" (#14613)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
* Docs: Fixed broken links (#14622)
* fixing broken links
* more broken links
* source-hubspot: change mentioning of Mailchimp into HubSpot doc (#14620)
* Helm Chart: Add external temporal option (#14597)
* conflict env configmap and chart lock
* reverting lock
* add eof lines and documentation on values yaml
* conflict json file
* rollback json
* solve conflict
* correct minio with new version
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
* 🎉 Add YAML format to source-file reader (#14588)
* Add yaml reader
* Update docs
* Bumpversion of connector
* bump docs
* Update pyarrow dependency
* Upgrade pandas dependency
* auto-bump connector version
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* 🎉 Source Okta: add GroupMembers stream (#14380)
* add Group_Members stream to okta source
- Group_Members return a list of users, the same schema of Users stream.
- Create a shared schema users, and both group_members and users sechema use it as a reference.
- Add Group_Members stream to source connector
* add tests and fix logs schema
- fix the test error: None is not one of enums though the enum type includes both string and null, it comes from json schema validator
ddb87afad8/jsonschema/_validators.py (L279-L285)
- change grouop_members to use id as the cursor field since `filter` is not supported in the query string
- fix the abnormal state test on logs stream, when since is abnormally large, until has to defined, an equal or a larger value
- remove logs stream from full sync test, because 2 full sync always has a gap -- at least a new log about users or groups api.
* last polish before submit the PR
- bump docker version
- update changelog
- add the right abnormal value for logs stream
- correct the sample catalog
* address comments::
- improve comments for until parameter under the logs stream
- add use_cache on groupMembers
* add use_cache to Group_Members
* change configured_catalog to test
* auto-bump connector version
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* split test files
* renames
* missing unit test
* add missing unit tests
* rename
* assert isinstance
* start extracting to their own files
* use final instead of classmethod
* assert we retry 429 errors
* Add log
* replace asserts with valueexceptions
* delete superfluous print statement
* fix factory so we don't need to union everything with strings
* get class_name from type
* remove from class types registry
* process error handlers one at a time
* sort
* delete print statement
* comment
* comment
* format
* delete unused file
* comment
* interpolatedboolean
* comment
* not optional
* not optional
* unit tests
* fix request body data
* add test
* move file to right module
* update
* reset to master
* format
* rename to pass_by
* rename to page size
* fix
* add test
* fix body data
* delete extra newlines
* move to subpackage
* fix imports
* handle str body data
* simplify
* fix typing
* always return a map
* rename to inject_into
* only accept enum
* delete conditional paginator
* only return body data
* missing test
* update docstrings
* update docstrings
* update comment
* rename
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
Co-authored-by: Tobias Macey <tmacey@boundlessnotions.com>
Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Bas Beelen <bjgbeelen@gmail.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
Co-authored-by: Christophe Duong <christophe.duong@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Yiyang Li <yiyangli2010@gmail.com>
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
* checkout files from test branch
* read_incremental works
* reset to master
* remove dead code
* comment
* fix
* Add test
* comments
* utc
* format
* small fix
* Add test with rfc3339
* remove unused param
* fix test
* configurable state checkpointing
* update test
* start working on retrier
* retry predicate
* return response status
* look in error message
* cleanup test
* constant backoff strategy
* chain backoff strategy
* chain retrier
* Add to class types registry
* extract backoff time from header
* wait until
* update
* split file
* parse_records
* classmethod
* delete dead code
* comment
* comment
* comments
* fix
* test for instantiating chain retrier
* fix parsing
* cleanup
* fix
* reset
* never raise on http error
* remove print
* comment
* comment
* comment
* comment
* remove prints
* add declarative stream to registry
* Delete dead code
* Add docstrings
* quick fix
* exponential backoff
* fix test
* fix
* delete unused properties
* fix
* missing unit tests
* uppercase
* docstrings
* rename to success
* compare full request instead of just url
* renmae module
* rename test file
* rename interface
* rename default retrier
* rename to compositeerrorhandler
* fix missing renames
* move action to filter
* str -> minmaxdatetime
* small fixes
* plural
* add example
* handle header variations
* also fix wait time from
* allow using a regex to extract the value
* group()
* docstring
* add docs
* update comment
* docstrings
* update comment
* Update airbyte-cdk/python/airbyte_cdk/sources/declarative/requesters/http_requester.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* version: Update Parquet library to latest release (#14502)
The upstream Parquet library that is currently pinned for use in the S3 destination plugin is over a year old. The current version is generating invalid schemas for date-time with time-zone fields which appears to be addressed in the `1.12.3` release of the library in commit c72862b613
* merge
* 🎉 Source Github: improve schema for stream `pull_request_commits` added "null" (#14613)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
* Docs: Fixed broken links (#14622)
* fixing broken links
* more broken links
* source-hubspot: change mentioning of Mailchimp into HubSpot doc (#14620)
* Helm Chart: Add external temporal option (#14597)
* conflict env configmap and chart lock
* reverting lock
* add eof lines and documentation on values yaml
* conflict json file
* rollback json
* solve conflict
* correct minio with new version
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
* 🎉 Add YAML format to source-file reader (#14588)
* Add yaml reader
* Update docs
* Bumpversion of connector
* bump docs
* Update pyarrow dependency
* Upgrade pandas dependency
* auto-bump connector version
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* 🎉 Source Okta: add GroupMembers stream (#14380)
* add Group_Members stream to okta source
- Group_Members return a list of users, the same schema of Users stream.
- Create a shared schema users, and both group_members and users sechema use it as a reference.
- Add Group_Members stream to source connector
* add tests and fix logs schema
- fix the test error: None is not one of enums though the enum type includes both string and null, it comes from json schema validator
ddb87afad8/jsonschema/_validators.py (L279-L285)
- change grouop_members to use id as the cursor field since `filter` is not supported in the query string
- fix the abnormal state test on logs stream, when since is abnormally large, until has to defined, an equal or a larger value
- remove logs stream from full sync test, because 2 full sync always has a gap -- at least a new log about users or groups api.
* last polish before submit the PR
- bump docker version
- update changelog
- add the right abnormal value for logs stream
- correct the sample catalog
* address comments::
- improve comments for until parameter under the logs stream
- add use_cache on groupMembers
* add use_cache to Group_Members
* change configured_catalog to test
* auto-bump connector version
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
* split test files
* renames
* missing unit test
* add missing unit tests
* rename
* assert isinstance
* start extracting to their own files
* use final instead of classmethod
* assert we retry 429 errors
* Add log
* replace asserts with valueexceptions
* delete superfluous print statement
* fix factory so we don't need to union everything with strings
* get class_name from type
* remove from class types registry
* process error handlers one at a time
* sort
* delete print statement
* comment
* comment
* format
* delete unused file
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
Co-authored-by: Tobias Macey <tmacey@boundlessnotions.com>
Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
Co-authored-by: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Co-authored-by: Bas Beelen <bjgbeelen@gmail.com>
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: Guy Feldman <gfeldman@86labs.com>
Co-authored-by: Christophe Duong <christophe.duong@gmail.com>
Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
Co-authored-by: Yiyang Li <yiyangli2010@gmail.com>
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
* checkout files from test branch
* read_incremental works
* reset to master
* remove dead code
* comment
* fix
* Add test
* comments
* utc
* format
* small fix
* Add test with rfc3339
* remove unused param
* fix test
* support semi incremental by adding extractor record filter
* refactor extractor into a record_selector that supports extraction and filtering of response records
* write out new request options provider and refactor components and parts of the YAML config
* fix formatting
* pr feedback to consolidate body_data_provider to simplify the code
* pr feedback get rid of extraneous optional
* conditional paginator + interpolated boolean components
* fix bug where empty arrays and dicts evaluated to true
* add more falsey values
* adjust falsey values and tweak based on review comments