achannarasappa / ticker

Terminal stock ticker with live updates and position tracking
GNU General Public License v3.0
4.94k stars 264 forks source link

Make the yahoo API version configurable #251

Closed sarcasticadmin closed 7 months ago

sarcasticadmin commented 1 year ago

Problem Statement

We have had several of the past releases be due to the yahoo API availability. I hope this stabilizes soon but I think its worth considering alternatives which require less churn than releasing a new version of the ticker application.

See the following issues for context:

Proposed Solution

Originally mentioned (https://github.com/achannarasappa/ticker/issues/247#issuecomment-1536376649) by @mattyrad

It would be nice if the Yahoo API endpoint version was configurable via ~/.ticker.yaml

Alternatives

  1. Releasing new version of the binary when Yahoo API versions/endpoints change. (Current solution)
  2. Switch to an alternative finance API that are more OSS friendly?

Use Cases

Allow for self service resolution when the Yahoo API version is moved in the future and decouple this with releases of the ticker application.

achannarasappa commented 1 year ago

Thanks for suggesting this - it's something I've been thinking about as well but I don't have a good solution.

Making the API endpoint configurable is not a big lift however I don't know if this makes ticker less fragile. ticker would still be reliant on an API that could return the same responses as the Yahoo API.

Switch to an alternative finance API that are more OSS friendly?

Definitely open to building support for another API if there's one out there. Ideally the alternate API does not require an API key but there's none I know of out there aside from Yahoo.

Another option is to separate the core of ticker from API integrations and auto-update the integration on first load.

sarcasticadmin commented 1 year ago

Making the API endpoint configurable is not a big lift however I don't know if this makes ticker less fragile. ticker would still be reliant on an API that could return the same responses as the Yahoo API.

Could we have a default for the endpoint (omitting any entry in the ticker.yaml) and just make it overridable in the configuration? That way its only explicitly set if/when you know you need it so theres less of a chance of making a mistake due to a typo, etc. I think that would help with the fragility concern.

Definitely open to building support for another API if there's one out there. Ideally the alternate API does not require an API key but there's none I know of out there aside from Yahoo.

I dont know of any either, but if I come across any Ill include them in a followup.

Another option is to separate the core of ticker from API integrations and auto-update the integration on first load.

This seems like another good option to consider :+1:

github-actions[bot] commented 9 months ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days.

github-actions[bot] commented 7 months ago

This issue was closed because it has been stalled for 60 days with no activity.