What started off as minor refactoring has today come a long way to blooming to v 3.0.0 diverging from the legacy code and its design and getting closer to its Java SDK counterpart.
Check out the v3 of Python SDK on my Github branch that is ready to get you going with your algorithmic trading. Its is getting more exciting, so stay tuned on this space…
It is designed such that, if you were to move to JavaSDK or use it simultaneously, your experience would remain as frictionless as possible with nearly same APIs. And that both SDKs share Dhan API doc as its single source of truth, that you don’t have to look anywhere else.
Like I mentioned earlier, this project started of as bug fixes and improving code coverage for the original SDK of Dhan. You can check out the number of issues I raised and Pull Requests I had submitted to the original project. Unfortunately, for reasons unknown to me, the team takes it’s sweet time. Apparently, most of the stock broking firms do a shoddy job when it comes to making lives of Algo-traders easier (as an example, only about 20% of top 30 stock brokers even provide for an SDK to interact with their APIs).
The objective of Python & Java SDK that I developed is to reduce the overheads of guess work and improve the end-user productivity with the SDK APIs mimicking the API Docs. Additionally, making the code object-oriented helps encapsulate the rich domain knowledge for end-users to enjoy using the SDK.
As an example, check out how the constants are grouped in this version thus reducing scope for errors and improve domain understanding for its end-users. That is what an SDK should strive for IMHO.
P.S: While the Python SDK v3 is yet to have Domain Models encapsulating the results for even better usability as its Java SDK counterpart. This is being cooked and shall be served in the next iterative versions sooner.
The Python SDK and Java SDK are now having unified APIs to access Dhan APIs.
Both of them are backed by sufficient tests to preserve code quality and embrace cleaner APIs.
Given that, Dhan isn’t upto my expected speed in accepting pull-requests and also that this SDK API is much different than the current version of Dhan SDK APIs, should I be renaming and pushing as separate SDK for public use?