Skip to main content

Utilities for generating technical reports.

Project description

icreports

icreports 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 icreports you can add some additional build configurations to the existing _config.yml under an icreports 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
icreports:
  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:

icreports 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 icreports

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.

Project details


Download files

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

Source Distribution

icreports-0.0.14.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

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

icreports-0.0.14-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file icreports-0.0.14.tar.gz.

File metadata

  • Download URL: icreports-0.0.14.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for icreports-0.0.14.tar.gz
Algorithm Hash digest
SHA256 8360ee7dd1f629fd28cf3f6bdf332fe28e36d992ea824b96b8ecd84717c47c14
MD5 7940278916e60022e062eb9f6c087b62
BLAKE2b-256 14b6369a1d3c3b88027e5a1c42168ccf3a47fbc177b86aed9c5b98c4361f6a67

See more details on using hashes here.

File details

Details for the file icreports-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: icreports-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for icreports-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 a945aa4218d42dcce840a42af5c25c57cc91ab4a6f7cff35d7a6eaa226d2f34f
MD5 f875c3743874f6989bb57ffa52dc8f06
BLAKE2b-256 d3146817db8a7067ee280e0a869442b0b4f473ffb53615b08b5215b0760f4dd8

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