Skip to main content

Barrin's Codex

PyPI version Validation Python version License Code Style

A website about MtG Duel Commander Strategy

Special Thanks

I started working with lionel-panhaleux on a project during first lockdown (around April 2020). We worked on his Codex of the Damned (repo) to support internationalisation. The whole structure of this project is derived from his Codex, hence the name as a small tribute.

Contributing

Contributions are welcome.

  • Pull Requests will be merged if they respect the general style.
  • Issues will be dealt with as quickly as possible.

This site uses Flask and Babel to generate pages dynamically and handle internationalisation.

Instructions to contributors

Here are various general guidelines this website is enforcing:

  • Do not talk about yourself
  • Do not talk to the reader
  • Do not engage the reader in the talk
  • Use spaces between the call and the variable for better clarity {{ some_variable }}
  • Use mana symbols, they are emojis in the context (currently {{ W }}, {{ U }}, {{ B }}, {{ R }}, {{ G }})
  • Use card names variables, they are in the context (example {{ jace_the_mind_sculptor }} for Jace, the Mind Sculptor)
  • If a card name doesn't compile, you are free to declare the name, it is mandatory for Adventure card and some other

Installation

To install a working developpment version of the site, use pip:

python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

The first time the project is started, the page will take some time to compile a list of cards and their scryfallId to gain access to the card image. This script is also used to build a JSON version of a decklist.

Run the Codex

You can run the development version of the site using the codex entrypoint:

$ codex
* Serving Flask app "barrins_codex" (lazy loading)
* Environment: production
  WARNING: This is a development server. Do not use it in a production deployment.
  Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

You can set the DEBUG environment variable to activate the debug mode:

DEBUG=1 codex

Useful tools

There are some utils provided in the codex:

Decklist Converter

Using an alphabetically sorted decklist, just put SB: before every card in Command Zone.

cd ./barrins_codex
python ./build_deck.py PATH_TO_FILE

Google Translate

Use python and Google Translate to help with translation:

import clipboard
import pprint
import re

def pre():
    s = "".join(s[1:-1] for s in clipboard.paste().split("\n"))
    s = re.sub(r"%\(([^\)]*)\)s", r"§KEEP\1§", s)
    clipboard.copy(s)

def post():
    s = clipboard.paste()
    s = pprint.pformat(re.sub(r"§KEEP([^§]*)§", r"%(\1)s", s), width=88)
    s = re.sub(
            r"(^')|('$)",
            '"',
            re.sub(r"^\s*", "", s[1:-1], flags=re.MULTILINE),
            flags=re.MULTILINE
        ).replace("\\n", "")
    clipboard.copy(s)

# usage:
#  > copy paragraph to translate from the PO file
# pre()
# > copy translation
# post()
# > copy result to the PO file

Versioning

The version number take the form X.Y.Z where X, Y, and Z are non-negative integers, and do not contain leading zeroes. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 -> 1.10.0 -> 1.11.0.

Given a version number MAJOR.MINOR.PATCH, I increment the:

  1. MAJOR version when I make a backend evolution or a design evolution,
  2. MINOR version when I add content, and
  3. PATCH version when I make bug and typo fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vod_barrins_codex-0.0.4.tar.gz (12.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vod_barrins_codex-0.0.4-py3-none-any.whl (12.3 MB view details)

Uploaded Python 3

File details

Details for the file vod_barrins_codex-0.0.4.tar.gz.

File metadata

  • Download URL: vod_barrins_codex-0.0.4.tar.gz
  • Upload date:
  • Size: 12.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.0

File hashes

Hashes for vod_barrins_codex-0.0.4.tar.gz
Algorithm Hash digest
SHA256 22e7372556359868bbbaeace382b036eb129af970f6a7200ae92d77440f7be89
MD5 ea541b4d6802d68390bd832d2aa0493a
BLAKE2b-256 d8b03fbaf1d8511c28817c78646cfb0a270c0a36df013981533321ff13dc6914

See more details on using hashes here.

File details

Details for the file vod_barrins_codex-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for vod_barrins_codex-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 161bc4e85ae8af7901434be7b71b37d3f8968b692302aed018bff0f34081d791
MD5 291947fa6878201698b792209949fa76
BLAKE2b-256 afc590f7907a4cf1ab96daaf9e2984bf5bd9dd952fccd1640f87a43230799559

See more details on using hashes here.

Release history Release notifications | RSS feed

0.0.5

2 files

This release

0.0.4 This release

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page