Antoine Beyeler

Project notes and miscellanea.

TIL: displaying contributor avatars in GitHub changelogs

While working on a changelog-generation script for my vsvg project, I wanted to display the list of contributors as circular avatars, just like GitHub does in multiple places. After a few Google searches and some failed attempts, I identified a couple of key tricks. The first is about obtaining the avatar image for a given GitHub account. Although the URL is hard to predict, adding .png to the account page acts as redirection....

December 30, 2023

On vpype layers, their names, and the AxiDraw

This article explores the topic of layers, their name, and how they can be used to control the AxiDraw plotting process.

March 17, 2023

Annotated Release Notes: vpype 1.13

vpype 1.13 is out! 🎉 The main improvement is Python 3.11 support, but it does come with a few other bells and whistles, so let’s dive in. ...

March 13, 2023 Â· Last updated on March 17, 2023

Project: the Automatic #plotloop Machine

Deep dive into the internals of my Automatic #plotloop Machine.

December 22, 2022

Batch processing SVGs with DoIt and vpype

doit (a.k.a. PyDoIt) is a fantastic Python-based tool to automate repetitive workflows. It works particularly well alongside vpype to address mundane plotting-related tasks. This article explains in details how to automate an SVG optimisation and conversion workflow. ...

November 10, 2022 Â· Last updated on December 22, 2022
close-up of a small Raspberry Pi screen showing the Textual demo

TIL: running Textual on a framebuffer terminal emulator for Linux

My successful (yet probably vain) attempt at running Textual (a modern TUI framework) on a Raspberry Pi without X11 by using fbpad (a framebuffer terminal emulator for Linux).

October 29, 2022
vpype loves apple silicon

Annotated Release Notes: vpype 1.12

vpype 1.12 is out! 🎉 No ground-breaking features, but an improved “quality-of-life”, especially for Apple-silicon Mac owners, and few other goodies. Let’s dive in. ...

October 25, 2022

TIL: use Plausible.io with a Sphinx documentation hosted on RTD

Although Google Analytics is very easy to setup on a Read the Docs-based documentation website, it requires a cookie banner to be GDPR-compliant and is otherwise questionable from a privacy-preservation point-of-view. As a result, I much prefer to use and support the excellent EU-based Plausible.io for traffic metrics instead. This article explains how to setup a Read the Docs-based documentation with Plausible.io such that metrics are enabled only on “production” builds — e....

October 9, 2022

TIL: using Sphinx substitutions to generate text snippets from code

Often, technical documentations include lists or other snippets of text that are strongly related to some of the project’s code. vpype’s documentation is no exception to this. For instance, the Built-in symbols section lists the units available to expressions: These units are related to the following piece of code: # vpype/utils.py UNITS = { "px": 1.0, "in": 96.0, "inch": 96.0, "ft": 12.0 * 96.0, "yd": 36.0 * 96.0, "mi": 1760.0 * 36....

September 30, 2022
plotting with paint using vpype 1.11

Annotated Release Notes: vpype 1.11

This release further solidifies the block commands which were overhauled in vpype 1.9. It also introduces several changes revolving around the “plotting with paint” use-case, which typically requires the brush to be regularly dipped in a paint well. This can be achieved by inserting “dipping” patterns at regular intervals determined by the cumulative drawing distance. vpype 1.11 makes this process much easier. Thanks a lot to Andee Collard for his useful feedback and providing this article’s banner!...

July 6, 2022