* schema helpers raises a config_error
* traced exceptions can be turned into connection status messages
* add tests for schema helpers
* return a failed status message rather than throwing in check command
* remove unused imports
* add comment
* bump version / update changelog
* Added new "filters" python file, along with a "hash" filter. This can be extended to include other custom filters in the future.
* Added additional comments
* Moved usage of the hash_obj inside the conditional that confirms it exists
* Moved the hash function call inside a condition to ensure that it exists
* Fixed the application of the salt , so that it does not modify the hash unless it is actually passed in.
* Added unit tests to validate new jinja hash functionality
* Updated unit test to pass numeric value as a float instead of string
* Removed unreferenced import to pytest
* Updated version
* format
* format
* format
* format
* format
Co-authored-by: Alexandre Girard <alexandre@airbyte.io>
* input can only be a string
* remove debug print
* cleanup tests
* fix in the factory
* Add a unit test
* fix for lists
* Update changelog
* Update changelog
* update abstract source and connector state manager to update shared and stream state
* clean up some extra comments and extra lines
* a few changes based on PR feedback
* remove separate legacy map from state manager and simplify mapping to descriptor -> state blob
* rename a few paramets and add testing for state update via stream.state override
* replace shared_state processing with an explicit error and fix a few comments and pr feedback
* add some polish and additional test cases
* Add create_state_message to manager and emit per-stream state for connectors
* pr feedback and restructuring parts of the connector state manager initialization
* fix unfinished comment
* Update airbyte-cdk/python/unit_tests/sources/test_abstract_source.py
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
* use pytest params to annotate tests better
* change to fix changed class name
* format test params a little better
* Update airbyte-cdk/python/airbyte_cdk/sources/connector_state_manager.py
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* a few bits of pr feedback
* do not emit namespace in the outbound message if it is None
* fix some issues w/ prior merge from master and pr feedback
* add new tests to ensure we never send None namespace to the platform
* bump CDK version number
Co-authored-by: Augustin <augustin.lafanechere@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
* replace file retrieval with pkgutil to fix getting schema files
* slightly better error handling on missing files
* filter our schema gen warnings for some classes that cannot generate schemas
* add comment for todo
* add changelog and setup before publish
* 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
* fix parse and format methods
* define constant
* remove timestamp magic keyword
* comment
* test for ci
* uncomment test
* use timestamp()
* Bump cdk version
* bump to 0.1.72
* 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
* Emit a state message even if no records were read
* newline
* merge
* comment
* implement logic in the abstract source
* remove logic from declarative source
* comment
* bump cdk version
* interpolatedauth
* fix tests
* fix import
* no need for default
* Bump version
* Missing docstrings
* example
* missing example
* more docstrings
* interpolated types
* configurable oauth request payload
* support interpolation for dictionaries that are not new subcomponents
* rewrite a declarative oauth authenticator that performs interpolation at runtime
* formatting
* whatever i don't know why factory gets flagged w/ the newline change
* we java now
* remove duplicate oauth
* add some comments
* parse time properly from string interpolation
* move declarative oauth to its own package in declarative module
* add changelog info