Skip to main content

icplot

This is a library used at The Irish Centre for High End Computing (ICHEC) for generating plots, diagrams and other graphics for technical documents.

Scope

The library is frozen to what its consumers use — the ichec-handbook build tool and ichec-flow. That means converter, renderer, theme and graph: fixes and maintenance yes, new capability no.

The geometry/mesh 3D and OpenFOAM code has moved to icmesh, taking VTK and scipy with it — including VTK plot output, which is now icmesh.plot. Install icmesh if you want it.

Features

The project has three primary modules:

converter: Converts between image formats, such as pdf, svg and png renderer: Render text based inputs as svg, pdf or png images or videos theme: Generate and apply themes from a design system

Converter

To covert between image formats you can do:

icplot convert --source my_image.svg --target my_image.png

Supported conversions are:

  • svg -> png
  • svg -> pdf
  • pdf -> png

Renderer

Render a range of text based formats to images or videos. For example,

icplot render --file uml_diagram.puml

renders the PlantUML file to png and svg.

Supported render inputs and targets are:

  • PlantUml
    • SVG
    • PNG
  • Latex/Tikz
    • PDF
    • SVG
    • PNG
  • Mermaid
    • SVG
    • PNG
  • Custom JSON
    • Graph
      • Backends:
        • Matplotlib
      • Output formats:
        • SVG
        • PNG
        • MP4
    • Tree
      • Backends:
        • Graphviz
      • Output formats:
        • SVG
        • PNG
    • Gantt
      • Backends:
        • Cairo
        • PgfGantt
      • Output formats:
        • SVG
        • PNG
    • Scene
      • Backends:
        • Cairo
      • Output formats:
        • SVG

Themes

The library supports themeing with an Angular Material 3 motivated design system. Plots can be themed by adapting a version of theme.json included in this module's source. Currently Tikz and PlantUML support themeing.

Installation

The package is available on PyPI. The core install is deliberately light — it does not pull the heavy rendering backends, so consumers that only need part of the library (e.g. a docs build that just converts svg to png) stay small:

pip install icplot

Backends are opt-in via extras:

Extra Pulls Enables
cairo CairoSVG svg → png / pdf conversion, and vector scene drawing
imagemagick wand pdf → png conversion (falls back to the magick CLI)
plot matplotlib 2D plotting (renderer.graph, charts)
video moviepy video assembly (renderer.video)
all all of the above everything

For example, pip install icplot[cairo] for svg conversion, or pip install icplot[all] for the full toolkit. The native cairo and imagemagick system libraries are also required for those backends; on Mac:

brew install imagemagick cairo

Copyright

Copyright 2026 Irish Centre for High End Computing

The software in this repository can be used under the conditions of the MIT license, which is available for reading in the accompanying LICENSE file.

Release files for icplot 0.6.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for icplot 0.6.3
File Size Uploaded
icplot-0.6.3.tar.gz 34.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for icplot 0.6.3
File Interpreter ABI Platform
icplot-0.6.3-py3-none-any.whl Python 3 none any Details

Total release size: 73.5 kB

Release files / icplot-0.6.3.tar.gz

Download URL icplot-0.6.3.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b22f9a0b8a597266c6071fa0099afc7297d0862a1ba20b5db078e20174fe7134
BLAKE2b-256 checksum
How to use checksums
cd487f0396b29ce9cc3fc1f6a666c874c5966257a6ac8c84a6e5d5ba11b40830
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / icplot-0.6.3-py3-none-any.whl

Download URL icplot-0.6.3-py3-none-any.whl
Size 38.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97b04c684d9dd86992ca967b12a6e51e2d8d562e61a2cbdf536dfc8ae201f0ec
BLAKE2b-256 checksum
How to use checksums
34f42d20f66351fc7b2256d60eded38766a369b3f916bd7ebf2c8734d4e0a578
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

0.6.5

2 release files

0.6.4

2 release files

This release

0.6.3 This release

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page