Python SDK
Un SDK Python completamente tipizzato per l’API TCGdex che ti permette di accedere ai dati del Gioco di Carte Collezionabili Pokémon con opzioni sia asincrone che sincrone.
from tcgdexsdk import TCGdex, Extension
# Inizializza l'SDKtcgdex = TCGdex("it")
# Ottieni una carta in una sola rigacard = await tcgdex.card.get("swsh3-136")# Oppure usa la versione sincronacard = tcgdex.card.getSync("swsh3-136")
print(f"Trovato: {card.name} ({card.localId}/{card.set.cardCount.total})")
Installazione e Configurazione Base
Sezione intitolata “Installazione e Configurazione Base”-
Installa l’SDK usando pip:
Terminal window pip install tcgdex-sdk -
Importa e inizializza:
from tcgdexsdk import TCGdex, Languagetcgdex = TCGdex() # Inizializza con la lingua predefinita (Inglese)# Inizializza con la lingua come stringatcgdex = TCGdex("en")# Oppure usando l'enum Languagetcgdex = TCGdex(Language.EN) -
Inizia a fare richieste:
# Utilizzo asincronocard = await tcgdex.card.get("swsh3-136")# Utilizzo sincronocard = tcgdex.card.getSync("swsh3-136")
Caratteristiche Principali
Sezione intitolata “Caratteristiche Principali”- Sicurezza dei Tipi: Tutti i modelli sono completamente tipizzati per una migliore integrazione con l’IDE
- API Duale: Interfacce sia asincrone che sincrone
- Query Flessibili: Potente costruttore di query per filtrare e ordinare i risultati
- Supporto Multi-Lingua: Accesso ai dati delle carte in più lingue
- Modelli Completi: Modelli di dati dettagliati per carte, set, serie e altro
- Accesso alle Immagini: Accesso diretto alle immagini delle carte e ai simboli dei set
Endpoints
Sezione intitolata “Endpoints”L’SDK fornisce endpoint specializzati per diversi tipi di dati:
sdk = TCGdex()
# Endpoint base per le cartesdk.card # Informazioni complete sulle carte
# Endpoint per le collezionisdk.set # Set di carte (es. "Darkness Ablaze")sdk.serie # Serie di carte (es. "Sword & Shield")
# Endpoint per i dati delle cartesdk.rarity # Rarità delle cartesdk.hp # Valori HPsdk.illustrator # Illustratori delle carte
# Endpoint per le meccaniche di giocosdk.type # Tipi di Pokémonsdk.energyType # Tipi di energiasdk.retreat # Costi di ritiratasdk.stage # Stadi di evoluzione
# Endpoint per i dettagli delle cartesdk.variant # Varianti delle carte (holo, reverse, ecc.)sdk.suffix # Suffissi delle cartesdk.regulationMark # Simboli di regolamentazionesdk.dexId # ID del Pokédex
Esempi di Query
Sezione intitolata “Esempi di Query”L’SDK include un potente costruttore di query per filtrare e ordinare i risultati:
from tcgdexsdk import TCGdex, Query
sdk = TCGdex()
# Trova tutte le carte con un nome specificofurrets = await sdk.card.list(Query().equal("name", "Furret"))
# Trova carte con 'ban' nel nome dell'illustratore (case-insensitive)ban_cards = await sdk.card.list(Query().contains("illustrator", "ban"))
# Trova Pokémon con HP alto, ordinati per HPtanks = await sdk.card.list( Query() .greaterThan("hp", 200) .sort("hp", "desc"))
# Trova carte senza attacchi ma con abilitàbasics = await sdk.card.list( Query() .isNull("attacks") .notNull("abilities"))
# Supporto per la paginazionepage2 = await sdk.card.list( Query().paginate(page=2, itemsPerPage=20))
Supporto Linguistico
Sezione intitolata “Supporto Linguistico”L’SDK supporta più lingue per i dati delle carte:
from tcgdexsdk import TCGdex, Language
# Utilizzando codici stringaen_sdk = TCGdex("en") # Inglesefr_sdk = TCGdex("fr") # Franceseit_sdk = TCGdex("it") # Tedesco
# Utilizzando enum per la sicurezza dei tipien_sdk = TCGdex(Language.EN) # predefinito all'inglese se non impostato
# Cambia lingua su un'istanza esistentesdk = TCGdex()sdk.setLanguage(Language.IT)
Lista completa dei codici lingua
Lavorare con le Immagini
Sezione intitolata “Lavorare con le Immagini”Carte, set e serie spesso includono immagini a cui è possibile accedere:
from tcgdexsdk.enums import Quality, Extension
# Ottieni una cartacard = await sdk.card.get("swsh3-136")
# Ottieni l'URL dell'immagine con qualità e formatoimage_url = card.get_image_url(quality="high", extension="png")# Oppure usando gli enumimage_url = card.get_image_url(Quality.HIGH, Extension.PNG)
# Scarica l'immagine direttamenteimage_data = card.get_image(Quality.HIGH, Extension.PNG)
# Anche i set e le serie hanno metodi per le immaginiset_data = await sdk.set.get("swsh3")
logo_url = set_data.get_logo_url(Extension.PNG)logo = set_data.get_logo(Extension.PNG)
symbol_url = set_data.get_symbol_url(Extension.WEBP)symbol = set_data.get_symbol(Extension.WEBP)