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.5.0.tar.gz (32.5 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.5.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gtime-0.5.0.tar.gz
Algorithm Hash digest
SHA256 be8318fe7674e888ff45100d34725464b329ecfc78b6d47607cb0e06ed397c36
MD5 0ca0ff8135a653405c2d58961f9dcc23
BLAKE2b-256 0b33423d32c3cf76a11196817810ded0c13b618222d012a164a13f80f986368c

See more details on using hashes here.

Provenance

The following attestation bundles were made for gtime-0.5.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.5.0-py3-none-any.whl.

File metadata

  • Download URL: gtime-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 25.3 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6303e81196fea436e56f992226c108aa52a90dce3bb7dabcf794fa0cbe492925
MD5 920cbd93d634a5c77ca96c79c583c3f6
BLAKE2b-256 941976cb9ac753f514dcaf57b209556d0f26814e8252e724191a11e6b1fe2d84

See more details on using hashes here.

Provenance

The following attestation bundles were made for gtime-0.5.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