Skip to main content

Global Time Utility (gtime) - A modern, colorful Python CLI utility for global time zone lookup, comparison, and management. It supports fuzzy search, favorites, city comparison, meeting time conversion, and a live/watch mode

Project description

๐ŸŒ Global Time Utility (gtime)

PyPI version Python Support License: MIT

A modern, colorful Python CLI utility for global time zone lookup, comparison, and management

Sick of Googling time zones every day?! Stop wasting time figuring out the time. ๐Ÿ• gtime makes it effortless to work across time zones with fuzzy search, favorites, real-time updates, and beautiful terminal output.

โญ Love this project? Give it a star!

If gtime helps you manage time zones more efficiently, please consider giving it a โญ on GitHub! Your support helps us improve and motivates continued development.

โญ Star this project โ€ข ๐Ÿ› Report issues โ€ข ๐Ÿ’ก Request features


๐ŸŽฏ Why gtime?

  • โšก Lightning fast - Optimized for large city databases
  • ๐Ÿ” Smart search - Fuzzy matching finds cities even with typos
  • โค๏ธ Favorites - Save your most-used cities for quick access
  • ๐Ÿ”„ Live updates - Watch mode for real-time monitoring
  • ๐ŸŽจ Beautiful output - Colorful, rich terminal interface
  • ๐Ÿค Meeting helper - Convert meeting times across all favorites with timezone support
  • ๐ŸŒ Global team ready - Supports UTC, EST, PST, JST, CET and more timezones
  • ๐Ÿ“Š Compare easily - Side-by-side time comparisons

๐Ÿ“ฆ Installation

With uv (recommended)

uv tool install gtime

In a virtual environment

uv venv
source .venv/bin/activate
uv pip install gtime

From source

git clone https://github.com/savitojs/gtime.git
cd gtime
uv sync
uv run gtime --help

๐Ÿš€ Quick Start

# Get the time in any city
gtime London

# Add cities to your favorites
gtime add Tokyo Singapore "New York"

# See all your favorite cities at once
gtime list

# Compare times across multiple cities
gtime compare London Tokyo Sydney

# Find the perfect meeting time
gtime meeting at "2:00 PM"

# Live monitoring mode
gtime watch

๐ŸŽฌ Demo

See gtime in action:

demo

Note: Some command output may appear broken in the demo, but it works perfectly in real terminal usage

๐ŸŽฏ Features

๐Ÿ™๏ธ City Lookup

  • Fuzzy search: gtime toky finds Tokyo
  • Suggestions: Get helpful suggestions for misspelled cities
  • Instant results: Lightning-fast lookups even with huge databases

โญ Favorites Management

gtime add "Los Angeles" Berlin Mumbai    # Add multiple cities
gtime remove Tokyo                       # Remove a city
gtime list                              # View all favorites
gtime clear                             # Clear all favorites

๐Ÿ” Multi-City Comparison

gtime compare London Tokyo "New York"   # Compare specific cities
gtime compare                           # Compare all favorites

๐Ÿ“… Meeting Time Conversion

gtime meeting at "10:00 AM"            # Convert across favorites
gtime meeting at "15:30"               # 24-hour format supported
gtime meeting at "3 PM UTC"            # Shows "Coordinated Universal Time (UTC)"
gtime meeting at "9:00 AM EST"         # Shows "Eastern Standard Time (EST)"

๐Ÿ‘€ Live Watch Mode

gtime watch                             # Monitor all favorites
gtime watch London Tokyo                # Watch specific cities

๐ŸŒ Timezone Support

When you specify a timezone, gtime shows the full timezone name for clarity:

gtime meeting at "10:00 AM JST"         # Shows: "Japan Standard Time (JST)"
gtime meeting at "3 PM UTC"             # Shows: "Coordinated Universal Time (UTC)"
gtime meeting at "2:00 PM EST"          # Shows: "Eastern Standard Time (EST)"

๐Ÿ“š Usage Examples

Basic Usage

# Simple city lookup
gtime Paris
gtime "San Francisco"
gtime mumbai                    # Case insensitive

# With fuzzy matching
gtime pairs                     # Finds Paris
gtime newyork                   # Finds New York

Managing Favorites

# Build your favorite cities list
gtime add London Tokyo "San Francisco" Berlin
gtime add Mumbai                # Add one more
gtime list                      # See your collection

# Remove cities you no longer need
gtime remove Berlin
gtime clear                     # Start fresh

Advanced Features

# Compare multiple cities
gtime compare London Tokyo Sydney Mumbai

# Perfect for planning meetings
gtime meeting at "9:00 AM"      # What time is 9 AM across favorites?
gtime meeting at "14:30"        # 24-hour format supported
gtime meeting at "3 PM UTC"     # Timezone support for global teams

# Real-time monitoring
gtime watch                     # Live updates every second

๐Ÿ› ๏ธ Development

Using uv (recommended)

uv venv
source .venv/bin/activate
uv sync --extra dev

# Optional: update lockfile
uv lock

# Run tests
uv run pytest

Running Tests

uv run pytest tests/

# Run performance tests
uv run python tests/perf/profile_lookup.py

Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Run tests: pytest
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

๐Ÿš€ GitHub Actions

This project includes automated workflows:

  • ๐Ÿงช Tests: Runs on every push/PR across Python 3.8-3.12
  • ๐Ÿ“ฆ Publish: Automatically publishes to PyPI upon new GitHub release

๐Ÿค Support

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐ŸŒŸ Show Your Support

If gtime makes your life easier, please consider:

  • โญ Starring this repository
  • ๐Ÿฆ Sharing it on social media
  • ๐Ÿ“ Writing a review
  • ๐Ÿค Contributing to the project

Made with โค๏ธ for developers working across time zones


Happy time zone management! ๐ŸŒ

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

gtime-0.4.0.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

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

gtime-0.4.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file gtime-0.4.0.tar.gz.

File metadata

  • Download URL: gtime-0.4.0.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gtime-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1a498f4739210a3e046d0dba4d234297119ad0ea4988501852d9f9bd8323e280
MD5 6964579fa3ea15a410db66b6d0c01b61
BLAKE2b-256 3955861ee06311e8a53b74342891b8511d074121aa44369d12ac07ef28862cef

See more details on using hashes here.

Provenance

The following attestation bundles were made for gtime-0.4.0.tar.gz:

Publisher: test.yml on savitojs/gtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gtime-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: gtime-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gtime-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a9ddbc17350f4fcb4530b50457d64123cf5d570e14b8c3107f1928fdd8359ffa
MD5 0e83fc64bd64f2a20c41181b112b82e0
BLAKE2b-256 b105bfd0b91da55bcc71061fe97acbab7d67d1e6b5bef6cc0d77d16315e9a8bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gtime-0.4.0-py3-none-any.whl:

Publisher: test.yml on savitojs/gtime

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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