-
Notifications
You must be signed in to change notification settings - Fork 721
New PR - Added support for Tel Aviv Stock Exchange Stocks Bonds and Funds #5081
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
base: master
Are you sure you want to change the base?
Conversation
|
Hello @arnonm |
|
So addressing the comments. Removed the live API tests and the sample files, which reduced the commit to 11,000 lines. 5000 of which are in 2 mock response files. I can cut these as well. |
|
Hi @arnonm, thanks for the contribution. First, I am trying to understand which API endpoints this contribution is using and which terms and conditions apply. I found these general terms of service linked on the footer of the web page. It makes no mention of an API but also does not prohibit the use of the data for personal purposes. I see there is also a "TASE Data Hub" with API documentation and an API key for authentication. There are other data providers where one can configure the API key in the settings. I wasn't able to figure out any details now, but it sounds like a reasonable option? Second, on a first glance I noticed a couple things with the pull request. One issue is that the complete listing is downloaded upon the start of PP. Why? The constructor of the Feed is loading the data but feeds are constructed at the start of PP. That means tens of thousands of downloads per day. My proposal is that we unpack this contribution: first have the download of historical prices if the user has configured TAVE as a source. In a second step, we extend the search in a reasonable way (either search TAVE only if user has provided an API key, or some other way). With the search, I first have to better understand what kind of traffic would go to the side. |
|
Thanks Andreas,
These terms of service are the ones.
It looks like they are in the process of moving to a new version of the API
with an API key. I was holding off on this until I figured out the API key
strategy. I'll look at it as a version 2.
Regarding the comments:
1. The current API uses two endpoints depending on the security type.
However, the type is not returned by the endpoint API. So the solution I
found was to download and cache the index, then query the index to get the
security type and use the correct endpoint
2. However, you are correct and I missed the timing of the constructor. I
will add some conditions so that the caching is done if the source is
configured, or on the first manual search
I'll travelling for a few days, so will get to it when I am back.
Arnon
…On Mon, Oct 20, 2025 at 10:05 AM Andreas Buchen ***@***.***> wrote:
*buchen* left a comment (portfolio-performance/portfolio#5081)
<#5081 (comment)>
Hi @arnonm <https://github.com/arnonm>,
thanks for the contribution.
First, I am trying to understand which *API endpoints* this contribution
is using and which *terms and conditions* apply.
I found these general terms of service
<https://www.tase.co.il/en/content/about/terms_of_service> linked on the
footer of the web page. It makes no mention of an API but also does not
prohibit the use of the data for personal purposes. I see there is also a
"TASE Data Hub" with API documentation and an API key for authentication.
There are other data providers where one can configure the API key in the
settings. I wasn't able to figure out any details now, but it sounds like a
reasonable option?
Second, on a first glance I noticed a couple things with the pull request.
One issue is that the complete listing is downloaded upon the start of PP.
Why? The constructor of the Feed is loading the data but feeds are
constructed at the start of PP. That means tens of thousands of downloads
per day. My proposal is that we unpack this contribution: first have the
download of historical prices if the user has configured TAVE as a source.
In a second step, we extend the search in a reasonable way (either search
TAVE only if user has provided an API key, or some other way). With the
search, I first have to better understand what kind of traffic would go to
the side.
—
Reply to this email directly, view it on GitHub
<#5081 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA5BWKMLJ4A6GPZWLRAZQLL3YSCURAVCNFSM6AAAAACJHP4C4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTIMRQHA2DKOJYGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Added a check so that getAllIndices is not kicked off on Construction, only when the first search is called, and added a test to ensure it happens |
|
@buchen - raising this to the top again.. |
|
@buchen - anything blocking this? |
Replaces #5079 with a single Commit