Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -14,22 +14,7 @@ from Gradio_UI import GradioUI
|
|
14 |
verbose = True
|
15 |
if verbose: print("Running app.py")
|
16 |
|
17 |
-
|
18 |
-
def top_10_items_from_json(json_str: str) -> dict[str, int]:
|
19 |
-
# Parse the JSON string into a dictionary
|
20 |
-
data = json.loads(json_str)
|
21 |
-
|
22 |
-
# Sort the dictionary by value in descending order
|
23 |
-
sorted_items = sorted(data.items(), key=lambda item: item[1], reverse=True)
|
24 |
-
|
25 |
-
# Get the top 10 items
|
26 |
-
top_10 = sorted_items[:10]
|
27 |
-
|
28 |
-
# Convert the list of tuples back into a dictionary
|
29 |
-
top_10_dict = dict(top_10)
|
30 |
-
|
31 |
-
return top_10_dict
|
32 |
-
################### END: UTILITY ###############################################
|
33 |
|
34 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|
35 |
@tool
|
@@ -44,10 +29,12 @@ def my_custom_tool(arg1:str, arg2:int)-> str: #it's important to specify the ret
|
|
44 |
|
45 |
@tool
|
46 |
def fetch_active_crypto() -> Optional[Dict[str, Any]]:
|
47 |
-
"""A tool that fetches all active crypto by market cap in USD.
|
|
|
|
|
48 |
|
49 |
Returns:
|
50 |
-
Optional[Dict[str, Any]]: A dictionary containing
|
51 |
or None if an error occurs.
|
52 |
"""
|
53 |
# url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'
|
@@ -74,8 +61,9 @@ def fetch_active_crypto() -> Optional[Dict[str, Any]]:
|
|
74 |
# Extract the top 10 cryptocurrencies by market cap
|
75 |
if 'data' in data:
|
76 |
sorted_crypto = sorted(data['data'], key=lambda x: x['quote']['USD']['market_cap'], reverse=True)
|
77 |
-
top_10 = sorted_crypto[:10]
|
78 |
-
return {crypto['name']: crypto['quote']['USD'] for crypto in top_10}
|
|
|
79 |
else:
|
80 |
print("No data found in the response.")
|
81 |
return None
|
|
|
14 |
verbose = True
|
15 |
if verbose: print("Running app.py")
|
16 |
|
17 |
+
#################################### TOOLS ###############################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
# Below is an example of a tool that does nothing. Amaze us with your creativity !
|
20 |
@tool
|
|
|
29 |
|
30 |
@tool
|
31 |
def fetch_active_crypto() -> Optional[Dict[str, Any]]:
|
32 |
+
"""A tool that fetches all active crypto by market cap in USD.
|
33 |
+
This can also be used when a specific crypto is required, then filter by that crypto name to get the
|
34 |
+
data for the specific ticker.
|
35 |
|
36 |
Returns:
|
37 |
+
Optional[Dict[str, Any]]: A dictionary containing cryptocurrencies by market cap,
|
38 |
or None if an error occurs.
|
39 |
"""
|
40 |
# url = 'https://sandbox-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'
|
|
|
61 |
# Extract the top 10 cryptocurrencies by market cap
|
62 |
if 'data' in data:
|
63 |
sorted_crypto = sorted(data['data'], key=lambda x: x['quote']['USD']['market_cap'], reverse=True)
|
64 |
+
# top_10 = sorted_crypto[:10]
|
65 |
+
# return {crypto['name']: crypto['quote']['USD'] for crypto in top_10}
|
66 |
+
return {crypto['name']: crypto['quote']['USD'] for crypto in sorted_crypto}
|
67 |
else:
|
68 |
print("No data found in the response.")
|
69 |
return None
|