O SDK para Python
Um SDK Python totalmente tipado para a API TCGdex que permite acessar dados do Jogo de Cartas Colecionáveis Pokémon com opções assíncronas e síncronas.
from tcgdexsdk import TCGdex, Extension
# Inicializa o SDKtcgdex = TCGdex("pt-br")
# Busca uma carta em uma linhacard = await tcgdex.card.get("swsh3-136")# Ou use a versão síncronacard = tcgdex.card.getSync("swsh3-136")
print(f"Encontrado: {card.name} ({card.localId}/{card.set.cardCount.total})")
Instalação e Configuração Básica
Seção intitulada “Instalação e Configuração Básica”-
Instale o SDK usando pip:
Terminal window pip install tcgdex-sdk -
Importe e inicialize:
from tcgdexsdk import TCGdex, Languagetcgdex = TCGdex() # Inicializa com o idioma padrão (Inglês)# Inicializa com idioma como stringtcgdex = TCGdex("pt-br")# Ou usando o enum Languagetcgdex = TCGdex(Language.PT_BR) -
Comece a fazer requisições:
# Uso assíncronocard = await tcgdex.card.get("swsh3-136")# Uso síncronocard = tcgdex.card.getSync("swsh3-136")
Principais Recursos
Seção intitulada “Principais Recursos”- Segurança de Tipos: Todos os modelos são completamente tipados para melhor integração com IDEs
- API Dual: Interfaces assíncronas e síncronas
- Consultas Flexíveis: Poderoso construtor de consultas para filtrar e ordenar resultados
- Suporte Multi-idioma: Acesse dados de cartas em vários idiomas
- Modelos Abrangentes: Modelos de dados detalhados para cartas, coleções, séries e muito mais
- Acesso a Imagens: Acesso direto a imagens de cartas e símbolos de coleções
Endpoints
Seção intitulada “Endpoints”O SDK fornece endpoints especializados para diferentes tipos de dados:
sdk = TCGdex()
# Endpoint base de cartassdk.card # Informação completa da carta
# Endpoints de coleçõessdk.set # Coleções de cartas (ex: "Darkness Ablaze")sdk.serie # Séries de cartas (ex: "Sword & Shield")
# Endpoints de dados de cartassdk.rarity # Raridades de cartassdk.hp # Valores de HPsdk.illustrator # Ilustradores de cartas
# Endpoints de mecânicas de jogosdk.type # Tipos de Pokémonsdk.energyType # Tipos de energiasdk.retreat # Custos de recuosdk.stage # Estágios de evolução
# Endpoints de detalhes de cartassdk.variant # Variantes de cartas (holo, reverse, etc.)sdk.suffix # Sufixos de cartassdk.regulationMark # Marcas de regulamentaçãosdk.dexId # IDs da Pokédex
Exemplos de Consultas
Seção intitulada “Exemplos de Consultas”O SDK inclui um poderoso construtor de consultas para filtrar e ordenar resultados:
from tcgdexsdk import TCGdex, Query
sdk = TCGdex()
# Encontrar todas as cartas com um nome específicofurrets = await sdk.card.list(Query().equal("name", "Furret"))
# Encontrar cartas com 'ban' no nome do ilustrador (sem distinção entre maiúsculas/minúsculas)ban_cards = await sdk.card.list(Query().contains("illustrator", "ban"))
# Encontrar Pokémon com HP alto, ordenados por HPtanks = await sdk.card.list( Query() .greaterThan("hp", 200) .sort("hp", "desc"))
# Encontrar cartas sem ataques mas com habilidadesbasics = await sdk.card.list( Query() .isNull("attacks") .notNull("abilities"))
# Suporte à paginaçãopage2 = await sdk.card.list( Query().paginate(page=2, itemsPerPage=20))
Suporte a Idiomas
Seção intitulada “Suporte a Idiomas”O SDK suporta múltiplos idiomas para dados de cartas:
from tcgdexsdk import TCGdex, Language
# Usando códigos de stringen_sdk = TCGdex("en") # Inglêsfr_sdk = TCGdex("fr") # Francêspt_br_sdk = TCGdex("pt-br") # Alemão
# Usando enum para segurança de tiposen_sdk = TCGdex(Language.EN) # padrão para inglês se não estiver definido
# Mudando o idioma em uma instância existentesdk = TCGdex()sdk.setLanguage(Language.PT_BR)
Lista completa de códigos de idiomas
Trabalhando com Imagens
Seção intitulada “Trabalhando com Imagens”Cartas, coleções e séries frequentemente incluem imagens que podem ser acessadas:
from tcgdexsdk.enums import Quality, Extension
# Obtém uma cartacard = await sdk.card.get("swsh3-136")
# Obtém a URL da imagem com qualidade e formatoimage_url = card.get_image_url(quality="high", extension="png")# Ou usando enumsimage_url = card.get_image_url(Quality.HIGH, Extension.PNG)
# Baixa a imagem diretamenteimage_data = card.get_image(Quality.HIGH, Extension.PNG)
# Coleções e séries também têm métodos de imagemset_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)