El SDK de Python
Un SDK de Python completamente tipado para la API de TCGdex que te permite acceder a los datos del Juego de Cartas Coleccionables de Pokémon con opciones tanto asíncronas como síncronas.
from tcgdexsdk import TCGdex, Extension
# Inicializar el SDKtcgdex = TCGdex()
# Obtener una carta en una líneacard = await tcgdex.card.get("swsh3-136")# O usar la versión síncronacard = tcgdex.card.getSync("swsh3-136")
print(f"Encontrado: {card.name} ({card.localId}/{card.set.cardCount.total})")
Instalación y Configuración Básica
Sección titulada «Instalación y Configuración Básica»-
Instala el SDK usando pip:
Ventana de terminal pip install tcgdex-sdk -
Importa e inicializa:
from tcgdexsdk import TCGdex, Languagetcgdex = TCGdex() # Inicializar con el idioma predeterminado (Inglés)# Inicializar con idioma como cadena de textotcgdex = TCGdex("es")# O usando la enumeración Languagetcgdex = TCGdex(Language.ES) -
Comienza a hacer solicitudes:
# Uso asíncronocard = await tcgdex.card.get("swsh3-136")# Uso síncronocard = tcgdex.card.getSync("swsh3-136")
Características Principales
Sección titulada «Características Principales»- Seguridad de Tipos: Todos los modelos están completamente tipados para una mejor integración con IDE
- API Dual: Interfaces tanto asíncronas como síncronas
- Consultas Flexibles: Potente constructor de consultas para filtrar y ordenar resultados
- Soporte Multilingüe: Accede a datos de cartas en múltiples idiomas
- Modelos Completos: Modelos de datos detallados para cartas, sets, series y más
- Acceso a Imágenes: Acceso directo a imágenes de cartas y símbolos de sets
Puntos de Acceso
Sección titulada «Puntos de Acceso»El SDK proporciona puntos de acceso especializados para diferentes tipos de datos:
sdk = TCGdex()
# Punto de acceso base para cartassdk.card # Información completa de la carta
# Puntos de acceso para coleccionessdk.set # Sets de cartas (ej., "Darkness Ablaze")sdk.serie # Series de cartas (ej., "Sword & Shield")
# Puntos de acceso para datos de cartassdk.rarity # Rarezas de cartassdk.hp # Valores de HPsdk.illustrator # Ilustradores de cartas
# Puntos de acceso para mecánicas de juegosdk.type # Tipos de Pokémonsdk.energyType # Tipos de energíasdk.retreat # Costos de retiradasdk.stage # Etapas de evolución
# Puntos de acceso para detalles de cartassdk.variant # Variantes de cartas (holo, reverse, etc.)sdk.suffix # Sufijos de cartassdk.regulationMark # Marcas de regulaciónsdk.dexId # IDs de Pokédex
Ejemplos de Consultas
Sección titulada «Ejemplos de Consultas»El SDK incluye un potente constructor de consultas para filtrar y ordenar resultados:
from tcgdexsdk import TCGdex, Query
sdk = TCGdex()
# Encontrar todas las cartas con un nombre específicofurrets = await sdk.card.list(Query().equal("name", "Furret"))
# Encontrar cartas con 'ban' en el nombre del ilustrador (insensible a mayúsculas/minúsculas)ban_cards = await sdk.card.list(Query().contains("illustrator", "ban"))
# Encontrar Pokémon con HP alto, ordenados por HPtanks = await sdk.card.list( Query() .greaterThan("hp", 200) .sort("hp", "desc"))
# Encontrar cartas sin ataques pero con habilidadesbasics = await sdk.card.list( Query() .isNull("attacks") .notNull("abilities"))
# Soporte de paginaciónpage2 = await sdk.card.list( Query().paginate(page=2, itemsPerPage=20))
Soporte de Idiomas
Sección titulada «Soporte de Idiomas»El SDK admite múltiples idiomas para los datos de las cartas:
from tcgdexsdk import TCGdex, Language
# Usando códigos de cadenaen_sdk = TCGdex("en") # Inglésfr_sdk = TCGdex("fr") # Francésde_sdk = TCGdex("de") # Alemán
# Usando enum para seguridad de tiposjp_sdk = TCGdex(Language.EN) # por defecto en inglés si no se establece
# Cambiar el idioma en una instancia existentesdk = TCGdex()sdk.setLanguage(Language.ES)
Lista completa de códigos de idiomas
Trabajando con Imágenes
Sección titulada «Trabajando con Imágenes»Las cartas, sets y series a menudo incluyen imágenes que pueden ser accedidas:
from tcgdexsdk.enums import Quality, Extension
# Obtener una cartacard = await sdk.card.get("swsh3-136")
# Obtener URL de imagen con calidad y formatoimage_url = card.get_image_url(quality="high", extension="png")# O usando enumeracionesimage_url = card.get_image_url(Quality.HIGH, Extension.PNG)
# Descargar imagen directamenteimage_data = card.get_image(Quality.HIGH, Extension.PNG)
# Los sets y series también tienen métodos para imágenesset_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)