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.

Download files

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

Source Distribution

icplot-0.6.0.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

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

icplot-0.6.0-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file icplot-0.6.0.tar.gz.

File metadata

  • Download URL: icplot-0.6.0.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for icplot-0.6.0.tar.gz
Algorithm Hash digest
SHA256 b3bd2555122f4db6a8573f7d01f4274767591036c2898cfb4ff4bf9e1d31b903
MD5 9858866ac1bb4a4c4ecd54cc707b202a
BLAKE2b-256 babfdd1f8769c63fdb34c004cbb949eca438133b7691c53f979a6868956cb968

See more details on using hashes here.

File details

Details for the file icplot-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: icplot-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for icplot-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b861bb22efce4db87cc08faa9504390d3bd63b880bb7c655ee2c5ab8143f9ba5
MD5 e87ab3162ff8ee007a208a979b6281cf
BLAKE2b-256 99b65fcc97efba60430dd971a0e46484ed7dbc79f70a09cb10bc0c3b5e1a8c3c

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