Skip to main content

"CLI for VTES to browse and analyse the TWDA.",

Project description

KRCG

PyPI version Validation Coverage Python version License Code Style

A command-line interface based on the VEKN official card texts and the Tournament Winning Deck Archive (TWDA)

Online API

KRCG is available as an online API. Feel free to use it. Beware that this is still a beta, so breaking change can happen without notice.

Discord BOT

KRCG is available as a Discord Bot. Feel free to use it in your server.

It lets you retrieve cards official text, image and rulings: Bot Example

Contribute

Feel free to submit pull requests, they will be merged as long as they pass the tests. Do not hestitate to submit issues or vote on them if you want a feature implemented.

Contribute Rulings (non-developers)

Please do not hestitate to contribute rulings: all help is welcome.

Open an issue with a ruling you think should be added, provide a link to an online post by one of the rules directors:

Contribute Rulings (developers)

Feel free to contribute rulings as Pull Requests directly, this is very appreciated.

Add the ruling link to rulings-links.yaml, and the ruling itself to cards-rulings.yaml or general-rulings.yaml depending on the case.

The format is mostly self-explanatory:

  • Cards are reference by ID and name in the format ID|Name.

  • Card names inside rulings text should be between bracers, eg. {.44 Magnum}

  • Individual rulings in cards-rulings.yaml must provide one or more references to ruling links at the end of the text, between brackets, eg [LSJ 20100101]

In doing so, please follow the following guidelines:

  • Keep the YAML files clean and alphabetically sorted (you can use a YAML formatter)

  • Make the rulings as concise as possible

  • Prefix the ruling with the discipline level and/or type the ruling applies to (if any), eg. prefix with [PRO] [COMBAT] if the ruling applies only to the card played in combat at superior Protean.

  • Adapt the ruling wording to the cards it applies to (ie. use masculine/feminin forms)

  • You can run the tests with the pytest command to check everything is OK

Installation

You need Python 3 installed on your system to use this tool in command line.

Use pip to install the krcg tool:

pip install krcg

Then initialize the tool using the init subcommand:

krcg init

Usage

Use the help command for a full documentation of the tool:

krcg --help

And also extensive help on each sub-command:

krcg [COMMAND] --help

Note most commands only take decks from 2008 on in consideration. You can use the --from and --to parameters to control the date range.

Examples

Get a card text (case is not relevant, some abbreviations and minor misspellings will be understood):

