Download Latest Version 1.33.0 source code.tar.gz (550.9 kB)
Email in envelope

Get an email when there's a new version of Piccolo

Home / 1.33.0
Name Modified Size InfoDownloads / Week
Parent folder
1.33.0 source code.tar.gz 2026-03-06 550.9 kB
1.33.0 source code.zip 2026-03-06 786.9 kB
README.md 2026-03-06 1.2 kB
Totals: 3 Items   1.3 MB 0

UUID v7

Added support for UUID v7.

:::python
from piccolo.columns.defaults.uuid import UUID7

class MyTable(Table):
    my_column = UUID(default=UUID7())

This provides superior insert performance and easier indexing compared to UUID v4.

Requires Python 3.14, and Postgres 18 (otherwise extensions are needed).

Coalesce

Added the Coalesce function - which lets you specify a fall back if a null value is found.

For example:

:::python
>>> await Album.select(
...     Coalesce(Album.release_date, datetime.date(2050, 1, 1))
... )

Or you can use this abbreviated syntax:

:::python
>>> await Album.select(
...     Album.release_date | datetime.date(2050, 1, 1)
... )

Other changes

  • Fixed a bug with the Piccolo CLI, where custom names for commands weren't being applied (thanks to @sinisaos for this and @pelid for reporting the issue).
  • Fixed typo in the get_related docstring (thanks to @nightcityblade for this).
  • Fixed bugs with queries when a column has db_column_name defined (thanks to @VladislavYar for raising these issues).
  • Improved the docs for Timestamp and Timestamptz columns.
Source: README.md, updated 2026-03-06