Skip to content

Nithin200487/binance-public-data

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update README https://www.esma.europa.eu/document/2026-annual-work-programme

table on the Joint Guidelines on oversight cooperation under DORA Digital Finance and Innovation, Guidelines and Technical standards Compliance table DOWNLOAD 200.62 KB 06/10/2025 Ares(2025)8295022 Letter from the European Commission on de-prioritisation of Level 2 acts in financial services legislation - Annex Joint Committee Letter DOWNLOAD 385.26 KB 06/10/2025 Ares(2025)8295022 Letter from the European Commission on de-prioritisation of Level 2 acts in financial services legislation Joint Committee Letter DOWNLOAD 396.11 KB 06/10/2025 Overview Recruitments Overview Recruitments Careers, Vacancies Reference DOWNLOAD 848.06 KB 06/10/2025 ESMA75-1012365701-566 Compliance table on the Joint Guidelines on costs and losses under DORA Digital Finance and Innovation, Guidelines and Technical standards Compliance table DOWNLOAD 230.85 KB 06/10/2025 ESAs warning on crypto-assets Joint ESAs warning on crypto-assets Digital Finance and Innovation, Investor protection, Joint Committee, Warnings and publications for investors Investor Warning DOWNLOAD 670.59 KB 06/10/2025 ESAs factsheet on crypto-assets Joint ESAs factsheet on crypto-assets Digital Finance and Innovation, Joint Committee Reference DOWNLOAD 745.51 KB 03/10/2025 EFIF EFIF Summary of the May 2025 meeting Digital Finance and Innovation, Joint Committee Summary of Conclusions DOWNLOAD 227.74 KB 03/10/2025 ESMA82-402-39 List of Synthetic Securitisations notified to ESMA Securitisation Reference DOWNLOAD 70.81 KB 03/10/2025 ESMA34-46-101 Register of authorised European long-term investment funds (ELTIFs) Fund Management Reference DOWNLOAD 74.4 KB 03/10/2025 ESMA71-545613100-2804 2026 Work Programme – advancing on more integrated, accessible and competitive financial markets in the EU - Press Release About ESMA, Press Releases Press Release DOWNLOAD 191.89 KB 03/10/2025 SBR Simplification and Burden Reduction About ESMA, Financial reporting, Investor protection Reference DOWNLOAD 580.53 KB 03/10/2025 ESMA22-50751485-1604 2026 Annual Work Programme About ESMA Report DOWNLOAD 829.11 KB Pagination Current page1 Page2 Page3 Page4 Page5 Page6 Page7 Page8 Page9 … Next page›› #!/usr/bin/env python3 """ Query token prices from the saved data """

import json import sys from pathlib import Path

def load_prices(prices_file): """Load prices from JSON file""" try: with open(prices_file, 'r') as f: return json.load(f) except FileNotFoundError: print(f"Error: {prices_file} not found. Run fetch_prices.py first.") sys.exit(1)

def search_token(query, prices_data): """Search for a token by symbol or base asset""" query = query.upper() results = []

for quote, pairs in prices_data['pairs'].items():
    for pair in pairs:
        if query in pair['symbol'] or query in pair['base']:
            results.append({
                'symbol': pair['symbol'],
                'base': pair['base'],
                'quote': pair['quote'],
                'price': pair['price']
            })

return results

def get_price(symbol, prices_data): """Get price for a specific symbol""" symbol = symbol.upper() for quote, pairs in prices_data['pairs'].items(): for pair in pairs: if pair['symbol'] == symbol: return pair return None

def list_by_quote(quote, prices_data): """List all pairs for a specific quote currency""" quote = quote.upper() if quote in prices_data['pairs']: return prices_data['pairs'][quote] return []

def main(): # Get prices data path script_dir = Path(file).parent repo_root = script_dir.parent prices_file = repo_root / "data" / "prices" / "prices.json"

if not prices_file.exists():
    print("❌ Price data not found. Run: python scripts/fetch_prices.py")
    sys.exit(1)

prices_data = load_prices(prices_file)

print("📊 Token Price Query Tool")
print("-" * 50)
print(f"Last updated: {prices_data['timestamp']}")
print(f"Total pairs: {prices_data['total_pairs']}")
print("\nCommands:")
print("  price <SYMBOL>      - Get price for specific symbol (e.g., BTCUSDT)")
print("  search <TOKEN>      - Search for a token (e.g., BTC, ADA)")
print("  list <QUOTE>        - List all pairs for quote currency (e.g., USDT)")
print("  quotes              - Show all quote currencies")
print("  exit                - Exit program")
print("-" * 50)

while True:
    try:
        user_input = input("\n> ").strip().split()
        if not user_input:
            continue
        
        command = user_input[0].lower()
        
        if command == "exit":
            print("Goodbye!")
            break
        
        elif command == "price" and len(user_input) > 1:
            symbol = user_input[1].upper()
            result = get_price(symbol, prices_data)
            if result:
                print(f"✓ {result['symbol']}: {result['price']} {result['quote']}")
            else:
                print(f"✗ Symbol '{symbol}' not found")
        
        elif command == "search" and len(user_input) > 1:
            query = user_input[1].upper()
            results = search_token(query, prices_data)
            if results:
                print(f"\n✓ Found {len(results)} results for '{query}':")
                for r in results[:10]:
                    print(f"  {r['symbol']:15} {r['price']:>15.8f}")
                if len(results) > 10:
                    print(f"  ... and {len(results) - 10} more")
            else:
                print(f"✗ No results for '{query}'")
        
        elif command == "list" and len(user_input) > 1:
            quote = user_input[1].upper()
            pairs = list_by_quote(quote, prices_data)
            if pairs:
                print(f"\n✓ {len(pairs)} pairs for {quote}:")
                for p in pairs[:15]:
                    print(f"  {p['symbol']:15} {p['price']:>15.8f}")
                if len(pairs) > 15:
                    print(f"  ... and {len(pairs) - 15} more")
            else:
                print(f"✗ Quote '{quote}' not found")
        
        elif command == "quotes":
            quotes = sorted(prices_data['pairs'].keys())
            print(f"\n✓ Available quote currencies ({len(quotes)}):")
            for quote in quotes:
                count = len(prices_data['pairs'][quote])
                print(f"  {quote:8} : {count:4} pairs")
        
        else:
            print("Unknown command. Try: price, search, list, quotes, exit")
    
    except KeyboardInterrupt:
        print("\nGoodbye!")
        break
    except Exception as e:
        print(f"Error: {e}")

if _name_Nithin raj == "main": main(0x455aF72E5b7d44880E84A401385DCb9C170271D3)

About

Details on how to get Binance public data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 92.0%
  • Shell 8.0%