--- id: ciso8601 version: "2.3.3" license: MIT license_treatment: permissive maintenance: active --- # ciso8601 — Fast ISO8601 date time parser for Python written in C License: permissive · Maintenance: active · Downloads: 11.8M/mo ## What it is and what it does ciso8601 is a C extension that converts ISO 8601 and RFC 3339 date-time strings into Python datetime objects. It is designed as a high-performance alternative to pure-Python parsers, with no runtime dependencies beyond Python itself. The library parses a subset of ISO 8601 that covers the most common use cases—basic and extended formats with optional time zone information—and returns either a timezone-aware or naive datetime depending on the input. The package offers strict error handling: parse_datetime() either returns a valid datetime or raises ValueError with a description of why the string doesn't conform to the supported subset. It is tested across Python 2.7 and 3.4–3.14, though the C extension requires pre-built wheels or a compiler at install time. The documentation notes that since Python 3.11, the built-in datetime module has improved significantly, and ciso8601 may not be necessary for all use cases. Use it for: - Parse timestamps in high-throughput APIs or data pipelines where nanosecond-scale performance gains matter. - Deserialize ISO 8601 timestamps from JSON or other structured data formats in performance-critical applications. - Handle RFC 3339 timestamps from web services or logs when speed is a requirement. - Replace slower pure-Python date parsers in existing codebases without changing the calling interface. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses ISO 8601 and RFC 3339 date-time strings into Python datetime objects using a C implementation optimized for speed. Yes, if you parse ISO 8601 or RFC 3339 strings in a performance-sensitive context and can tolerate the C extension dependency. The compiled wheels cover common platforms, and the library is actively maintained. However, if you're on Python 3.11+ and performance is not critical, the built-in datetime module may be sufficient and simpler. No known security vulnerabilities. ## Install pip install ciso8601 uv add ciso8601 poetry add ciso8601 ## Installing ciso8601 Before you install: Medium install friction due to compiled C extension requiring platform-specific wheels. Wheels are available for common platforms (macOS, Linux, Windows) across Python 3.10–3.12, but installation may require a C compiler on unsupported architectures. Maintenance is active with recent releases. License in practice: MIT license is permissive and places no restrictions on use, modification, or distribution in proprietary or open-source projects. Quickstart: pip install ciso8601 import ciso8601 dt = ciso8601.parse_datetime('2014-12-05T12:30:45.123456-05:30') print(dt) # datetime.datetime(2014, 12, 5, 12, 30, 45, 123456, tzinfo=...) Requires a C compiler or pre-built wheel for your platform; some architectures may not have wheels available. Verify before relying: - Whether backports.datetime_fromisoformat or the built-in datetime module in Python 3.11+ are sufficient for your use case instead. - Exact performance gains in your specific workload; benchmarks show nanosecond-scale differences that may not matter outside tight loops. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: medium - Maintenance: active - Downloads: 11.8M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags iso 8601 date parser, rfc 3339 datetime parsing, fast date string to datetime, c extension datetime parser, iso datetime converter, datetime-parsing, performance-critical [View on SkillFed](https://skillfed.io/packages/ciso8601) · [View on PyPI](https://pypi.org/project/ciso8601/)