A command-line application to dynamically generate decks of cards from a JSON specification and a CSV data file, inspired by nandeck.
Project description
DeckSmith
A command-line application to dynamically generate decks of cards from a JSON specification and a CSV data file, inspired by nandeck.
DeckSmith is ideal for automating the creation of all kinds of decks, including TCG decks, tarot decks, business cards, and even slides.
Why DeckSmith?
- ✨ Consistent layout and formatting across all cards. Define once, edit anytime, generate as many cards as you need.
- 🍳 Pure python, with easy installation via pip.
- ⚡ Highly performant card generation using parallel processing.
- 📖 Intuitive syntax and extensive documentation with examples to help you get started.
- 🧰 Tons of powerful features such as:
- Start from a sample project and edit it instead of starting from scratch
- Extensive support for images, text, and all kinds of different shapes
- Link any field to a column in the CSV file
- Position elements absolutely or relative to other elements, using anchors to simplify placement
- Powerful image transformations using filters like crop, resize, rotate, or flip
- Export your deck as images or as a PDF for printing
Getting started
Installation
-
To begin, install DeckSmith by running:
pip install decksmith
Creating a project
-
Run the following command to start from sample
deck.jsonanddeck.csvfiles:decksmith init
deck.jsondefines the layout for the cards in the deck.deck.csvholds the data for each card, like the content of the text fields and the image paths.
Defining the layout
-
Edit
deck.jsonto include all the elements you want on your cards. You can find a complete list of all the available elements and their properties in the documentation. -
You can reference any column from
deck.csvin thedeck.jsonfile as%column_name%.
Building the deck
-
When you are ready to generate the deck images, run:
decksmith build
-
After building a deck, you can export it to PDF by running:
decksmith export
Documentation
Check out the full documentation for more detailed information on how to use DeckSmith.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file decksmith-0.1.15.tar.gz.
File metadata
- Download URL: decksmith-0.1.15.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c9988cd837b870704dcec694e9bc0ceb38f4878436773adc23dc2446c5a0065
|
|
| MD5 |
552c0adbca8e6197cc2005871e8772c2
|
|
| BLAKE2b-256 |
ab737b95cca4abb8082941964ac12ec75c0f4994aafceb227f3e9d05c7eadf59
|
File details
Details for the file decksmith-0.1.15-py3-none-any.whl.
File metadata
- Download URL: decksmith-0.1.15-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f41effc1fd5a8efcd57287c1702be0bb643992d6d51c5d611c48e28b62e17c06
|
|
| MD5 |
8f769ba0a96496eb63b29cccf4d6036a
|
|
| BLAKE2b-256 |
281c761a427e33b6da3e5e2638161ce023e3c5246e91269402bf3dfe8ffa1dd7
|