# GTimes - High-Precision GPS Time Processing Library
[](https://badge.fury.io/py/gtimes)
[](https://pypi.org/project/gtimes/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/bennigo/gtimes/actions/workflows/ci.yml)
[](https://github.com/bennigo/gtimes/actions/workflows/quality-checks.yml)
[](https://codecov.io/gh/bennigo/gtimes)
[](https://bennigo.github.io/gtimes)
**GTimes** is a high-precision GPS time conversion and processing library designed for GNSS applications, geodetic research, and scientific computing. It provides microsecond-accurate conversions between GPS time and UTC, handles leap seconds correctly, and offers comprehensive tools for time-related calculations in GPS data processing workflows.
## 🚀 Key Features
- **High-Precision GPS Time Conversions**: Microsecond-accurate GPS ↔ UTC conversions
- **Leap Second Management**: Automatic handling of leap seconds with up-to-date leap second data
- **RINEX Processing Support**: Time formatting and file organization for RINEX workflows
- **GAMIT/GLOBK Integration**: Fractional year conversions for GAMIT time series analysis
- **Command-Line Interface**: Powerful `timecalc` tool for shell scripting and automation
- **Scientific Validation**: Comprehensive testing against known GPS time standards
- **Cross-Platform**: Works on Linux, Windows, and macOS with Python 3.8+
## 📦 Installation
### From PyPI (Recommended)
```bash
pip install gtimes
```
### Development Installation
```bash
git clone https://github.com/bennigo/gtimes.git
cd gtimes
pip install -e .[dev]
```
### With Documentation
```bash
pip install gtimes[docs]
mkdocs serve # View documentation locally
```
## 🏃 Quick Start
### Basic GPS Time Conversions
```python
from gtimes.gpstime import gpsFromUTC, UTCFromGps
import datetime
# Convert current time to GPS
now = datetime.datetime.utcnow()
gps_week, sow, gps_day, sod = gpsFromUTC(
now.year, now.month, now.day,
now.hour, now.minute, now.second
)
print(f"Current GPS time: Week {gps_week}, SOW {sow:.3f}")
# Convert GPS time back to UTC
utc_datetime = UTCFromGps(gps_week, sow, dtimeObj=True)
print(f"Back to UTC: {utc_datetime}")
```
### GAMIT Fractional Year Processing
```python
from gtimes.timefunc import TimefromYearf, dTimetoYearf
import datetime
# Convert GAMIT fractional year to datetime
gamit_time = 2024.0411 # ~Feb 15, 2024
dt = TimefromYearf(gamit_time)
print(f"GAMIT {gamit_time:.4f} = {dt.strftime('%Y-%m-%d %H:%M:%S')}")
# Convert datetime to fractional year
date = datetime.datetime(2024, 6, 15, 12, 0, 0)
yearf = dTimetoYearf(date)
print(f"{date} = {yearf:.6f}")
```
### Command-Line Usage
```bash
# Get GPS week and day for today
timecalc -wd
# GPS time for specific date
timecalc -wd -d "2024-01-15"
# Generate RINEX filenames
timecalc -l "REYK%j0.%yO" "7D" -d "2024-01-15"
# Get fractional year for GAMIT
timecalc -yf -d "2024-06-15"
```
## 📊 Real-World Applications
### GPS Network Processing
```python
from gtimes.gpstime import gpsFromUTC
from gtimes.timefunc import datepathlist
import datetime
# Process GPS station data
stations = ['REYK', 'HOFN', 'AKUR', 'VMEY']
start_date = datetime.datetime(2024, 1, 15)
for station in stations:
# Generate RINEX observation files
obs_files = datepathlist(f"{station}%j0.%yO", "7D", start_date,
start_date + datetime.timedelta(days=7))
print(f"{station} files: {len(obs_files)} files")
for obs_file in obs_files[:3]: # Show first 3
print(f" {obs_file}")
```
### RINEX File Organization
```python
from gtimes.timefunc import datepathlist
import datetime
# Create processing directory structure
start = datetime.datetime(2024, 1, 1)
end = datetime.datetime(2024, 2, 1)
# Daily processing directories
daily_dirs = datepathlist("/gps_proc/%Y/%j/", "1D", start, end)
print("Daily processing directories:")
for directory in daily_dirs[:5]:
print(f" {directory}")
# Weekly GPS processing
weekly_dirs = datepathlist("/gps_proc/week_%U/", "7D", start, end)
print("Weekly processing directories:")
for directory in weekly_dirs:
print(f" {directory}")
```
## 🛠️ Advanced Usage
### High-Precision Time Series
```python
from gtimes.gpstime import gpsFromUTC, UTCFromGps
import datetime
# Process time series with microsecond precision
timestamps = [
datetime.datetime(2024, 1, 15, 12, 30, 45, 123456),
datetime.datetime(2024, 1, 15, 12, 30, 46, 234567),
datetime.datetime(2024, 1, 15, 12, 30, 47, 345678),
]
gps_times = []
for ts in timestamps:
# Convert with microsecond precision
week, sow, day, sod = gpsFromUTC(
ts.year, ts.month, ts.day, ts.hour, ts.minute,
ts.second + ts.microsecond / 1e6
)
gps_times.append((week, sow))
# Verify round-trip accuracy
utc_back = UTCFromGps(week, sow, dtimeObj=True)
diff = abs((utc_back - ts).total_seconds())
print(f"GPS: Week {week}, SOW {sow:.6f}, Round-trip error: {diff:.6f}s")
```
### Leap Second Analysis
```python
from gtimes.gpstime import getleapSecs, leapSecDict
import datetime
# Analyze leap second history
leap_dict = leapSecDict()
print(f"Total leap seconds in database: {len(leap_dict)}")
# Check leap seconds for different epochs
important_dates = [
("GPS Epoch", datetime.datetime(1980, 1, 6)),
("Y2K", datetime.datetime(2000, 1, 1)),
("Recent", datetime.datetime(2024, 1, 1)),
]
for label, date in important_dates:
gps_leap = getleapSecs(date, gpst=True)
utc_leap = getleapSecs(date, gpst=False)
print(f"{label}: GPS={gps_leap}, UTC={utc_leap} leap seconds")
```
## 🔧 Development
### Setting Up Development Environment
```bash
# Clone repository
git clone https://github.com/bennigo/gtimes.git
cd gtimes
# Install development dependencies
pip install -e .[dev,test,docs,quality]
# Run tests
pytest tests/ -v
# Run quality checks
ruff check src/ tests/
mypy src/gtimes/
# Build documentation
mkdocs build
mkdocs serve
```
### Running Benchmarks
```bash
# Performance benchmarks
pytest tests/benchmark/ --benchmark-only
# Scientific validation
python tests/validate_leap_seconds.py
# Documentation link checking
python tests/check_docs_links.py
```
## 📚 Documentation
- **[Full Documentation](https://bennigo.github.io/gtimes)**: Complete API reference and tutorials
- **[Installation Guide](https://bennigo.github.io/gtimes/guides/installation/)**: Detailed installation instructions
- **[Quick Start Tutorial](https://bennigo.github.io/gtimes/guides/quickstart/)**: Get started quickly
- **[API Reference](https://bennigo.github.io/gtimes/api/)**: Complete function documentation
- **[Examples](https://bennigo.github.io/gtimes/examples/)**: Real-world usage examples
- **[Contributing Guide](https://bennigo.github.io/gtimes/development/contributing/)**: How to contribute
## 🧪 Testing & Quality
GTimes maintains high standards for accuracy and reliability:
- **✅ Comprehensive Test Suite**: 200+ tests covering all functionality
- **✅ Scientific Validation**: GPS time accuracy verified against known standards
- **✅ Multi-Platform Testing**: Linux, Windows, macOS compatibility
- **✅ Performance Benchmarks**: >1000 GPS conversions/second
- **✅ Code Quality**: 90%+ test coverage, strict linting, type checking
- **✅ Documentation**: Complete API documentation with examples
### Accuracy Guarantees
- **Microsecond Precision**: GPS ↔ UTC conversions accurate to microseconds
- **Leap Second Handling**: Up-to-date leap second data (18 leap seconds as of 2024)
- **GPS Epoch Compliance**: Correct handling of GPS epoch (January 6, 1980)
- **Round-Trip Accuracy**: UTC → GPS → UTC conversions within 1μs
## 🌍 Applications
GTimes is used in various scientific and engineering applications:
- **GNSS Data Processing**: RINEX file processing and GPS network analysis
- **Geodetic Research**: Coordinate time series and plate motion studies
- **Seismology**: GPS station monitoring and earthquake research
- **Meteorology**: GPS meteorology and atmospheric studies
- **Surveying**: High-precision positioning and coordinate systems
- **Satellite Navigation**: GPS receiver testing and algorithm development
## 🏢 Institutional Use
GTimes is developed and maintained by researchers at:
- **Veðurstofan Íslands** (Icelandic Met Office): Operational GPS network monitoring
- **GPS Research Community**: GAMIT/GLOBK processing workflows
- **Scientific Institutions**: Geodetic research and GNSS applications
## 🤝 Contributing
We welcome contributions! Please see our [Contributing Guide](https://bennigo.github.io/gtimes/development/contributing/) for details.
### Quick Contribution Steps
```bash
# Fork the repository on GitHub
git clone https://github.com/your-username/gtimes.git
cd gtimes
# Install development environment
pip install -e .[dev,test]
# Make changes and test
pytest tests/ -v
ruff check src/ tests/
# Submit pull request
```
## 📄 License
GTimes is released under the [MIT License](LICENSE). See LICENSE file for details.
## 🙏 Acknowledgments
- **IGS Community**: For GPS time standards and RINEX specifications
- **GAMIT/GLOBK Team**: For fractional year time representations
- **Scientific Python Community**: For the excellent ecosystem
- **Veðurstofan Íslands**: For supporting open-source GPS research tools
## 📞 Support & Contact
- **📖 Documentation**: [https://bennigo.github.io/gtimes](https://bennigo.github.io/gtimes)
- **🐛 Bug Reports**: [GitHub Issues](https://github.com/bennigo/gtimes/issues)
- **💬 Discussions**: [GitHub Discussions](https://github.com/bennigo/gtimes/discussions)
- **📧 Email**: [bgo@vedur.is](mailto:bgo@vedur.is)
---
**GTimes** - Precision GPS time processing for scientific applications 🛰️⏰🔬
Raw data
{
"_id": null,
"home_page": null,
"name": "gtimes",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Benedikt Gunnar \u00d3feigsson <bgo@vedur.is>",
"keywords": "conversion, coordinate-systems, gamit, geodesy, geophysics, globk, gnss, gps, leap-seconds, positioning, rinex, satellite-navigation, surveying, time",
"author": null,
"author_email": "Benedikt Gunnar \u00d3feigsson <bgo@vedur.is>, Maria Fernanda Gonzalez <mariagr@vedur.is>",
"download_url": "https://files.pythonhosted.org/packages/0b/a1/eeeabf537c30b62b9dba1e56a571a1abd91e290ddb90574906827d5b7d2c/gtimes-0.4.1.tar.gz",
"platform": null,
"description": "# GTimes - High-Precision GPS Time Processing Library\n\n[](https://badge.fury.io/py/gtimes)\n[](https://pypi.org/project/gtimes/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/bennigo/gtimes/actions/workflows/ci.yml)\n[](https://github.com/bennigo/gtimes/actions/workflows/quality-checks.yml)\n[](https://codecov.io/gh/bennigo/gtimes)\n[](https://bennigo.github.io/gtimes)\n\n**GTimes** is a high-precision GPS time conversion and processing library designed for GNSS applications, geodetic research, and scientific computing. It provides microsecond-accurate conversions between GPS time and UTC, handles leap seconds correctly, and offers comprehensive tools for time-related calculations in GPS data processing workflows.\n\n## \ud83d\ude80 Key Features\n\n- **High-Precision GPS Time Conversions**: Microsecond-accurate GPS \u2194 UTC conversions\n- **Leap Second Management**: Automatic handling of leap seconds with up-to-date leap second data\n- **RINEX Processing Support**: Time formatting and file organization for RINEX workflows\n- **GAMIT/GLOBK Integration**: Fractional year conversions for GAMIT time series analysis\n- **Command-Line Interface**: Powerful `timecalc` tool for shell scripting and automation\n- **Scientific Validation**: Comprehensive testing against known GPS time standards\n- **Cross-Platform**: Works on Linux, Windows, and macOS with Python 3.8+\n\n## \ud83d\udce6 Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install gtimes\n```\n\n### Development Installation\n\n```bash\ngit clone https://github.com/bennigo/gtimes.git\ncd gtimes\npip install -e .[dev]\n```\n\n### With Documentation\n\n```bash\npip install gtimes[docs]\nmkdocs serve # View documentation locally\n```\n\n## \ud83c\udfc3 Quick Start\n\n### Basic GPS Time Conversions\n\n```python\nfrom gtimes.gpstime import gpsFromUTC, UTCFromGps\nimport datetime\n\n# Convert current time to GPS\nnow = datetime.datetime.utcnow()\ngps_week, sow, gps_day, sod = gpsFromUTC(\n now.year, now.month, now.day,\n now.hour, now.minute, now.second\n)\n\nprint(f\"Current GPS time: Week {gps_week}, SOW {sow:.3f}\")\n\n# Convert GPS time back to UTC\nutc_datetime = UTCFromGps(gps_week, sow, dtimeObj=True)\nprint(f\"Back to UTC: {utc_datetime}\")\n```\n\n### GAMIT Fractional Year Processing\n\n```python\nfrom gtimes.timefunc import TimefromYearf, dTimetoYearf\nimport datetime\n\n# Convert GAMIT fractional year to datetime\ngamit_time = 2024.0411 # ~Feb 15, 2024\ndt = TimefromYearf(gamit_time)\nprint(f\"GAMIT {gamit_time:.4f} = {dt.strftime('%Y-%m-%d %H:%M:%S')}\")\n\n# Convert datetime to fractional year\ndate = datetime.datetime(2024, 6, 15, 12, 0, 0)\nyearf = dTimetoYearf(date)\nprint(f\"{date} = {yearf:.6f}\")\n```\n\n### Command-Line Usage\n\n```bash\n# Get GPS week and day for today\ntimecalc -wd\n\n# GPS time for specific date\ntimecalc -wd -d \"2024-01-15\"\n\n# Generate RINEX filenames\ntimecalc -l \"REYK%j0.%yO\" \"7D\" -d \"2024-01-15\"\n\n# Get fractional year for GAMIT\ntimecalc -yf -d \"2024-06-15\"\n```\n\n## \ud83d\udcca Real-World Applications\n\n### GPS Network Processing\n\n```python\nfrom gtimes.gpstime import gpsFromUTC\nfrom gtimes.timefunc import datepathlist\nimport datetime\n\n# Process GPS station data\nstations = ['REYK', 'HOFN', 'AKUR', 'VMEY']\nstart_date = datetime.datetime(2024, 1, 15)\n\nfor station in stations:\n # Generate RINEX observation files\n obs_files = datepathlist(f\"{station}%j0.%yO\", \"7D\", start_date, \n start_date + datetime.timedelta(days=7))\n \n print(f\"{station} files: {len(obs_files)} files\")\n for obs_file in obs_files[:3]: # Show first 3\n print(f\" {obs_file}\")\n```\n\n### RINEX File Organization\n\n```python\nfrom gtimes.timefunc import datepathlist\nimport datetime\n\n# Create processing directory structure\nstart = datetime.datetime(2024, 1, 1)\nend = datetime.datetime(2024, 2, 1)\n\n# Daily processing directories\ndaily_dirs = datepathlist(\"/gps_proc/%Y/%j/\", \"1D\", start, end)\nprint(\"Daily processing directories:\")\nfor directory in daily_dirs[:5]:\n print(f\" {directory}\")\n\n# Weekly GPS processing\nweekly_dirs = datepathlist(\"/gps_proc/week_%U/\", \"7D\", start, end)\nprint(\"Weekly processing directories:\")\nfor directory in weekly_dirs:\n print(f\" {directory}\")\n```\n\n## \ud83d\udee0\ufe0f Advanced Usage\n\n### High-Precision Time Series\n\n```python\nfrom gtimes.gpstime import gpsFromUTC, UTCFromGps\nimport datetime\n\n# Process time series with microsecond precision\ntimestamps = [\n datetime.datetime(2024, 1, 15, 12, 30, 45, 123456),\n datetime.datetime(2024, 1, 15, 12, 30, 46, 234567),\n datetime.datetime(2024, 1, 15, 12, 30, 47, 345678),\n]\n\ngps_times = []\nfor ts in timestamps:\n # Convert with microsecond precision\n week, sow, day, sod = gpsFromUTC(\n ts.year, ts.month, ts.day, ts.hour, ts.minute,\n ts.second + ts.microsecond / 1e6\n )\n gps_times.append((week, sow))\n \n # Verify round-trip accuracy\n utc_back = UTCFromGps(week, sow, dtimeObj=True)\n diff = abs((utc_back - ts).total_seconds())\n print(f\"GPS: Week {week}, SOW {sow:.6f}, Round-trip error: {diff:.6f}s\")\n```\n\n### Leap Second Analysis\n\n```python\nfrom gtimes.gpstime import getleapSecs, leapSecDict\nimport datetime\n\n# Analyze leap second history\nleap_dict = leapSecDict()\nprint(f\"Total leap seconds in database: {len(leap_dict)}\")\n\n# Check leap seconds for different epochs\nimportant_dates = [\n (\"GPS Epoch\", datetime.datetime(1980, 1, 6)),\n (\"Y2K\", datetime.datetime(2000, 1, 1)),\n (\"Recent\", datetime.datetime(2024, 1, 1)),\n]\n\nfor label, date in important_dates:\n gps_leap = getleapSecs(date, gpst=True)\n utc_leap = getleapSecs(date, gpst=False)\n print(f\"{label}: GPS={gps_leap}, UTC={utc_leap} leap seconds\")\n```\n\n## \ud83d\udd27 Development\n\n### Setting Up Development Environment\n\n```bash\n# Clone repository\ngit clone https://github.com/bennigo/gtimes.git\ncd gtimes\n\n# Install development dependencies\npip install -e .[dev,test,docs,quality]\n\n# Run tests\npytest tests/ -v\n\n# Run quality checks\nruff check src/ tests/\nmypy src/gtimes/\n\n# Build documentation\nmkdocs build\nmkdocs serve\n```\n\n### Running Benchmarks\n\n```bash\n# Performance benchmarks\npytest tests/benchmark/ --benchmark-only\n\n# Scientific validation\npython tests/validate_leap_seconds.py\n\n# Documentation link checking\npython tests/check_docs_links.py\n```\n\n## \ud83d\udcda Documentation\n\n- **[Full Documentation](https://bennigo.github.io/gtimes)**: Complete API reference and tutorials\n- **[Installation Guide](https://bennigo.github.io/gtimes/guides/installation/)**: Detailed installation instructions\n- **[Quick Start Tutorial](https://bennigo.github.io/gtimes/guides/quickstart/)**: Get started quickly\n- **[API Reference](https://bennigo.github.io/gtimes/api/)**: Complete function documentation\n- **[Examples](https://bennigo.github.io/gtimes/examples/)**: Real-world usage examples\n- **[Contributing Guide](https://bennigo.github.io/gtimes/development/contributing/)**: How to contribute\n\n## \ud83e\uddea Testing & Quality\n\nGTimes maintains high standards for accuracy and reliability:\n\n- **\u2705 Comprehensive Test Suite**: 200+ tests covering all functionality\n- **\u2705 Scientific Validation**: GPS time accuracy verified against known standards\n- **\u2705 Multi-Platform Testing**: Linux, Windows, macOS compatibility\n- **\u2705 Performance Benchmarks**: >1000 GPS conversions/second\n- **\u2705 Code Quality**: 90%+ test coverage, strict linting, type checking\n- **\u2705 Documentation**: Complete API documentation with examples\n\n### Accuracy Guarantees\n\n- **Microsecond Precision**: GPS \u2194 UTC conversions accurate to microseconds\n- **Leap Second Handling**: Up-to-date leap second data (18 leap seconds as of 2024)\n- **GPS Epoch Compliance**: Correct handling of GPS epoch (January 6, 1980)\n- **Round-Trip Accuracy**: UTC \u2192 GPS \u2192 UTC conversions within 1\u03bcs\n\n## \ud83c\udf0d Applications\n\nGTimes is used in various scientific and engineering applications:\n\n- **GNSS Data Processing**: RINEX file processing and GPS network analysis\n- **Geodetic Research**: Coordinate time series and plate motion studies \n- **Seismology**: GPS station monitoring and earthquake research\n- **Meteorology**: GPS meteorology and atmospheric studies\n- **Surveying**: High-precision positioning and coordinate systems\n- **Satellite Navigation**: GPS receiver testing and algorithm development\n\n## \ud83c\udfe2 Institutional Use\n\nGTimes is developed and maintained by researchers at:\n\n- **Ve\u00f0urstofan \u00cdslands** (Icelandic Met Office): Operational GPS network monitoring\n- **GPS Research Community**: GAMIT/GLOBK processing workflows\n- **Scientific Institutions**: Geodetic research and GNSS applications\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://bennigo.github.io/gtimes/development/contributing/) for details.\n\n### Quick Contribution Steps\n\n```bash\n# Fork the repository on GitHub\ngit clone https://github.com/your-username/gtimes.git\ncd gtimes\n\n# Install development environment\npip install -e .[dev,test]\n\n# Make changes and test\npytest tests/ -v\nruff check src/ tests/\n\n# Submit pull request\n```\n\n## \ud83d\udcc4 License\n\nGTimes is released under the [MIT License](LICENSE). See LICENSE file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- **IGS Community**: For GPS time standards and RINEX specifications\n- **GAMIT/GLOBK Team**: For fractional year time representations\n- **Scientific Python Community**: For the excellent ecosystem\n- **Ve\u00f0urstofan \u00cdslands**: For supporting open-source GPS research tools\n\n## \ud83d\udcde Support & Contact\n\n- **\ud83d\udcd6 Documentation**: [https://bennigo.github.io/gtimes](https://bennigo.github.io/gtimes)\n- **\ud83d\udc1b Bug Reports**: [GitHub Issues](https://github.com/bennigo/gtimes/issues)\n- **\ud83d\udcac Discussions**: [GitHub Discussions](https://github.com/bennigo/gtimes/discussions)\n- **\ud83d\udce7 Email**: [bgo@vedur.is](mailto:bgo@vedur.is)\n\n---\n\n**GTimes** - Precision GPS time processing for scientific applications \ud83d\udef0\ufe0f\u23f0\ud83d\udd2c\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "High-precision GPS time conversion and processing library for GNSS applications",
"version": "0.4.1",
"project_urls": {
"Bug Tracker": "https://github.com/bennigo/gtimes/issues",
"CI/CD": "https://github.com/bennigo/gtimes/actions",
"Changelog": "https://github.com/bennigo/gtimes/blob/main/CHANGELOG.md",
"Coverage": "https://codecov.io/gh/bennigo/gtimes",
"Documentation": "https://bennigo.github.io/gtimes",
"Homepage": "https://github.com/bennigo/gtimes",
"Issues": "https://github.com/bennigo/gtimes/issues",
"Repository": "https://github.com/bennigo/gtimes",
"Source Code": "https://github.com/bennigo/gtimes"
},
"split_keywords": [
"conversion",
" coordinate-systems",
" gamit",
" geodesy",
" geophysics",
" globk",
" gnss",
" gps",
" leap-seconds",
" positioning",
" rinex",
" satellite-navigation",
" surveying",
" time"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "945e7c4bcd6b0850858570a4551f7b954ab744ed47a3952ab3d1002f7844470f",
"md5": "924d5bd9408dcce0750464fc54983bb1",
"sha256": "324d5dbb79bd20d542f89c8e60feedbc1dc08765c7a536910fc1c48d784f0a5c"
},
"downloads": -1,
"filename": "gtimes-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "924d5bd9408dcce0750464fc54983bb1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 27930,
"upload_time": "2025-09-03T08:21:20",
"upload_time_iso_8601": "2025-09-03T08:21:20.482297Z",
"url": "https://files.pythonhosted.org/packages/94/5e/7c4bcd6b0850858570a4551f7b954ab744ed47a3952ab3d1002f7844470f/gtimes-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0ba1eeeabf537c30b62b9dba1e56a571a1abd91e290ddb90574906827d5b7d2c",
"md5": "e3a7d04ba8856d839835236ce4a1b165",
"sha256": "7848d5fa2e6c60f2e443cc54a82556c7ecdb87210047658b76e6e48e1cb6867f"
},
"downloads": -1,
"filename": "gtimes-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "e3a7d04ba8856d839835236ce4a1b165",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 160659,
"upload_time": "2025-09-03T08:21:23",
"upload_time_iso_8601": "2025-09-03T08:21:23.378878Z",
"url": "https://files.pythonhosted.org/packages/0b/a1/eeeabf537c30b62b9dba1e56a571a1abd91e290ddb90574906827d5b7d2c/gtimes-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 08:21:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bennigo",
"github_project": "gtimes",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gtimes"
}