CourtBouillon

Authentic people growing open source code with taste

Blog

Astral: Beauty and the Beast

Ruff is a code formatter and linter for Python. It’s so fast and so powerful that it has already replaced Black, isort or Flake8 in many open source Python projects. And that’s just the start: Ruff’s creator has raised 4 million dollars and now wants to "fix" the Python ecosystem once and for all.

WeasyPrint v61 Has Been Released

Version 61 of WeasyPrint has been released. It comes with nice new features 🚀, a Windows executable 🪟, a lot of bug fixes 🐛, and code from 12 different contributors!

From 2023 to 2024

For CourtBouillon’s three-year anniversary, we conducted a short survey to find out what matters to you, our users. Let’s discover the results! ✨

CSS Tricks: page breaks

When creating paged documents automatically, one of the most common remarks is: "This page break is really ugly, a human would never have done this!" That’s true: humans are still better than computers to define page breaks. But nothing prevents humans from teaching computers how to choose better page breaks!

Three Years of CourtBouillon

Do you know what day it is today? It’s October 12, which means that it’s CourtBouillon’s three-year anniversary 🎂! So it’s time to rewind and see what happened during this year.

WeasyPrint v60 Has Been Released

Version 60 of WeasyPrint has been released. It comes with a lot of bug fixes 🐛, from an unprecedented number of amazing contributors!

WeasyPrint v59 Has Been Released

Version 59 of WeasyPrint has been released. It comes with new features to reduce the size of generated PDFs and to compress PDFs 🎉.

WeasyPrint v59: Beta Time

WeasyPrint v59 is the next major version of WeasyPrint. We released a beta with subtle API changes, you can give it a try and help us to have a nice stable major release! The major improvement in this version is a much smaller size of generated PDFs.

Printing the Web

Everyday we work with web technologies, but our work is a bit different from a lot of people: we don’t create websites. Our HTML and CSS aren’t displayed on web browsers, but transformed into PDF files.

CSS Tricks: box-decoration-break

When a box is split between multiple pages, do you want do display its top and bottom borders? Sometimes you do… but sometimes you don’t.

WeasyPrint v58 Has Been Released

Version 58 of WeasyPrint has been released. It comes with a main new feature and minor bug fixes 🎉.

WeasyPrint v58: Beta Time

WeasyPrint v58 is the next major version of WeasyPrint. We released a beta, you can give it a try and help us to have a nice stable major release! In this new version, WeasyPrint now supports PDF forms.

CSS Tricks: footnotes

What would be an old book, a research paper, a 100-page report, a very important contract without footnotes at the bottom of the pages?

CSS Tricks: running elements

Having the current chapter name and number displayed in each page margin is useful in many situations: quickly turning the pages and checking the current chapter, printing a page and knowing in which part of the book it is, remembering the general topic of a long paragraph when reading a complex essay…

CSS Tricks: page’s margin

You probably already noticed that books are made of pages. And you probably already noticed that there are two kinds of pages: rectos and versos. But, did you notice that it causes the layout of these pages to be slightly different?

CSS Tricks: leader()

If you ever tried to create a beautiful table of contents, you may have tried to include leaders. Leaders? Yes, these small dots you put between a chapter’s title and its page number.

WeasyPrint v57 Has Been Released

Version 57 of WeasyPrint has been released. As usual, it comes with a lot of exciting new features and bug fixes.

Two Years of CourtBouillon

Do you know what day it is today? It’s October 12, which means that it’s CourtBouillon’s two-year anniversary 🎂! So it’s time to rewind and see what happened during this year.

CSS Tricks: multicolumn

Splitting content into multiple columns is a common way to display text in books, newspapers and flyers. Guess what: CSS can do this for you!

WeasyPrint v57: Beta Time

WeasyPrint v57 is the next major version of WeasyPrint. We released a beta, you can give it a try and help us to have a nice stable major release! Let’s see what we got in this version 🤓!

CSS Tricks: @media

Using the same content on a website and on a printed document is a very common requirement. Even when the two versions share most of the style, it’s often useful to define some specific details for one of the supports using media types.

CSS Tricks: @page

Ever wanted to use a landscape orientation for your tables, because they’re too large and overflow the page? It’s possible with CSS named pages!

WeasyPrint v56 Has Been Released

Version 56 of WeasyPrint has been released. The beta didn’t suffer from outstanding bugs, this stable version is now ready to be installed and tested.

Hello, Web Diversity

Do you read this post on Google Chrome? Probably, as almost everybody does, but… Do you read it on your good old personal computer, in the bathroom on your smartphone, in your bed on your game console? Or maybe you’re listening to the article thanks to a voice synthesis? Chrome is everywhere, but the diversity of its uses may actually save web diversity.

