Global Time Utility (gtime)
Stop Googling time zones.
Recorded in Ghostty. Some output may look off in the GIF but works perfectly in a real terminal. Best with Ghostty or Kitty.
If this saves you from one more "what time is it in Tokyo?" search, give it a star.
A modern, colorful Python CLI for global time zone lookup, comparison, and management. Fuzzy search, favorites, live updates, meeting time conversion, and beautiful terminal output.
Installation
# With uv (recommended)
uv tool install gtime
# Or with pip
pip install gtime
# From source
git clone https://github.com/savitojs/gtime.git
cd gtime && uv sync
uv run gtime --help
Quick Start
gtime London # Look up any city (fuzzy search)
gtime add Tokyo Singapore "New York" # Add favorites
gtime # Show all favorites
gtime compare London Tokyo Sydney # Compare times side by side
gtime meeting at "2:00 PM" # Convert across favorites
gtime meeting at "3 PM UTC" # With timezone support
gtime watch # Live monitoring (refreshes every 60s)
Features
Smart search - Fuzzy matching, case-insensitive, works with typos (gtime toky finds Tokyo), and country names (gtime india finds Delhi).
Favorites - Save your most-used cities. Sorted by UTC offset for a natural reading order.
gtime add London Tokyo Mumbai Berlin # Add multiple cities
gtime remove Berlin # Remove a city
gtime # View all favorites
Meeting planner - Convert a meeting time across all your favorite cities. Supports 12/24-hour format and timezone abbreviations.
gtime meeting at "10:00 AM" # Your local time across favorites
gtime meeting at "15:30" # 24-hour format
gtime meeting at "9:00 AM EST" # Eastern Standard Time
gtime meeting at "3 PM UTC" # Coordinated Universal Time
Live watch mode - Real-time updates for favorites or specific cities.
gtime watch # Monitor all favorites
gtime compare London Tokyo --watch # Watch specific cities
GNOME Desktop Widget
Display your favorite cities on your GNOME desktop using the Desktop Widgets (azclock) extension.
Three styles available:
gtime widget # Style A (default) - flags, color-coded time, status
gtime widget b # Grouped by status (Working, Sleeping, etc.)
gtime widget c # Compact cards with hour diff from local
Style A - Flags + color-coded time + status:
🇺🇸 New York 23:05 ● Sleeping UTC-4
🇨🇿 Brno 04:05 +1d ● Sleeping UTC+1
🇮🇳 Delhi 09:35 +1d ● Working UTC+5:30
🇦🇺 Melbourne 14:05 +1d ● Working UTC+11
Style B - Grouped by status:
💻 Working
🇮🇳 Delhi 09:35 +1d
🇦🇺 Melbourne 14:05 +1d
💤 Sleeping
🇺🇸 New York 23:05
🇨🇿 Brno 04:05 +1d
Style C - Compact cards:
🇺🇸 New York 🌙
23:05 ● Sleeping local
🇮🇳 Delhi 🌅
09:35 +1d ● Working +9.5h
Setup
- Install the Desktop Widgets GNOME extension
- Add a widget with a Command Label element
- Set the command to
gtime widget a(orb/c) - Enable Polling with interval
60000(1 minute)
A reference dconf config is included at gtime/widget-azclock-sidebar.dconf:
# Back up first
dconf dump /org/gnome/shell/extensions/azclock/ > backup.dconf
# Import the sidebar layout
dconf load /org/gnome/shell/extensions/azclock/ < gtime/widget-azclock-sidebar.dconf
Development
uv venv .venv && source .venv/bin/activate
uv sync
pytest tests/
Contributions welcome! Fork, branch, make changes, add tests, and open a PR.
License
MIT - see LICENSE.
Report bugs or request features.
Made with ❤️ for developers working across time zones
Metadata
Release files for gtime 0.8.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gtime-0.8.4.tar.gz | 33.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gtime-0.8.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.5 kB
Release files / gtime-0.8.4.tar.gz
| Download URL | gtime-0.8.4.tar.gz |
|---|---|
| Size | 33.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9856ca9118bb42946aacd0d2e8773fce2c726416a4462f4027fb9b498abc772f
|
|
BLAKE2b-256 checksum How to use checksums |
7a1dced3cb5ef59b14f15c70d0a6e29757f801d8c9819bb0af4a6b5544bb6597
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency logRelease files / gtime-0.8.4-py3-none-any.whl
| Download URL | gtime-0.8.4-py3-none-any.whl |
|---|---|
| Size | 27.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a8d47c3784f20cffd5a782c8328e14afce70cfa26e23e7b20bf7e6e6986a86d
|
|
BLAKE2b-256 checksum How to use checksums |
25a0a2c2582a5d753320e59898f14b2e8de5f02691154825a107e59caf979682
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency log