Armin Ronacher's Thoughts and Writings

Projects

Over the last couple of years I created and contributed to a number of Open Source projects. Most of them were Python and Rust, a couple of others however were also C, C++, JavaScript, PHP or other languages mixed in.

This list is widely incomplete, lots of small things can be found on my GitHub profile and some things are lost in the depths of the internet.

Commercial Endeavors

Some of the more meaningful commercial projects and initiatives I worked on:

  • Plurk — the first commercial project I worked on. A microblogging platform similar to Twitter with a unieuq timelime.
  • Fireline — online services platform for games. Built by a subsidary of Splash Damage to support internal and external games.
  • Sentry — error tracking and performance monitoring platform. Initially Open Source, now Fair Source. There since we raised money, built out an office in Austria and lead SDKs and ingestion services for a many years.
  • Functional Software License — I was part of drafting and promoting Sentry's DOSP springing license. An innovative license that comes with a two year exclusivity period for the original creator which turns into Apache2/MIT afterwards.
  • Fair Source — the branding term we have promoted for FSL style licenses with minimal restrictions that undergo DOSP.
  • Open Source Pledge — an initiative born at Sentry to encourage companies to pledge to their Open Source dependencies.

Open Source Libraries

This is a selection of some of my more popular Open Source libraries and projects. They either became popular on their own, or gave birth to other Open Source projects later:

  • Flask — a microframework for Python based on good intentions. At the time it became one of the most popular Python frameworks and has been adopted by many companies for internal APIs and microservices.
  • Pygments — syntax highlighter written in Python. I created this project together with Georg Brandl in 2005. For a while it became a very popular syntax highlighting powering many web sites, including GitHub.
  • Jinja — template engine for Python. Originally built as an improved version of Django templates for non Django frameworks. It became popular through Flask and other web frameworks and also found home as a template language for infrastructure scripting (salt and ansible) as well as LLM prompting.
  • Sphinx — a Python documentation tool. Like Pygments this was built together with Georg Brandl, oringally as a replacement for the old LaTeX based documentation for Python itself. It later became popular as a solution to write books and documentations for many projects.
  • Werkzeug — WSGI utility library for Python. This was originally built to promote the use of WSGI for Python and to build applications on top. Later this became the based of Flask.
  • Click — a command line interface utility library. I built this to make it easier to build command line applications and it has become a very popular choice in the Python ecosystem.
  • Rye — an experimental package manager for Python. Built for my own use to see what packaging in Python could look like it attracted a lot of interest. The project has been donated to astral who are building uv as a better, spiritual successor.
  • Twig — a Django-inspired template engine for PHP. Originally created for a blogging system called Chyrp, it took a life on its own when it was taken over by the Symfony project.
  • Babel — collection of tools for internationalizing Python applications. Originally built by Edgewall software for trac, I maintained it for a while.
  • Logbook — a logging library for Python.
  • itsdangerous — a cryptographic signing library used by Flask and many other libraries.
  • redis-rs — a redis driver for Rust. Originally built to learn Rust, it has become the most popular redis driver.
  • insta — a snapshot testing library for Rust. Originally built for use at Sentry it has been adopted quite widely for an improved snapshot testing experience.
  • similar — a diffling library for Rust. Originally used for insta, has been independently become widely used.
  • minijinja — a minimal dependency implementation of Jinja2 for Rust. Built for my own use for an unreleased project, it has also been adopted by a number of projects and companies for LLM prompting.

Open Source Applications

  • Zine — a blog software written in Python. This has been lost in the archive of the internet, but at the time I was very proud of it. It was a blogging platform similar to WordPress for Python. (archive)
  • Plurk Solace — a multilingual support application. Was not used much but it was my first Open Source project I was paid for. (archive)
  • python-modernize — Python 2 to 3 porting tool. I build this to demonstrate that you can build code bases that were compatible to both 2.x and 3.x. It later gave life to modernize.
  • pipsi — a wrapper around pip for script installation that later inspired pipx and things like uv run.
  • Lektor — a static file content management system written in Python.

Computer Games

In a prior life I was credited for my work on some computer games:

Projects for Competitions

  • “Be a Bee” — for u19, Ars Electronica 2003. 2nd Place. In some ways what got me more excited about programming and creating things.