Skip to main content

Beautiful terminal calendar with seasonal colors

Project description

PPCalendar - Pure Python Calendar

Terminal Screenshot showing colorful 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
ppcal

# Show 3-month view (previous/current/next)
ppcal 3

# Show specific year
ppcal 2025

# Show specific month (June 2024 example)
ppcal 6 2026

Usage via cal command year view

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?

Feature System cal PPCalendar
Colors ❌ No ✅ Yes
Today Highlight ❌✅ Partial ✅ Everywhere
3-Month View ✅ Yes ✅ Yes
Month/Year ✅ MM YYYY ✅ MM YYYY
Locale Support Limited ✅ Full

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:

  1. Report bugs or suggest features in Issues
  2. Submit Pull Requests for:
    • Holiday markers 🎄
    • Week numbers 🔢
    • Moon phases 🌕
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ppcalendar-0.1.3.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ppcalendar-0.1.3-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file ppcalendar-0.1.3.tar.gz.

File metadata

  • Download URL: ppcalendar-0.1.3.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ppcalendar-0.1.3.tar.gz
Algorithm Hash digest
SHA256 def454b1330ac9a526d6c5fa01626c861e725249d5e6199119b966d3c8047a6e
MD5 da12612b6ce5eab74f5dea8075f95ec4
BLAKE2b-256 e9c6bae052c1392e97e8809561a8e7c1414b8d5d33d0f451d3efb57719054e3a

See more details on using hashes here.

File details

Details for the file ppcalendar-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ppcalendar-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for ppcalendar-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b910c5293c9b89c06a4e9abe3c53a26c8a71ce13e349932a82726ad6b89b27a9
MD5 b760765014545bcf85db8f86789b232e
BLAKE2b-256 89a2a1aedb0f5ab89dff3fa7e9a27b7d0078ac7b5699070dbb217bf3a2dbad29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page