Beautiful terminal calendar with seasonal colors
Project description
PPCalendar - Pure Python Calendar
A modern replacement for your system's cal command with Python-powered features.
Installation
# Recommended (requires uv 0.1.0+):
uv tool install ppcalendar
# Alternative:
pip install ppcalendar
Usage
# Show current month, also will work as just `cal`
ppcal
# Show 3-month view (previous/current/next)
ppcal 3
# Show specific year
ppcal 2025
# Show specific month (June 2024 example)
ppcal 6 2026
# Add events for a day (also supports yearly and monthly events)
ppcal add
# Will open an interactive menu for adding an event.
# XXXX-XX-XX - will add an event.
# XX-XX - good for birthdays, once a year event
# XX - an every month event
Key Features
✨ Seasonal Colors
Months change background by season:
- 🌸 Spring: Green
- ☀️ Summer: Red
- 🍂 Autumn: Yellow
- ❄️ Winter: Blue
📅 Multiple Views
- Single month (default)
- 3-month context view
- Full year overview
- Specific month/year
🔄 Drop-in Replacement
Add to your shell config:
alias cal='ppcal' # Add to ~/.bashrc or ~/.zshrc
Why PPCalendar?
It is simply just better!
- colors for year, months, weekdays and Sundays
- add events for today
- suppots emoji
- minimalist
- fast
For Developers
from ppcalendar import cal
# All these work like the CLI:
cal() # Current month
cal(3) # 3-month view
cal(2025) # Year view
cal(6, 2024) # June 2024
Contributing
We welcome contributions! Here's how to help:
- Report bugs or suggest features in Issues
- Submit Pull Requests for:
- Holiday markers 🎄
- Week numbers 🔢
- Moon phases 🌕
- Improve test coverage
# Development setup:
git clone https://github.com/yourusername/PPCalendar.git
cd PPCalendar
pip install -e '.[dev]'
FAQ
Q: Why not call it just cal?
A: Avoids conflicts with system commands. Use alias cal='ppcal' if desired.
Q: How to uninstall?
uv tool uninstall ppcalendar # or pip uninstall ppcalendar
Q: Windows support?
✅ Yes! Works in all terminals that support ANSI colors.
"The Unix philosophy meets Python beauty"
– For terminal lovers who appreciate design
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ppcalendar-0.1.7.tar.gz.
File metadata
- Download URL: ppcalendar-0.1.7.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
232937743b8de50fe849eadb19008732fbca359b4ee941822e772677383ab090
|
|
| MD5 |
f64c042ee82016e43ba05022b466c7f5
|
|
| BLAKE2b-256 |
05b53a13d584cc3cc3add4f25ef0dd8f427f06d85fcf6ef0a068f9c39592d59a
|
File details
Details for the file ppcalendar-0.1.7-py3-none-any.whl.
File metadata
- Download URL: ppcalendar-0.1.7-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ed333a21496e94f2d24723785cc8193196a67fb0a19a82e6061431f403a6c73
|
|
| MD5 |
73c5c16f1aad344d5433f4514ec8170c
|
|
| BLAKE2b-256 |
d0a6b74afe595944cb8979b1fe2c583d640df171df994b30cfc75157683d457d
|