metomi-isodatetime
Python ISO 8601 date time parser and data model/manipulation utilities
What it is and what it does
metomi-isodatetime is a full-specification ISO 8601 (2004) parser and data model library for Python. It provides parsers for dates, times, durations, and recurrence patterns, plus utilities to dump and format them. The package is designed to work similarly to Python's built-in datetime module but with complete ISO 8601 support, including extended year formats, week-based dates, ordinal dates, decimal fractions, and timezone offsets.
The library has no runtime dependencies and supports Python 3.7 through 3.11. It exposes both a Python API for programmatic use and a command-line interface for quick parsing and manipulation tasks. It is actively maintained, with recent commits and a stable production classification.
Use it for:
- Parse ISO 8601 date-time strings from APIs, logs, or data files into Python objects for manipulation.
- Calculate time intervals and apply durations to dates using ISO 8601 duration syntax (e.g., P1Y, PT3H).
- Generate recurring date sequences from ISO 8601 recurrence patterns (e.g., R/1999/P1Y).
- Format date-time objects back to ISO 8601 strings or custom formats using strftime-style templates.
- Work with extended year ranges (before year 0 or after year 9999) using expanded year syntax.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and manipulates ISO 8601 date-time strings according to the 2004 specification, providing a Python API similar to the standard datetime module for working with dates, times, durations, and recurrences.
Yes. This package is worth installing if you need to parse or work with ISO 8601 date-time strings in a standards-compliant way. It has zero runtime dependencies, is actively maintained, supports current Python versions, and carries no known security vulnerabilities. The LGPLv3 license is permissive for most use cases. Install it if your application receives or generates ISO 8601 formatted dates.
Install
metomi-isodatetime on PyPI
pip
pip install metomi-isodatetimeuv
uv add metomi-isodatetimepoetry
poetry add metomi-isodatetimeInstalling metomi-isodatetime
Before you install
Installs cleanly with no runtime dependencies. Actively maintained with recent commits and stable production status across Python 3.7–3.11.
License in practice
Licensed under LGPLv3 (copyleft). You may use and modify the package freely, but any derivative work must also be distributed under LGPLv3 or a compatible license.
Quickstart
pip install metomi-isodatetime
import metomi.isodatetime.parsers as parse
import metomi.isodatetime.dumpers as dump
date_time = parse.TimePointParser().parse('2000-01-01T00:00Z')
print(date_time.month_of_year) # 1
duration = parse.DurationParser().parse('P1YT3H')
print(date_time + duration) # <metomi.isodatetime.data.TimePoint: 2001-01-01T03:00:00Z>
Package facts
| License | LGPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 1,044 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,560/month — #14,429 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: metomi_isodatetime-1!3.1.0-py3-none-any.whl
Keywords: isodatetime, datetime, iso8601, date, time, parser
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
iso8601Parses ISO 8601 date strings (e.g.…
permissive · top 5,000 on PyPI
isodateParses and formats ISO 8601 date, time,…
permissive · top 1,000 on PyPI
aniso8601Parses ISO 8601 date, time, datetime, duration,…
permissive · top 5,000 on PyPI
isodurationParses and manipulates ISO 8601 duration…
permissive · top 1,000 on PyPI
DateTimeProvides a DateTime data type for working with…
unclear · top 5,000 on PyPI
isoweekProvides a Week class representing ISO 8601…
permissive · top 15,000 on PyPI
dateformatParses strings into datetime objects and…
permissive · top 15,000 on PyPI
timelibParses natural-language date and time…
permissive · top 15,000 on PyPI
iso-week-dateParses and manipulates ISO Week date strings in…
permissive · top 15,000 on PyPI
pytimeparse2Parses human-readable time expressions (like…
permissive · top 5,000 on PyPI