Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
dist
defi.egg-info
defi.egg-info
defi/__pycache__/
5 changes: 3 additions & 2 deletions defi/defi_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,18 +158,19 @@ def geckoPrice(tokens, quote):



def geckoList(page=1, per_page=250):
def geckoList(page=1, per_page=250, ids=None):
"""Returns list of full detail conGecko currency list

Args:
page (int, optional): number of pages
per_page (int, optional): number of records per page
ids (string, optional): The ids of the coin, comma separated crytocurrency symbols (base). refers to /coins/list

Returns:
DataFrame: list of full detail conGecko currency list
"""
url = "https://api.coingecko.com/api/v3/coins/markets"
params = {"vs_currency":"usd", "order":"market_cap_desc", "per_page":per_page, "page":page}
params = {"vs_currency":"usd", "order":"market_cap_desc", "per_page":per_page, "page":page, "ids":ids}
r = requests.get(url, params).json()
df = pd.DataFrame(r)
df.set_index('symbol', inplace=True)
Expand Down
16 changes: 16 additions & 0 deletions test/Defi_toolsTestCase.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import unittest
import defi.defi_tools as dft

class Defi_toolsTestCase(unittest.TestCase):

def test_geckoList(self):
result = dft.geckoList()
self.assertEqual(len(result.index), 250) #default por page

def test_geckoListIds(self):
result = dft.geckoList(ids="bitcoin,ethereum")
self.assertEqual(len(result.index), 2)
self.assertEqual(sorted(result['id'].tolist()), ["bitcoin", "ethereum"]) #alphabetically order

if __name__ == "__main__":
unittest.main()