Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Implement Kraken REST API data loader plugin #1

Open
eprbell opened this issue Mar 7, 2022 · 8 comments
Open

Implement Kraken REST API data loader plugin #1

eprbell opened this issue Mar 7, 2022 · 8 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@eprbell
Copy link
Owner

eprbell commented Mar 7, 2022

Writing a DaLI data loader plugin has high impact on the functionality and usefulness of both DaLI and RP2. Data loader plugins are well-defined, encapsulated modules that translate native exchange REST API-based data into DaLI's standard format. As such they are good first issues for newcomers to the the project.

Before starting, please read the contributing guidelines.

Plugin development is described in the developer documentation, in particular read the Dali Internals and Plugin Development sections, which contain all the information needed to build a new data loader plugin.

Kraken REST API is documented here: https://docs.kraken.com/rest/

The Coinbase plugin can be used as an example.

Before submitting a PR for the new plugin, make sure to go through the DaLI Plugin Laundry List.

@eprbell eprbell added help wanted Extra attention is needed good first issue Good for newcomers labels Mar 7, 2022
@nitrocode
Copy link
Contributor

I noticed that the coinbase plugin doesn't use a client library like these

https://developers.coinbase.com/docs/wallet/client-libraries

For Kraken, could we use something like https://github.com/veox/python3-krakenex ?

@macanudo527
Copy link
Collaborator

@nitrocode issue #22 deals with implementing an abstract CCXT plugin that can be used to leverage the CCXT library that has support for numerous exchanges. I've already started work making use of the CCXT plugin for the Binance plugin #4 .
I think @eprbell wants to avoid a lot of dependencies, so krakenex is probably out, but CCXT probably has enough functionality for you.

@eprbell
Copy link
Owner Author

eprbell commented Apr 17, 2022

I second what @macanudo527 said. We are experimenting with CCXT, which hopefully has all the functionality we need both in the abstract class and in subclasses like Kraken and Binance. If we were to discover some bad limitation in CCXT then we'll need to revisit this decision and perhaps we will have to go back to using libraries like python3-krakenex, but hopefully CCXT works well and we won't have to. Coinbase and Coinbase Pro were the first plugins I wrote and they started off as proof of concept: I wanted to use the raw API to understand fully the flow. But if CCXT works well even CB and CB Pro should probably be rewritten with that API at some point (not urgent).

@eprbell
Copy link
Owner Author

eprbell commented Apr 17, 2022

BTW, @nitrocode a Kraken plugin would be very impactful: let me know if you would like to take on this issue.

@ndopencode
Copy link
Contributor

Not sure, am I allowed (have permission) to push my branch up to this repo? What name should I give the branch? Thanks!

@eprbell
Copy link
Owner Author

eprbell commented Jan 30, 2023

@ndopencode
Copy link
Contributor

aye - didn't mean to ask twice, I thought there was no response on this thread. I didn't see a notification... my mistake

@eprbell
Copy link
Owner Author

eprbell commented Jan 31, 2023

It's all good, no worries.

eprbell added a commit that referenced this issue May 15, 2023
Implement Kraken REST API data loader plugin #1
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants