Install¶
The yace command-line tool is implemented in Python. It requires Python 3.7+ along with the third-party modules: pyyaml and jinja2. yace is distributed via the Python Package Index and thus installable by:
pipx install yace --include-deps
Once installed, you should be able to run yace via the command-line, e.g.:
yace --version
The above should produce the output below:
yace 0.5.7
In case it does not, then check your Python environment, in case it is due to an error with yace then please submit an issue on GitHUB.
Note
A common issue with the above approach is that you get an error message lige
command not found: yace
, this is because yace
is not in in one of
the locations that the PATH
environment variable is pointing to. When
using pipx
then this can be resovel with:
pipx ensurepath
# Re-login, source your shell-config, or start a new shell, eg
$SHELL
That is, when running bash-like shell, adjust according to your environment.
The above is all that is needed for the code-emission functionality of yace, however, to take things a bit further then yace utilizes a handful of other tools, compilers, build-systems and documentation generators.
Install: tools¶
Tools are utilized by the yace code-emitter Targets, each target documents which tools they use, and for what purpose. It is not required to install all tools ahead-of-time, since yace will exit-early, in case a tool is missing and inform you.
However, if you are curious, then have a look at the Tools section,
it describes all the tools currently utilized by Targets.
Additionally, then the scripts in toolbox/pkgs/
install the tools on Ubuntu
and macOS. These scripts are used by the yace CI, thus, they have
everything needed for Targets, plus some additional packages for
ci-tasks.
Regardless or whether you choose to install the tools ahead-of-time or just-in-time, then continue to the next section for a brief introduction to using yace in the Usage section.
Dockerized Build¶
This is primarily a reference on how to bring up a docker-image, to test the build of yace:
docker run \
-it \
--mount type=bind,source=$HOME/git/yace,target=/tmp/yace \
ghcr.io/xnvme/xnvme-deps-debian-bullseye:next \
bash