• Stars
    star
    263
  • Rank 155,624 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Magic: The Gathering SDK - Python

Magic: The Gathering SDK

mtg-developers on discord PyPI version Build Status Requirements Status Code Climate Coverage Status

This is the Magic: The Gathering SDK Python implementation. It is a wrapper around the MTG API of magicthegathering.io.

Requirements

Python 3 is currently the only supported version for the sdk. More specifically, the package was developed using Python 3.4.

Installation

Using pip:

pip install mtgsdk

Usage

Import (Card and Set will be most used)

from mtgsdk import Card
from mtgsdk import Set
from mtgsdk import Type
from mtgsdk import Supertype
from mtgsdk import Subtype
from mtgsdk import Changelog

Properties Per Class

Card

name
multiverse_id
layout
names
mana_cost
cmc
colors
color_identity
type
supertypes
subtypes
rarity
text
flavor
artist
number
power
toughness
loyalty
variations
watermark
border
timeshifted
hand
life
reserved
release_date
starter
rulings
foreign_names
printings
original_text
original_type
legalities
source
image_url
set
set_name
id

Set

code
name
gatherer_code
old_code
magic_cards_info_code
release_date
border
type
block
online_only
booster
mkm_id
mkm_name

How to get cards from specific language

Languages

Please note that a card may or may not be available in each language listed below.

Chinese Simplified
Chinese Traditional
French
German
Italian
Japanese
Korean
Portuguese (Brazil)
Russian
Spanish

Card.where(language="your_language").all()
Example:
  card = Card.where(language="Chinese Traditional").all()

Find Card by Multiverse Id

card = Card.find(386616)

Filter Cards via Query Parameters

cards = Card.where(set='ktk').where(subtypes='warrior,human').all()

Get all cards (will page through all the data - could take awhile)

cards = Card.all()

Get all cards, but only a specific page of data

cards = Card.where(page=5).where(pageSize=1000).all()

Find a Set by code

set = Set.find('ktk')

Get all sets

sets = Set.all()

Filter sets via query parameters

sets = Set.where(name='khans').all()

Get all types

types = Type.all()

Get all subtypes

subtypes = Subtype.all()

Get all supertypes

supertypes = Supertype.all()

Development

Install the EditorConfig plugin for your text editor or IDE

Linux

  1. Install dependencies: make setup
  2. Run test suite: make test

Windows

  1. Install dependencies: python setup.py install
  2. Run test suite: python -m unittest discover tests/