This is written in Python 3; you'll need to
download and install it to use.
I've wanted a Black Market deck solution for a little while, specifically one that lets me read all the cards at once without having to pull them out of the box. My randomizer of choice (D-Vault) will run the deck, but it won't tell me special setup or let me read the cards all at once. So I whipped this thing up.
Enjoy!
==
Notes:
allcards.txt is grouped by expansion. If your cards are grouped differently, you should rearrange the lines in this file. Instead of lines naming expansions (;Dominion ;Intrigue ...) you might say what row of your box you find the card in (;Row 1 ;Row 2 ...) or some such thing. You can add fan cards by adding lines to this file; the format of each line is Name|Cost|Type|Text -- replace line breaks in Text with / and replace dividing lines with \.
The version of options.txt included here has all options turned on so you can see an example of each (it doesn't support comments in any way, and neither does allcards.txt). If you just want to use all cards not explicitly excluded, delete the "max" line entirely. Add an "exclude" line for each card in your kingdom, and for kingdoms of other games you're running out of the same set. If you remove the "no bane" option, when Young Witch is in the BM deck, the script will tell you which Bane card to use (it will only select from non-excluded cards that are in allcards.txt).