Skip to content

pedros/mtgdeck

Repository files navigation

mtgdeck

Linux builds passing Windows builds passing Coverage Grade Maintainability PyPI version

MTG decklist decoder and encoder library and application

What is it?

mtgdeck is an application and library for decoding and encoding various decklist formats for Magic: The Gathering.

Usage

Automatically determine input format in standard input and encode using default encoder (text) to standard output:

mtgdeck < input.mws > output.txt

The same as above, but from Python:

import sys
import mtgdeck
mtgdeck.dump(mtgdeck.load(sys.stdin), sys.stdout)

Decode a Cockatrice decklist and encode to OCTGN, specifying files:

mtgdeck -d cod -e octgn -i input.cod -o output.o8d

And in Python:

import mtgdeck
src = open('input.cod')
target = open('output.o8d', 'w')
decklist = mtgdeck.load(src, cls=mtgdeck.CockatriceDecoder)
mtgdeck.dump(decklist, target, cls=mtgdeck.OCTGNEncoder)

Formats

mtgdeck currently supports the following formats:

Magic online:text (.txt and .dec)
Magic Workstation:mws (.mwDeck)
OCTGN:o8d (.o8d)
Cockatrice:cod (.cod)

The default decoder is auto: it tries to infer the correct decklist format. The default encoder is text.

Installation

pip install mtgdeck
mtgdeck --help  # or python -m mtgdeck --help

Contributing

See the Contribution guidelines file.