A simple and robust Python application that displays current time and date information across multiple timezones, featuring a license management system and modern UI. โก
- โฐ Real-time display of local time and date
- ๐ EST timezone display (licensed version)
- ๐จ Modern, responsive UI using CustomTkinter
- โ๏ธ Configurable time and date formats
- โณ 30-day trial period with remaining days display
- ๐ Secure machine-specific license activation
- ๐ Multiple license states (Trial, Licensed, Expired, Invalid)
- ๐ก๏ธ Graceful error handling and user feedback
- ๐ฏ Clean and intuitive interface
- ๐ฑ Auto-adjusting window size
โ ๏ธ Error message display with auto-dismiss- ๐ Status indicators for license state
- โก Responsive time updates
- ๐ Python 3.8 or higher
- ๐ป Operating System: Windows, macOS, or Linux
-
Clone the repository:
git clone https://github.com/yourusername/multi-timezone-clock.git cd multi-timezone-clock
-
Create and activate a virtual environment (recommended):
# Windows python -m venv venv .\venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install required dependencies:
pip install -r requirements.txt
-
Set up environment variables (for license testing):
# Create .env file echo "LICENSE_KEY=DEMO-123-456-789" > .env
python src/main.py
-
๐ Trial Version
- ๐ Automatically starts with a 30-day trial
- ๐ Displays local time only
- โณ Shows remaining trial days
- ๐ Includes license activation option
-
โ Licensed Version
- ๐ Displays both local and EST time
- ๐ Machine-specific license validation
- โญ Permanent access to all features
-
โ Expired/Invalid
- ๐ซ Clear notification of license status
- ๐ Option to activate valid license
- ๐ก๏ธ Graceful degradation of functionality
-
During trial period:
- ๐ฑ๏ธ Click the "Activate License" button
- โจ๏ธ Enter your license key
- โ System will validate and activate if valid
-
After expiration:
- ๐ Use the activation interface on the expired notice
- ๐ Enter a valid license key to restore functionality
multi-timezone-clock/
โโโ src/
โ โโโ main.py # Application entry point
โ โโโ ui/
โ โ โโโ app.py # Main application window
โ โ โโโ clock_display.py # Clock display components
โ โโโ utils/
โ โโโ license_manager.py # License management
โโโ requirements.txt # Project dependencies
โโโ .env # Environment variables (create this)
โโโ README.md # Project documentation
- ๐ฅ๏ธ
App
: Main application window and UI management - โฐ
ClockDisplay
: Handles time display and timezone logic - ๐ฏ
TimeFrame
: Individual time display component - ๐
LicenseManager
: License validation and trial management
The application includes comprehensive error handling:
- ๐ก๏ธ Graceful degradation on errors
- ๐ฌ User-friendly error messages
- ๐ Logging of technical errors
- ๐ Automatic recovery where possible
For testing the license system, use:
- ๐ Demo Key:
DEMO-123-456-789
- ๐ Test different states by modifying the trial start date in
license_data.json
- ๐ Fork the repository
- ๐ฟ Create a feature branch
- โ๏ธ Commit your changes
- ๐ Push to the branch
- ๐ฌ Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- ๐จ CustomTkinter for the modern UI components
- โฐ Python datetime and pytz for timezone management