-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
21,265 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,3 @@ | ||
Some ideas for improvements/things todo: | ||
|
||
1. Cache results to improve performance and reduce the likelihood of | ||
hitting the Poloniex 6 calls per second limit. A call to returnTicker | ||
gets the prices for everything on the exchange so only 1 API call | ||
should be needed to get the prices for anything on the sheet. But | ||
where to cache the results? What is the lifetime of the python | ||
session which services the request? | ||
|
||
2. Switch to using ccxt (https://github.com/kroitor/ccxt.git). This much | ||
more comprehensive wrapper talks to 77+ exchanges. | ||
|
||
3. | ||
|
||
|
||
|
||
|
||
1. Further investigate caching |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
The LOC Extension enables you to create spreadsheets with crypto currency market data pulled directly from the web. This version supports only one datasource: Poloniex, but others are planned. | ||
The LOC Extension enables you to create spreadsheets with crypto currency market data pulled directly from the web. This version directly supports Poloniex and additionally, all of the datasources supported by ccxt version 1.9.262 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# -*- coding: utf-8 -*- | ||
|
||
""" | ||
MIT License | ||
Copyright (c) 2017 Igor Kroitor | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. | ||
""" | ||
|
||
# ----------------------------------------------------------------------------- | ||
|
||
__all__ = [ | ||
'BaseError', | ||
'ExchangeError', | ||
'AuthenticationError', | ||
'InsufficientFunds', | ||
'InvalidOrder', | ||
'NetworkError', | ||
'DDoSProtection', | ||
'RequestTimeout', | ||
'ExchangeNotAvailable', | ||
] | ||
|
||
# ----------------------------------------------------------------------------- | ||
|
||
|
||
class BaseError(Exception): | ||
"""Base class for all exceptions""" | ||
pass | ||
|
||
|
||
class ExchangeError(BaseError): | ||
""""Raised when an exchange server replies with an error in JSON""" | ||
pass | ||
|
||
|
||
class NotSupported(ExchangeError): | ||
"""Raised if the endpoint is not offered/not yet supported by the exchange API""" | ||
pass | ||
|
||
|
||
class AuthenticationError(ExchangeError): | ||
"""Raised when API credentials are required but missing or wrong""" | ||
pass | ||
|
||
|
||
class InsufficientFunds(ExchangeError): | ||
"""Raised when you don't have enough currency on your account balance to place an order""" | ||
pass | ||
|
||
|
||
class InvalidOrder(ExchangeError): | ||
""""Base class for all exceptions related to the unified order API""" | ||
pass | ||
|
||
|
||
class OrderNotFound(InvalidOrder): | ||
"""Raised when you are trying to fetch or cancel a non-existent order""" | ||
pass | ||
|
||
|
||
class OrderNotCached(InvalidOrder): | ||
"""Raised when the order is not found in local cache (where applicable)""" | ||
pass | ||
|
||
|
||
class NetworkError(BaseError): | ||
"""Base class for all errors related to networking""" | ||
pass | ||
|
||
|
||
class DDoSProtection(NetworkError): | ||
"""Raised whenever DDoS protection restrictions are enforced per user or region/location""" | ||
pass | ||
|
||
|
||
class RequestTimeout(NetworkError): | ||
"""Raised when the exchange fails to reply in .timeout time""" | ||
pass | ||
|
||
|
||
class ExchangeNotAvailable(NetworkError): | ||
"""Raised if a reply from an exchange contains keywords related to maintenance or downtime""" | ||
pass | ||
|
||
# ============================================================================= |
Oops, something went wrong.