Create your own Shit Happens playing cards!
Project description
Customized Shit Happens
Create your own Shit Happens playing cards!
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
About The Project
Ever wanted to play with your own Shit Happens playing cards? Now you can. Write down the most miserable situations you can think of and rank them. This project automatically outputs playing cards in pdf format.
This project is not related to the original card game. Open an issue in case of any objections.
Built With
Getting Started
Prerequisites
A virtual environment with python 3.11 or higher.
Installation
Run
pip install shithappens
from within the target environment.
To allow for pdf merging, run pip install shithappens[merge]
.
To show a progressbar, run pip install shithappens[pbar]
.
To install all dependencies, run pip install shithappens[all]
.
Installing for developers
Retrieve the latest version of the code
Developers should fork this repository and run
git clone https://github.com/<your-username>/shit-happens.git
This will place the sources in a directory shit-happens
below your current working directory, set up the origin
remote to point to your own fork, and set up the upstream
remote to point to the shit-happens
main repository.
Change into this directory before continuing:
cd shit-happens
Create a dedicated environment
You should set up a dedicated environment to decouple your shithappens development from other Python and shithappens installations on your system.
The simplest way to do this is to use either Python's virtual environment venv or conda. Here, instructions for conda are shown. If mamba is installed, replace conda with mamba in the commands below.
conda env create -f environment.yml
Activate the environment using
conda activate shithappens-dev
Remember to activate the environment whenever you start working on shithappens.
Installing shithappens in editable mode
Install shithappens in editable mode from the shithappens directory using the command
python -m pip install -e .
The 'editable/develop mode', builds everything and places links in your Python environment so that Python will be able to import shithappens from your development source directory. This allows you to import your modified version of shithappens without re-installing after every change.
Usage
CLI
The tool is available as a command line interface (CLI). It requires an Excel file in the input directory (default current working directory). The excel files must have two columns with any header. The first column must contain the miserable situations. The second column must contain the corresponding misery indices. See the examples directory for an example.
usage: shithappens [-h] [-n NAME] [-m | --merge | --no-merge] [-s {front,back,both}] [-l {en,nl}] [-f {pdf,png}] [-r | --rank | --no-rank] [-w WORKERS] [-c CHUNKS] [input_dir]
help:
-h, --help show this help message and exit
input:
input_dir Input directory. Defaults to current working directory.
options:
-n NAME, --name NAME Expansion name. If no name is specified, infers name from input_dir.
-m, --merge, --no-merge
Merge output. Defaults to --no-merge
-s {front,back,both}, --side {front,back,both}
Side(s) to generate. Defaults to both.
-l {en,nl}, --lang {en,nl}
Language. 'en' and 'nl' supported. Defaults to 'en'.
-f {pdf,png}, --format {pdf,png}
Output format. 'pdf' and 'png' supported. Defaults to 'pdf'.
-r, --rank, --no-rank
Rank situations and output in new file. Does not guarantee a linear ranking, i.e. situations can have equal misery index. Ignores all other options. Defaults to --no-rank.
multiprocessing:
-w WORKERS, --workers WORKERS
Number of workers. Defaults to 4.
-c CHUNKS, --chunks CHUNKS
Number of chunks for the workers to process. Defaults to 30.
The input directory must be structured as follows:
expansion
├───images
│ └───expansion-logo.*
├───outputs
│ ├───back
│ └───front
└───*.xlsx
If the output folder does not exist, it will be created. The format of the expansion logo must be on this list.
Contributing
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the GPL-3.0 license. See LICENSE
for more information.
Contact
Project Link: https://github.com/siemdejong/shit-happens
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
Hashes for shithappens-3.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f452c5028818bef651800a83c2d90c871d2ecc087c53899f3686bcfcee833d63 |
|
MD5 | dfc5a9ab026e06b2c8ddbabc35f66473 |
|
BLAKE2b-256 | 42baba9df4f0e656f4030a9962bb9761929a02e1fc98520a2ee50fcad5d3ea4f |