pyearcal
Generate your year calendar in Python. The result is a PDF file with 12 pages containing an image and a grid of days.
Installation
We recommend using uv tool to use and/or install pyearcal as a tool.
uv tool install pyearcal
or you can use it without installation (via uvx)
Usage
- Prepare a directory with 12 images (different image providers are planned)
- Initialize calendar with all options.
- Language (locales for English, Czech, Slovak, Italian)
- Special days (national holidays are included + add your own)
- Fonts, colours
- Render it to PDF
Usage of the script
Usage: uvx pyearcal [OPTIONS] [OUTPUT]
Options:
-s, --source PATH
-l, --locale [en|cs|it|sk]
-y, --year INTEGER
-f, --font TEXT
-d, --special-days TEXT
Example code
# Import important modules
from pyearcal import YearCalendar
from pyearcal.image_sources import UnsortedImageDirectory
from datetime import date
from pyearcal.l10n import CzechLocale
year = date.today().year + 1
# Use all pictures from "images" directory
image_source = UnsortedImageDirectory("images")
# Use Czech locale and holidays
locale = CzechLocale()
# Set a few special days
special_days = [
date(year, 1, 31) # Guido van Rossum's birthday
]
calendar = YearCalendar(year, image_source, locale, special_days)
calendar.render("calendar.pdf")
You can take FlickrDownloader as an inspiration for developing a more sophisticated image source.
Example with real pictures
Release files for pyearcal 2025.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyearcal-2025.12.0.tar.gz | 15.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyearcal-2025.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.9 kB
Release files / pyearcal-2025.12.0.tar.gz
| Download URL | pyearcal-2025.12.0.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2922b355c2da24e6957e95d81900403ab7d1323a473e39042b5b17f12659db7
|
|
BLAKE2b-256 checksum How to use checksums |
fce6c41dd9e36a51cee0e58ad340643ab070d2b270aabb8750f0a7a90e18dbc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / pyearcal-2025.12.0-py3-none-any.whl
| Download URL | pyearcal-2025.12.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1532aed0ff99c385ca56dce331f32c1fcbc342cf126acf9a64879e6e941f28e9
|
|
BLAKE2b-256 checksum How to use checksums |
57045fc858a542594b7dbec1373296a9fecf106e6febda84f2059ec316a189c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|