$> krcg card krcg
KRCG News Radio
[Master][2P] -- (Jyhad:U, VTES:U, CE:U, LoB:PA, LotN:PG, KoT:U/PB, SP:PwN1 - #101067)
Unique location.
Lock to give a minion you control +1 intercept.
Lock and burn 1 pool to give a minion controlled by another Methuselah +1 intercept.

This provides rulings, if any:

$> krcg card ".44 magnum"
.44 Magnum
[Equipment][2P] -- (Jyhad:C, VTES:C, Sabbat:C, SW:PB, CE:PTo3, LoB:PO3, FB:PTr2 - #100001)
Weapon: gun.
Strike: 2R damage, with 1 optional maneuver each combat.

-- Rulings
Provides only ony maneuver each combat, even if the bearer changes. [LSJ 19980302-2]

Use the -l option to get ruling links:

$> krcg card -l ".44 magnum"
.44 Magnum
[Equipment][2P] -- (Jyhad:C, VTES:C, Sabbat:C, SW:PB, CE:PTo3, LoB:PO3, FB:PTr2 - #100001)
Weapon: gun.
Strike: 2R damage, with 1 optional maneuver each combat.

-- Rulings
Provides only ony maneuver each combat, even if the bearer changes. [LSJ 19980302-2]
[LSJ 19980302-2]: https://groups.google.com/d/msg/rec.games.trading-cards.jyhad/9YVFkeiL3Js/4UZXMyicluwJ

List TWDA decks containing a card:

$> krcg deck "Fame"
[2016gncbg] weenie animalism minimal: "Ich bin eine von wir"
[2016amfb] Gangrel e Garou
[2016ukncle] (No Name)
[2016ecday1gi] (No Name)
[2016saclcqspb] "Choquinho"
...

Display any TWDA deck:

$> krcg deck 2016gncbg
German NC 2016
Bochum, Germany
December 3rd 2016
3R+F
19 players
Bram van Stappen

Deck Name: weenie animalism minimal: "Ich bin eine von wir"
Description:
played (untested) at the German Nationals 03.12.2016, Bochum


-- Crypt: (12 cards)
---------------------------------------
2  Stick                               3  ANI                       Nosferatu antitribu:4
1  Janey Pickman                       6  for ANI PRO               Gangrel antitribu:4
1  Célèste Lamontagne                  5  for ANI PRO               Gangrel antitribu:4
1  Effie Lowery                        5  obf ANI SPI               Ahrimane:4
1  Sahana                              5  pre pro spi ANI           Ahrimane:4
1  Yuri Kerezenski                     5  aus for vic ANI           Tzimisce:4
1  Beetleman                           4  obf ANI                   Nosferatu:4
1  Bobby Lemon                         4  pro ANI                   Gangrel:3
1  Mouse                               2  ani                       Nosferatu:3
1  Zip                                 2  ani                       Ravnos:3
1  Lisa Noble                          1  ani                       Caitiff:3
-- Library (90)
-- Master (12)
5  Blood Doll
2  Powerbase: Montreal
1  Direct Intervention
1  Fame
1  KRCG News Radio
1  Pentex(TM) Subversion
1  Rack, The
-- Action (14)
10 Deep Song
2  Abbot
1  Aranthebes, The Immortal
1  Army of Rats
-- Combat (38)
16 Aid from Bats
11 Carrion Crows
6  Taste of Vitae
2  Canine Horde
2  Terror Frenzy
1  Pack Alpha
-- Reaction (18)
5  Cats' Guidance
5  On the Qui Vive
4  Forced Awakening
3  Delaying Tactics
1  Wake with Evening's Freshness
-- Equipment (1)
1  Sniper Rifle
-- Retainer (7)
6  Raven Spy
1  Mr. Winthrop

Display all decks that won a tournament of 50 players or more in 2018:

$> krcg deck --players 50 --from 2018 --to 2019
[2018igpadhs] (No Name)
[2018eclcqwp] Dear diary, today I feel like a wraith.. Liquidation
[2018ecday1wp] MMA.MPA (EC 2018)
[2018ecday2wp] EC 2018 win
[2018pncwp] Deadly kittens

List cards most associated with a given card in TWD:

$> krcg affinity "Fame"
Fame                           (in 100% of decks, typically 1-2 copies)
Taste of Vitae                 (in 59% of decks, typically 3-6 copies)
Dragonbound                    (in 38% of decks, typically 1 copy)
Powerbase: Montreal            (in 34% of decks, typically 1 copy)

List most played cards of a given type, clan or discipline:

$> krcg top -d Animalism
Carrion Crows                  (played in 252 decks, typically 5-10 copies)
Cats' Guidance                 (played in 222 decks, typically 2-5 copies)
Canine Horde                   (played in 195 decks, typically 1-3 copies)
Deep Song                      (played in 194 decks, typically 3-10 copies)
Raven Spy                      (played in 182 decks, typically 2-6 copies)
Sense the Savage Way           (played in 167 decks, typically 2-6 copies)
Aid from Bats                  (played in 152 decks, typically 6-14 copies)
Army of Rats                   (played in 137 decks, typically 1-2 copies)
Guard Dogs                     (played in 83 decks, typically 1-3 copies)
Terror Frenzy                  (played in 73 decks, typically 1-4 copies)

Build a deck from any given cards based on TWDA:

$> krcg build "Fame" "Carrion Crows"

Created by: KRCG
Inspired by:
 - 2020mdmlf            Nanarch Buruku
 - 2019r6vh             Aksinya+Nana+Anarch+Ani 4.0
 - 2019bncfb            Resistência Anarch
 ...

-- Crypt: (12 cards)
---------------------------------------
1  Stick                               3  ANI                       Nosferatu antitribu:4
1  Beetleman                           4  obf ANI                   Nosferatu:4
1  Bobby Lemon                         4  pro ANI                   Gangrel:3
3  Nana Buruku                         8  ANI POT PRE               Guruhi:4
1  Céleste Lamontagne                  5  for ANI PRO               Gangrel antitribu:4
1  Petra                               5  aus ANI OBF               Nosferatu:4
4  Anarch Convert                      1  -none-                    Caitiff:ANY
-- Library (90)
-- Master (30)
8  Ashur Tablets
7  Anarch Revolt
3  Liquidation
3  Vessel
2  Dreams of the Sphinx
2  Haven Uncovered
1  Archon Investigation
1  Direct Intervention
1  Fame
1  Pentex(TM) Subversion
1  Wider View
-- Action (11)
10 Deep Song
1  Army of Rats
-- Combat (36)
13 Aid from Bats
10 Carrion Crows
4  Target Vitals
4  Taste of Vitae
3  Terror Frenzy
2  Canine Horde
-- Reaction (9)
4  Cats' Guidance
3  On the Qui Vive
2  Delaying Tactics
-- Retainer (4)
4  Raven Spy

Static files generator

In its development version, KRCG also offers a tool for generating static files for third parties, krcg-gen.

krcg init
krcg-gen standard amaranth

will generate files in the static directory for standard and amaranth third parties.

Project details


Release history Release notifications | RSS feed

This version

0.40

Download files

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

Source Distribution

krcg-0.40.tar.gz (126.4 kB view details)

Uploaded Source

Built Distribution

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

krcg-0.40-py3-none-any.whl (128.8 kB view details)

Uploaded Python 3

File details

Details for the file krcg-0.40.tar.gz.

File metadata

  • Download URL: krcg-0.40.tar.gz
  • Upload date:
  • Size: 126.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for krcg-0.40.tar.gz
Algorithm Hash digest
SHA256 47ce2d6c8c7056912548fa6c7c31beebc325b604bdeedfaed87a143d47f8e4b3
MD5 4fb7d7f1f4110f7c01f5e3770fef2d6f
BLAKE2b-256 aa4c3602a3a3be7a2f7946b0425210edaf3325f666d50430729194c74f419bee

See more details on using hashes here.

File details

Details for the file krcg-0.40-py3-none-any.whl.

File metadata

  • Download URL: krcg-0.40-py3-none-any.whl
  • Upload date:
  • Size: 128.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for krcg-0.40-py3-none-any.whl
Algorithm Hash digest
SHA256 5749132d2cfcfac3f730b89a6f251f849153b0a632500844b420616c6b78d804
MD5 d97b559958385bb13e58bb6245aaf3f5
BLAKE2b-256 5395ed1bf0cb3a4c797b7c332b42dfd28cdb51df8c5b54611a0615fa35bf6fdf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page