-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🎉 New Source: Alpha Vantage #18320
🎉 New Source: Alpha Vantage #18320
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, it is missing the documentation can you add it? A few comments, but overal the implementatino is great.
airbyte-integrations/connectors/source-alpha-vantage/source_alpha_vantage/spec.yaml
Show resolved
Hide resolved
airbyte-integrations/connectors/source-alpha-vantage/source_alpha_vantage/spec.yaml
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-alpha-vantage/unit_tests/test_object_dpath_extractor.py
Show resolved
Hide resolved
airbyte-integrations/connectors/source-alpha-vantage/integration_tests/catalog.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments and it is ready to go! :)
Are you able to run ./gradlew airbyte-integrations:connectors:source-alpha-vantage:integrationTest
my tests are failing.
airbyte-integrations/connectors/source-alpha-vantage/integration_tests/sample_config.json
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-alpha-vantage/integration_tests/invalid_config.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the hardcode value the connector works. Let's see what is causing the issue with the options['function']
after that this is ready to be merged.
request_parameters: | ||
apikey: "{{ config['api_key'] }}" | ||
symbol: "{{ config['symbol'] }}" | ||
function: "{{ options['function'] }}" | ||
datatype: json | ||
outputsize: "{{ config['outputsize'] }}" | ||
interval: "{{ config['interval'] }}" | ||
adjusted: "{{ config['adjusted'] }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small detail @isaacharrisholt.
@girarda I saw one bug with this connector:
https://www.alphavantage.co/query?apikey=****&symbol=IBM&datatype=json&outputsize=compact&interval=60min
The request parameter function
is not added to the url. If I change the parameter to a hardcoded string it works fine, example TIME_SERIES_DAILY
. Any idea?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@marcosmarxm I think this is an issue that was solved recently. You might need to reinstall the CDK with the newest version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll give a try, maybe I was using the wrong pyenv =p
/test connector=connectors/source-alpha-vantage
Build FailedTest summary info:
|
/test connector=connectors/source-alpha-vantage
Build PassedTest summary info:
|
/publish connector=connectors/source-alpha-vantage
if you have connectors that successfully published but failed definition generation, follow step 4 here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @isaacharrisholt
* master: (38 commits) New Source: Gridly (#18342) 🎉 New Source: Alpha Vantage (#18320) ci_integration_test.sh: cut GITHUB_STEP_SUMMARY (#18895) 🎉 New Source: Datadog [python cdk] (#18150) Hide Reject all button in consent dialog (#18596) feat: add doc url to track event (#18690) fix: install java in oss catalog deploy action (#18887) [CI] Speed up check_images_exist (#18873) Extract open API (#18879) Remove unused interfaces (#18880) add action for deploying oss connector catalog to GCS (#18633) feat: generate full connector catalog json (#18562) Add unsupported_protocol_version column to Connection (#18876) Extract OAuth API (#18818) update images to have non-transparent background (#18874) DiscoverSchema endpoints calculates diff and breaking change (#18571) Validate protocol version on connector update (#18639) Bmoric/extract notification api (#18812) Show version and changelog status for affected connectors (#18845) Bmoric/extract logs api (#18621) ...
What
Alpha Vantage is one of the most popular stock price APIs, and it's completely free, making it a crucial part of many FinTech business' stacks. This PR adds an Alpha Vantage source to Airbyte.
It also contains an extended
DpathExtractor
that supports a new data format. This is explained in the docstring.Hacktoberfest: airbytehq/connector-contest#222
How
Adds a source with the following streams:
time_series_intraday
time_series_daily
time_series_daily_adjusted
time_series_weekly
time_series_weekly_adjusted
time_series_monthly
time_series_monthly_adjusted
AV always returns the full history of an asset, so I have not implemented an incremental read for this source.
Recommended reading order
alpha_vantage.yaml
spec.yaml
object_dpath_extractor.py
test_object_dpath_extractor.py
🚨 User Impact 🚨
No changes to existing code.
Pre-merge Checklist
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described hereTests
Unit
Integration
Acceptance