Skip to content

consider switch to rust on backend #83

@2bndy5

Description

@2bndy5

Historically, I've tried using various libraries to generate images. But SVG rendering support has been the biggest hurtle in this regard.

Currently, I'm using Qt6 (PySide6) on the backend since it offers SVG rendering support (among other essential features like font rendering). However, Qt doesn't not execute well in headless Linux environments (see #13). Using a rust interface on the backend instead should mitigate #13 sufficiently.

I think it is worth re-writing the backend for image generation using python bindings to a rust interface (using PyO3). Useful rust libs/crates include:

  • resvg (SVG rendering lib)
  • cosmic-text (ttf rendering)
  • image-rs (generic non-rasterized image rendering/manipulation)
  • tera (implementation of a template engine similar to Jinja2 or Django)

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency fileenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions