Skip to content

sssurendra99/WeekPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

WeekPlan

A beautiful, fast, week-at-a-glance calendar for GNOME Linux.

License Python GTK Last commit Issues PRs welcome Contributor Covenant

WeekPlan screenshot


Features

  • ✨ Live now-line and progress bars β€” see what's happening at a glance
  • πŸ“… Weekly view with all 7 days and 24 hours, smooth scrolling
  • πŸ” Recurring events β€” daily, weekly, weekdays, custom RRULE
  • πŸ”” Native GNOME notifications with configurable lead time
  • ☁️ Two-way Google Calendar sync
  • 🎨 Native libadwaita design β€” looks at home on GNOME
  • ⚑ Lightweight β€” ~60 MB RAM idle (vs. 300+ MB for Electron alternatives)
  • ⌨️ Full keyboard shortcuts
  • πŸŒ— Light and dark mode support

Install

From Flathub

Coming soon. Track progress in issue #1.

From source β€” Flatpak (recommended)

This is the cleanest way to run WeekPlan. It installs into an isolated sandbox with all dependencies bundled.

1. Install prerequisites

Ubuntu / Debian
sudo apt install flatpak flatpak-builder
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gnome.Platform//49 org.gnome.Sdk//49
Fedora
sudo dnf install flatpak flatpak-builder
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gnome.Platform//49 org.gnome.Sdk//49
Arch
sudo pacman -S flatpak flatpak-builder
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gnome.Platform//49 org.gnome.Sdk//49

2. Clone, build, and run

git clone https://github.com/sssurendra99/weekplan.git
cd weekplan
make flatpak-build   # builds and installs locally (~2 min first time)
make flatpak-run

Subsequent builds are cached β€” only changed modules are rebuilt.

To uninstall:

flatpak uninstall com.weekplan.app

From source β€” development

Use this if you want to hack on the code. PyGObject must come from your system package manager β€” it cannot be installed via pip.

1. Install system dependencies

Ubuntu / Debian
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-4.0 gir1.2-adw-1 \
  python3-full libgirepository1.0-dev
Fedora
sudo dnf install python3-gobject python3-gobject-devel gtk4 libadwaita \
  gobject-introspection-devel
Arch
sudo pacman -S python-gobject gtk4 libadwaita

2. Create a venv that can see system packages

PyGObject is installed system-wide, so the venv needs --system-site-packages:

git clone https://github.com/sssurendra99/weekplan.git
cd weekplan
python3 -m venv --system-site-packages .venv
source .venv/bin/activate
pip install -e ".[dev]"

3. Run

.venv/bin/python -m weekplan

Or with the venv active:

python -m weekplan

Quick start

  • Press Ctrl+N to add an event.
  • Use ← β†’ to navigate weeks, Ctrl+T to jump to today.
  • Press F5 to sync with Google Calendar.
  • Connect your Google account in Settings to enable sync (see docs/GOOGLE_SETUP.md).

Keyboard shortcuts

Action Shortcut
New event Ctrl+N
Today Ctrl+T
Previous week ←
Next week β†’
Sync F5
Quit Ctrl+Q
Open shortcuts dialog Ctrl+?

Screenshots

Light mode Dark mode
Week view β€” light mode Week view β€” dark mode

Contributing

Contributions of all sizes are welcome β€” bug reports, feature suggestions, documentation, translations, and code. Start with CONTRIBUTING.md, or browse good first issues if you're looking for a place to start. Have a question or idea? Open a Discussion.


Roadmap

  • Week view
  • Recurring events
  • Notifications
  • Google Calendar sync
  • Month view
  • Multiple calendars with toggleable visibility
  • iCal import/export
  • CalDAV support (Nextcloud, Fastmail)
  • Natural language quick-add ("lunch with Sara tomorrow 1pm")
  • Translations (i18n)

Built with

Python · GTK4 · libadwaita · SQLite · python-dateutil · Google Calendar API · ❀️ for the GNOME desktop


License

MIT Β© 2026 Sumal Surendra. See LICENSE for details.


Acknowledgments

Inspired by GNOME Calendar. Built on the shoulders of the libadwaita and PyGObject teams. Thanks to every contributor who files an issue or sends a PR.


Star History

About

A beautiful, fast, week-at-a-glance calendar for GNOME Linux

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors