Metadata-Version: 2.1
Name: wrc
Version: 1.6.1
Summary: Tool to build and perform checks on WCA Regulations and Guidelines
Author-email: Philippe Virouleau <philippe.44@gmail.com>, WCA Software Team <software@worldcubeassociation.org>
License: GPLv3
Project-URL: Homepage, https://github.com/thewca/wca-regulations-compiler
Project-URL: Issues, https://github.com/thewca/wca-regulations-compiler/issues
Requires-Python: >=3.0
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: ply>=3.7
Requires-Dist: unidecode


# WCA Regulations Compiler

This is a tool to check, build, compare WCA Regulations and Guidelines and its translations.

## Install from PyPi

Just run `pip install wrc`.

## External dependencies

If you want to build the pdf versions, you need the **patched qt** version of [wkhtmltopdf](http://wkhtmltopdf.org/) in your `$PATH`.
These stable standalone binaries are available [here](http://wkhtmltopdf.org/downloads.html) for several platforms.

For CJK translations you also need to install some packages providing CJK fonts. The official build uses "UnBatang" for Korean (package `fonts-unfonts-core` or alike), "WenQuanYi Micro Hei" for Chinese (package `fonts-wqy-microhei` or alike), and "IPAX0208PGothic" for Japanese (package `fonts-ipafont` or alike).

## Run the thing

Here are some sample invocations:

- To check the Regulations and Guidelines:
`wrc path/to/wca-regulations --target=check`
- To build the html to the `build` directory:
`wrc path/to/wca-regulations --target=html --output=build`
- To merge the Regulations and Guidelines into a single document (works with html, pdf and json targets):
`wrc path/to/wca-regulations --target=html --output=build --merged`
- When building translation it's necessary to provide the language (to choose the appropriate font/pdf names):
`wrc path/to/wca-regulations-translations/french --language=french --target=pdf --output=build`
- Check that a translation matches exactly the original rules:
`wrc path/to/wca-regulations-translations/french --diff=path/to/wca-regulations`

You can also take a look at the travis [script](https://github.com/thewca/wca-regulations-translations/blob/master/travis.sh) used in the translations repository.


## Running from the sources

The compiler is built on top of python lex/yacc implementation `ply`, so you probably need to run `pip install ply` to install it.
When this is done, you can use `python -m wrc.wrc` from the repository's root instead of `wrc`.
If you want to use `wrc-states` from the source, an easy way to do this is to run `python -c "from wrc.wrc import states; states()"`

## Deploying to PyPi

(section for maintainers in PyPi)

- Bump the version number in `wrc/version.py` and in `pyproject-toml`
- (optional, depends on your environment) `pip install --upgrade build`
- `python -m build`
- `twine upload dist/*`
