Aller au contenu

Le SDK Python

Image Principale de TCGdex

Version PypiTéléchargements PypiÉtoiles GithubStatut de ConstructionLien Discord

Un SDK Python entièrement typé pour l’API TCGdex qui vous permet d’accéder aux données du Jeu de Cartes à Collectionner Pokémon avec des options synchrones et asynchrones.

from tcgdexsdk import TCGdex, Extension
# Initialisation du SDK
tcgdex = TCGdex()
# Récupérer une carte en une ligne
card = await tcgdex.card.get("swsh3-136")
# Ou utiliser la version synchrone
card = tcgdex.card.getSync("swsh3-136")
print(f"Trouvé : {card.name} ({card.localId}/{card.set.cardCount.total})")
  1. Installez le SDK en utilisant pip :

    Fenêtre de terminal
    pip install tcgdex-sdk
  2. Importez et initialisez :

    from tcgdexsdk import TCGdex, Language
    tcgdex = TCGdex() # Initialisation avec la langue par défaut (Anglais)
    # Initialisation avec la langue en format chaîne
    tcgdex = TCGdex("fr")
    # Ou en utilisant l'énumération Language
    tcgdex = TCGdex(Language.FR)
  3. Commencez à faire des requêtes :

    # Utilisation asynchrone
    card = await tcgdex.card.get("swsh3-136")
    # Utilisation synchrone
    card = tcgdex.card.getSync("swsh3-136")
  • Sécurité de Type : Tous les modèles sont entièrement typés pour une meilleure intégration IDE
  • API Double : Interfaces asynchrones et synchrones
  • Requêtes Flexibles : Puissant constructeur de requêtes pour filtrer et trier les résultats
  • Support Multi-langues : Accédez aux données des cartes en plusieurs langues
  • Modèles Complets : Modèles de données détaillés pour cartes, sets, séries, et plus
  • Accès aux Images : Accès direct aux images des cartes et aux symboles des sets

Le SDK fournit des Endpoints spécialisés pour différents types de données :

sdk = TCGdex()
# Endpoint de base pour les cartes
sdk.card # Informations complètes sur les cartes
# Endpoints des collections
sdk.set # Sets de cartes (ex. "Évolutions à Paldea")
sdk.serie # Séries de cartes (ex. "Épée et Bouclier")
# Endpoints des données de cartes
sdk.rarity # Raretés des cartes
sdk.hp # Valeurs de PV
sdk.illustrator # Illustrateurs des cartes
# Endpoints des mécanismes de jeu
sdk.type # Types de Pokémon
sdk.energyType # Types d'énergie
sdk.retreat # Coûts de retraite
sdk.stage # Stades d'évolution
# Endpoints des détails des cartes
sdk.variant # Variantes de cartes (holo, reverse, etc.)
sdk.suffix # Suffixes des cartes
sdk.regulationMark # Marques de régulation
sdk.dexId # IDs du Pokédex

Le SDK inclut un puissant constructeur de requêtes pour filtrer et trier les résultats :

from tcgdexsdk import TCGdex, Query
sdk = TCGdex(Language.FR)
# Trouver toutes les cartes avec un nom spécifique
furrets = await sdk.card.list(Query().equal("name", "Fouinar"))
# Trouver les cartes avec 'ban' dans le nom de l'illustrateur (insensible à la casse)
ban_cards = await sdk.card.list(Query().contains("illustrator", "ban"))
# Trouver les Pokémon à PV élevé, triés par PV
tanks = await sdk.card.list(
Query()
.greaterThan("hp", 200)
.sort("hp", "desc")
)
# Trouver les cartes sans attaques mais avec des capacités
basics = await sdk.card.list(
Query()
.isNull("attacks")
.notNull("abilities")
)
# Support de pagination
page2 = await sdk.card.list(
Query().paginate(page=2, itemsPerPage=20)
)

Le SDK prend en charge plusieurs langues pour les données des cartes :

from tcgdexsdk import TCGdex, Language
# Utilisation des codes en chaîne de caractères
en_sdk = TCGdex("en") # Anglais
fr_sdk = TCGdex("fr") # Français
de_sdk = TCGdex("de") # Allemand
# Utilisation de l'énumération pour la sécurité de type
jp_sdk = TCGdex(Language.EN) # par défaut en anglais si non défini
# Changer la langue sur une instance existante
sdk = TCGdex()
sdk.setLanguage(Language.FR)

Liste complète des codes de langues

Les cartes, sets et séries comprennent souvent des images qui peuvent être consultées :

from tcgdexsdk.enums import Quality, Extension
# Obtenir une carte
card = await sdk.card.get("swsh3-136")
# Obtenir l'URL de l'image avec qualité et format
image_url = card.get_image_url(quality="high", extension="png")
# Ou en utilisant des énumérations
image_url = card.get_image_url(Quality.HIGH, Extension.PNG)
# Télécharger l'image directement
image_data = card.get_image(Quality.HIGH, Extension.PNG)
# Les sets et séries ont aussi des méthodes pour les images
set_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)