This script generates recommended "kingdoms" for the card game Dominion and its expansions. It scrapes the Dominion Strategy Wiki to find connections between cards and then uses this graph to find sets of cards that should play well together. In general, I've found the resulting games to be more fun than the randomly generated ones.
The best way to install is using pip:
python -m pip install dominion
You can generate a random, well-connected kingdom using all the expansions:
dominion generate
You can restrict the code to a subset of the expansions:
dominion generate -s base -s prosperity -s seaside
Note that you can list the supported expansions using:
dominion list sets
You can start the kingdom off with your favorite cards:
dominion generate -c "king's court" -c village
As above, you can see the available cards using:
dominion list cards
# or
dominion list cards -s prosperity -s base
Finally, for good measure you can get a deterministic result using:
dominion generate --seed 42
The graph of card information and connections is included in this repository, but you can update it using:
dominion setup data/cards.json
You'll need to have BeautifulSoup and requests installed, and installing tqdm doesn't hurt.