WeasyPrint v56: Beta Time

WeasyPrint v56 is the next major version of WeasyPrint. We released a beta, you can give it a try and help us to have a nice stable major release! This version brings two new features and improves another one. Let’s see what we got!

Goodbye, Web Diversity

Do you read this post on Google Chrome? Statistically, it’s highly probable. And if you’re on another browser, don’t worry, you won’t have the choice for long…

We Need to Save the Web

OK, the title is a bit dramatic, but we have to face it: the situation is serious in the small world of web browsers. Little by little, users lose what should be theirs. And if you’re reading this, it means that you’re one of the users.

The Future of CairoSVG

After some times of doubts and questioning about the future of CairoSVG, we made a survey to know what the current users would like and expect. This article presents the results of this survey and what is coming for CairoSVG.

WeasyPrint v55 Has Been Released

Version 55 of WeasyPrint has been released. The last bugs of the beta version have been fixed, it’s time for you to install and enjoy the new features of this latest major version.

WeasyPrint v55: Beta Time

WeasyPrint v55 is the next major version of WeasyPrint. We released a beta, you can give it a try and help us to have a nice stable major release! For this version, the main focus was performance improvement. Let’s see what we got in this version!

New Feature: Footnotes

A new feature, footnote, has been added into WeasyPrint 🎉. This feature is available in the latest version of WeasyPrint: v54.

The Python Packaging Hell: The Minimal Solution (7 / 7)

Here we are. We untied knots, dug down to the roots, dissected formats, scattered files, opened a toolbox and defined needs. Maybe we can now think about making a package!

WeasyPrint v54: Beta Time

v54 is the next main version of WeasyPrint. A beta has been released so you can try it and help us to have a nice stable release! This version has new features like footnotes support, parallel flows and colored emojis. Let’s present these features!

The Python Packaging Hell: The Expression of Needs (6 / 7)

Python packaging can sometimes be a nightmare. It’s all the more hellish because when we talk about package creation and installation, we should first start to define precisely what we mean.

The Python Packaging Hell: The Toolbox (5 / 7)

Python packaging can sometimes be a nightmare. To create, share and install packages, there are a lot of tools, sometimes doing the same thing, but not the same way.

The Python Packaging Hell: Files Everywhere (4 / 7)

Python packaging can sometimes be a nightmare. To convince yourself about that, you just need a few minutes of drowning into the myriad of usable (and used!) files to build or install a packages.

One Year of CourtBouillon

Do you know what is the day today? We’re October 12, which means that it’s CourtBouillon’s one-year anniversary 🎂! So it’s time to rewind and see what happened during this year.

The Python Packaging Hell: Delusions of Formats (3 / 7)

Python packaging can sometimes be a nightmare. But, by the way, what is a package? Obviously, as nothing is simple, as nothing will be spared, the non-answer to this question is: it depends…

The Python Packaging Hell: the Roots of Evil (2 / 7)

Python packaging can sometimes be a nightmare. Because of the stupidity of Python maintainers? What if it was more complicated?

The Python Packaging Hell: The Can of Worms (1 / 7)

Python packaging can sometimes be a nightmare. You don’t know what we’re talking about? Let’s present you a couple of things and we’ll talk again after that…

WeasyPrint Survey 2021

Our first survey about WeasyPrint’s users needs is over! Now is the time to discover the answers that will influence the future of the library.

WeasyPrint 53: What’s New

The second (and probably last) beta version of WeasyPrint 53 is now out. What’s new in the next version? Here is a technical changelog.

WeasyPrint Without Cairo: Beta Time

After many months of hard work, we have never been so close to a WeasyPrint release without Cairo and now it is the moment for you to try a beta 🎉!

New Feature: leader()

A new feature, leader(), has been added in WeasyPrint 🎉.

New Feature: line-clamp

A new feature, line-clamp, has been added in WeasyPrint.

Open Collective: Donation Goals

You may have noticed some sponsoring and donation links pointing to an Open Collective page. What is Open Collective? Why become a sponsor or make a donation?

WeasyPrint Without Cairo, What’s Different?

The next major version of WeasyPrint will work without Cairo. What does it change for you?

WeasyPrint: from Cairo to pydyf

We speak a lot about the pydyf branch, but concretely, when will it be the master one?

On the Road

You may have noticed some releases last week. It’s time to share with you what is coming next!

Have You Met CourtBouillon?

Hello. We are CourtBouillon, and we love to develop and take care of open source projects. Let’s introduce us!