litdev1 / LitDev

LitDev Extension for Small Basic
http://litdev.uk
GNU General Public License v3.0
26 stars 4 forks source link

LDFinance Proposal #24

Closed 65001 closed 1 year ago

65001 commented 4 years ago

I am in the process of starting to write an API client of https://financialmodelingprep.com/developer/docs/ for LitDev and was wondering if you would be still be interested in it. You mentioned interest in the concept in issue #21.

I was planning on unit testing it and only including the C# files. You can see the start of the concept here. In the changes I added some helper classes to make future WebAPI's easier to work with.

I was looking for any feedback you had on the concept before I progress further? Any suggestions or lessons I should take from the addition of Geography before I continue?

Should I include caching of requests as part of this project or should it be it's own separate PR after I demonstrate that LDFinance is viable?

I hope that your doing well in these turbulent times.

litdev1 commented 4 years ago

Hi, I hope you are also doing fine - we are isolated but I am able to work from home so we are lucky.

This is a great idea and I think having interesting sources of data that can be manipulated, plotted, analysed is really useful.

My only request from development point of view is that it should be fairly independent of the rest of the code (i.e. not requiring modifications elsewhere) and that it roughly follows the same kind of style e.g. using similar phrases for "SUCCESS" for example.

65001 commented 4 years ago

A couple of followups.

You wouldn't mind me adding a folder full of finance data objects right? Like Price, Quote etc in a folder named Finances.

The other think I was wondering about was how to represent enums when exposing the data to Small Basic Users. Some of the data the API queries varies in its reporting period or the granularity of the data, should I just go ahead and build more wrapper methods around them?

litdev1 commented 4 years ago

Sure add folders to the solution - no problem

Enums I would either use integer indices or you could use string labels. I would consider if you want property or methods for this, and strings should be case insensitive. In either case the xml description should enable the user to use effectively.

Perhaps look at some of the other places where lots of options are available like in LDMusic a.d the instruments - one issue is that if you have lots of potential properties it can be hard to see the available methods - so I leave to you to consider the best approach in your case.

jrmrhrb00 commented 4 years ago

Abhishek, Just found your functions on LitDev's extension. I understand that this is a work in progress and I think it is great. I was wondering if you have any documentation on the different functions. Also, I was curious about the LDFinancials.Key function. I joined the financial site and have an actual key. When I put that in I was wondering what it is supposed to do.

I opened a question on LDFinancials in the Small Basic forum. If you can could you reply there. I am sure other members of the forum would be interested in your reply.

Thanks,

JR

litdev1 commented 4 years ago

SB forum thread on LDFinances https://social.msdn.microsoft.com/Forums/en-US/eeb26bf2-c2c8-431b-bd34-15af80b56f49/litdev-extension-ldfinances?forum=smallbasic#81660220-a4cc-4334-8ed3-0128f0719c81

65001 commented 4 years ago

@jrmrhrb00 Sorry for the late reply, I've been busy with summer classes. The key method is supposed to be the api key that you get from the website & you must use it before invoking any commands. It seems from the small basic comment thread that you figured that out yourself.

Do you think the documentation for the method needs to be better? Any other feedback on what's currently implemented would be helpful as well.

jrmrhrb00 commented 4 years ago

Abhishek, Thanks for the reply. The only function that seems to not work is the one for statements. Is that still being worked on? When I try to use it there is a response, but where the statement should appear it is blank.  LitDev generally includes a .sb code sample of how to use. Maybe the one that you have on github could be added to his samples. That's what I used to get an understanding of how it works once I found it on github. Great feature for the extension. Thanks, JR On Monday, July 13, 2020, 02:21:48 AM EDT, Abhishek Sathiabalan notifications@github.com wrote:

@jrmrhrb00 Sorry for the late reply, I've been busy with summer classes. The key method is supposed to be the api key that you get from the website & you must use it before invoking any commands. It seems from the small basic comment thread that you figured that out yourself.

Do you think the documentation for the method needs to be better? Any other feedback on what's currently implemented would be helpful as well.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

65001 commented 4 years ago

@jrmrhrb00 Is the error that when you call a statement for say apple you get something like the following: symbol=AAPL;LitDev.Finances.IncomeStatement[] ?