Giter VIP home page Giter VIP logo

pyexchange's Introduction

pyexchange

Python API wrappers for some cryptocurrency exchanges.

Build Status

https://chat.makerdao.com/channel/keeper

Getting Started

Run the following commands:

git submodule update --init --recursive
source _virtualenv/bin/activate
bash ./install.sh
export PYTHONPATH=$PYTHONPATH:$PWD:$PWD/lib/pymaker

Key facts

  • These API wrappers expose only those endpoints which were necessary to implement market-maker-keeper (https://github.com/makerdao/market-maker-keeper), market-maker-stats (https://github.com/makerdao/market-maker-stats) and sync-trades. Due to it they cover most only order placement, order cancellation, reading balances and open orders, and retrieving past trade history.

  • This library depends on pymaker because IDEX integration involves interacting with its smart contract. In addition to that, other exchange APIs use the Wad class which is defined pymaker.

  • There is almost no test coverage as of today. The exception is some part of the IDEX API.

  • If you are looking for more supported exchanges and/or more features, a please have a look at ccxt (https://github.com/ccxt/ccxt). It's a JavaScript / Python / PHP library which supports huge number of venues and also has more features than pyexchange.

License

See COPYING file.

Testing

Run the following commands within a virtualenv

pip3 install -r requirements-dev.txt
./test.sh

pyexchange's People

Contributors

bargst avatar devenoges avatar dizzy avatar ednoepel avatar exef avatar grandizzy avatar ith-harvey avatar mikehathaway avatar mitakash avatar pumpkingwok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyexchange's Issues

Update Python client for Ethfinex Trustless to use 0x version 2

Ethfinex Trustless - Order Placement Update

There is a bounty of 1.2 ETH available for this issue on Gitcoin

Current behaviour

An initial implemention for interaction with Ethfinex Trustless was added to this library, but the order placement format is now out of date, as Trustless has updated to use 0x v2. The current python implementation can be found here.
https://github.com/makerdao/pyexchange/blob/master/pyexchange/tethfinex.py

Wanted behaviour

The implementation should be updated so that calls to all APIs work.
Feature completeness includes:

  1. Read: Ethfinex Trustless configuration.
  2. Write: Order placement.
  3. Wrote: Order cancelation.
  4. Read: Get order history.
  5. Read: Get trade history.

A working reference implementation is available in Ethfinex's javascript client library:
https://github.com/ethfinex/efx-api-node

Javascript creation of order:
https://github.com/ethfinex/efx-api-node/blob/master/src/api/contract/create_order.js
Javascript submission of order:
https://github.com/ethfinex/efx-api-node/blob/master/src/api/submit_order.js

Definition of done

You have successfully completed this bounty, when:

  1. All functions implemented in the javascript library are also implemented fully in python so that order placement is successful to Ethfinex Trustless.

Submission

Please submit your work by making a pull request to the Github repository.

Past trade storage for Bibox and gate.io is temporary

The library uses temporary file storage for past trades in order do avoid querying the server over and over again (in the case of Bibox) and in order to be able to still show old trades which have already disappeared from the API results (in the case of gate.io).

Ultimately, this temporary file storage should be replaced by a database maybe..?
Or the client of this library should be able to supply an implementation of some interface..?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.