ichec_handbook
ichec_handbook is a tool for generating e-books and technical documents. It is used at the Irish Centre for High End Computing (ICHEC) to build the ICHEC handbook and others.
Features
The project is a Jupyter Book wrapper that can build multiple configurations of a book based on tags in document frontmatter, allowing the concept of 'public', 'private' or 'draft' versions.
In particular, it allows:
- Rendering of different book versions (e.g.
public,private,draft) based on document frontmatter tags - Automatic conversion of image formats (including TIKZ and mermaid) to best suit the output format (web, PDF etc).
- Named build configurations specified in YAML, allowing rendering of multiple versions in the same build job.
- Book version numbering
Usage
Assuming a repository has been set up for a standard Jupyter Book build, to use ichec_handbook you can add some additional build configurations to the existing _config.yml under an ichec_handbook key, for example:
title: Mock Book
author: Mock Book Author
exclude_patterns: [/src/media, infra/, infra/README.md, _build, .venv]
only_build_toc_files: true
sphinx:
config:
myst_heading_anchors: 3
latex:
latex_documents:
targetname: book.tex
ichec_handbook:
project_name: mock_book
version: 0.0.0
builds:
- name: "internal"
outputs:
- "pdf"
- "html"
- "src"
- name: "public"
outputs:
- "pdf"
- "html"
- "src"
include_tags:
- "public"
here the book is given a version and two builds 'internal' and 'public' are specified. The public build will only include documents that have the tag 'public' in their frontmatter, through the use of the 'include_tags' attribute. All supported output formats 'pdf', 'html' and 'src' (just copy all sources) are requested in this case. This will lead to four invocations of Jupyter Book (and two custom copy operations for 'src').
To do the builds run:
ichec_handbook book --source_dir $SOURCE_DIR
where SOURCE_DIR is the location of the book sources.
Installation
If you are only using this project to build books, the container approach is strongly recommended due to complex runtime dependencies. You can follow the container guide in infra.
If you want a full native version, you first need to install the project dependencies. First, imagemagick and cairo for image format conversion:
brew install imagemagick cairo
Next, a full Latex environment, on Mac you can use MacTeX
Finally you need a working version of the Mermaid CLI.
After installing dependencies you can install the project with:
pip install ichec_handbook
Contact
For further information you can contact james.grogan@ichec.ie.
Copyright
Copyright 2025 Irish Centre for High End Computing
The software in this repository can be used under the conditions of the GPLv3+ license, which is available for reading in the accompanying LICENSE file.
If you are an ICHEC collaborator or National Service user and hope to use this library under different terms please get in touch.
Release files for ichec-handbook 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ichec_handbook-0.2.0.tar.gz | 29.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ichec_handbook-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.0 kB
Release files / ichec_handbook-0.2.0.tar.gz
| Download URL | ichec_handbook-0.2.0.tar.gz |
|---|---|
| Size | 29.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2b428939022519a1d86065a3f4c8841b7d0902dc9b04302f19e82bbf1120554
|
|
BLAKE2b-256 checksum How to use checksums |
412514467e9e37c4ed38d7240c51b32c6ea0ab6b78d9f2c14592683891e4c8d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.6
|
Release files / ichec_handbook-0.2.0-py3-none-any.whl
| Download URL | ichec_handbook-0.2.0-py3-none-any.whl |
|---|---|
| Size | 33.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78a670468b5cdc47a1531a51d41f6df7fad0329e5a0b5bd16510dbcd9c59da31
|
|
BLAKE2b-256 checksum How to use checksums |
7312f9e808d805de3c0e4c686e5b3b7e7f3e81d838b08ce8ab1476cb56fd5e68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.6
|