Name | ciso8601 JSON |
Version |
2.3.3
JSON |
| download |
home_page | https://github.com/closeio/ciso8601 |
Summary | Fast ISO8601 date time parser for Python written in C |
upload_time | 2025-08-20 16:31:33 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | MIT |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
========
ciso8601
========
.. image:: https://img.shields.io/circleci/project/github/closeio/ciso8601.svg
:target: https://circleci.com/gh/closeio/ciso8601/tree/master
.. image:: https://img.shields.io/pypi/v/ciso8601.svg
:target: https://pypi.org/project/ciso8601/
.. image:: https://img.shields.io/pypi/pyversions/ciso8601.svg
:target: https://pypi.org/project/ciso8601/
``ciso8601`` converts `ISO 8601`_ or `RFC 3339`_ date time strings into Python datetime objects.
Since it's written as a C module, it is much faster than other Python libraries.
Tested with cPython 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14.
.. _ISO 8601: https://en.wikipedia.org/wiki/ISO_8601
.. _RFC 3339: https://tools.ietf.org/html/rfc3339
(Interested in working on projects like this? `Close`_ is looking for `great engineers`_ to join our team)
.. _Close: https://close.com
.. _great engineers: https://jobs.close.com
.. contents:: Contents
Quick start
-----------
.. code:: bash
% pip install ciso8601
.. code:: python
In [1]: import ciso8601
In [2]: ciso8601.parse_datetime('2014-12-05T12:30:45.123456-05:30')
Out[2]: datetime.datetime(2014, 12, 5, 12, 30, 45, 123456, tzinfo=pytz.FixedOffset(330))
In [3]: ciso8601.parse_datetime('20141205T123045')
Out[3]: datetime.datetime(2014, 12, 5, 12, 30, 45)
Migration to v2
---------------
Version 2.0.0 of ``ciso8601`` changed the core implementation. This was not entirely backwards compatible, and care should be taken when migrating
See `CHANGELOG`_ for the Migration Guide.
.. _CHANGELOG: https://github.com/closeio/ciso8601/blob/master/CHANGELOG.md
When should I not use ``ciso8601``?
-----------------------------------
``ciso8601`` is not necessarily the best solution for every use case (especially since Python 3.11). See `Should I use ciso8601?`_
.. _`Should I use ciso8601?`: https://github.com/closeio/ciso8601/blob/master/why_ciso8601.md
Error handling
--------------
Starting in v2.0.0, ``ciso8601`` offers strong guarantees when it comes to parsing strings.
``parse_datetime(dt: String): datetime`` is a function that takes a string and either:
* Returns a properly parsed Python datetime, **if and only if** the **entire** string conforms to the supported subset of ISO 8601
* Raises a ``ValueError`` with a description of the reason why the string doesn't conform to the supported subset of ISO 8601
If time zone information is provided, an aware datetime object will be returned. Otherwise, a naive datetime is returned.
Benchmark
---------
Parsing a timestamp with no time zone information (e.g., ``2014-01-09T21:48:00``):
.. <include:benchmark_with_no_time_zone.rst>
.. table::
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
| Module |Python 3.14|Python 3.13|Python 3.12|Python 3.11|Relative slowdown (versus ciso8601, latest Python)|…|Python 3.10|Python 3.9|Python 3.8|
+================================+===========+===========+===========+===========+==================================================+=+===========+==========+==========+
|ciso8601 |26.4 nsec |23.4 nsec |24.5 nsec |25.4 nsec |N/A |…|35.9 nsec |35.6 nsec |37 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|backports.datetime_fromisoformat|N/A |N/A |N/A |N/A |0.8x |…|30.3 nsec |30.7 nsec |32 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|datetime (builtin) |51.5 nsec |48 nsec |54.8 nsec |53.9 nsec |2.0x |…|N/A |N/A |N/A |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|udatetime |269 nsec |277 nsec |277 nsec |280 nsec |10.2x |…|280 nsec |279 nsec |280 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|str2date |1.4 usec |1.42 usec |1.59 usec |1.59 usec |52.9x |…|1.62 usec |1.64 usec |1.76 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|pendulum |1.74 usec |65.2 nsec |64.8 nsec |64.7 nsec |65.8x |…|64.6 nsec |66.4 nsec |86.4 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|iso8601 |2.13 usec |2.2 usec |2.35 usec |2.1 usec |80.6x |…|2.3 usec |2.31 usec |2.47 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|iso8601utils |N/A |N/A |N/A |N/A |61.5x |…|N/A |2.19 usec |2.51 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|isodate |2.36 usec |2.52 usec |2.78 usec |2.18 usec |89.3x |…|2.41 usec |2.4 usec |2.49 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|PySO8601 |3.55 usec |3.79 usec |3.79 usec |3.11 usec |134.6x |…|3.94 usec |3.64 usec |6.79 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|aniso8601 |4.32 usec |4.74 usec |4.95 usec |4.37 usec |163.9x |…|5.53 usec |5.19 usec |5.72 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|zulu |4.71 usec |4.63 usec |5.12 usec |4.54 usec |178.7x |…|5.17 usec |4.93 usec |5.17 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|python-dateutil |10.3 usec |11.4 usec |12.6 usec |11.9 usec |390.4x |…|14.9 usec |15.3 usec |15.8 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|arrow |13.3 usec |13.4 usec |14.7 usec |13.5 usec |503.5x |…|16.7 usec |16.2 usec |17.4 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|maya |13.7 usec |10.9 usec |14.7 usec |12.7 usec |520.0x |…|15.7 usec |14.5 usec |16 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|metomi-isodatetime |335 usec |345 usec |353 usec |359 usec |12687.0x |…|480 usec |468 usec |508 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|moment |487 usec |502 usec |525 usec |503 usec |18471.2x |…|563 usec |559 usec |576 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
ciso8601 takes 26.4 nsec, which is **2.0x faster than datetime (builtin)**, the next fastest Python 3.14 parser in this comparison.
.. </include:benchmark_with_no_time_zone.rst>
Parsing a timestamp with time zone information (e.g., ``2014-01-09T21:48:00-05:30``):
.. <include:benchmark_with_time_zone.rst>
.. table::
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
| Module |Python 3.14|Python 3.13|Python 3.12|Python 3.11|Relative slowdown (versus ciso8601, latest Python)|…|Python 3.10|Python 3.9|Python 3.8|
+================================+===========+===========+===========+===========+==================================================+=+===========+==========+==========+
|ciso8601 |30.7 nsec |27.8 nsec |27.9 nsec |29.3 nsec |N/A |…|39 nsec |39.4 nsec |40.2 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|backports.datetime_fromisoformat|N/A |N/A |N/A |N/A |1.2x |…|46.6 nsec |48.4 nsec |49.1 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|datetime (builtin) |81.6 nsec |72.7 nsec |77.8 nsec |68.8 nsec |2.7x |…|N/A |N/A |N/A |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|udatetime |344 nsec |321 nsec |334 nsec |332 nsec |11.2x |…|331 nsec |332 nsec |336 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|str2date |1.67 usec |1.73 usec |1.94 usec |1.77 usec |54.2x |…|1.96 usec |1.94 usec |2.08 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|pendulum |2.48 usec |104 nsec |104 nsec |104 nsec |80.7x |…|106 nsec |105 nsec |130 nsec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|iso8601 |3.04 usec |3.24 usec |3.42 usec |3.06 usec |98.7x |…|3.17 usec |3.18 usec |3.52 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|isodate |3.14 usec |3.16 usec |3.39 usec |2.88 usec |102.3x |…|3.1 usec |3.12 usec |3.26 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|iso8601utils |N/A |N/A |N/A |N/A |126.4x |…|N/A |4.98 usec |5.3 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|PySO8601 |5.11 usec |5.23 usec |5.67 usec |4.75 usec |166.3x |…|5.31 usec |5.23 usec |5.72 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|zulu |5.47 usec |5.66 usec |6.08 usec |5.26 usec |177.9x |…|5.85 usec |5.83 usec |5.96 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|aniso8601 |5.96 usec |6.42 usec |7.19 usec |6.18 usec |194.0x |…|7.56 usec |7.26 usec |7.91 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|python-dateutil |13.2 usec |14.6 usec |15.6 usec |15.9 usec |428.8x |…|19.7 usec |20 usec |20.6 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|arrow |15.6 usec |16.3 usec |19.5 usec |16.1 usec |507.7x |…|20 usec |19.3 usec |19.9 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|maya |15.8 usec |12 usec |14.4 usec |12.4 usec |512.7x |…|15 usec |14.7 usec |15.1 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|metomi-isodatetime |329 usec |346 usec |342 usec |335 usec |10692.8x |…|475 usec |482 usec |487 usec |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
|moment |❌ |❌ |❌ |❌ |2112732.4x |…|❌ |❌ |❌ |
+--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+
ciso8601 takes 30.7 nsec, which is **2.7x faster than datetime (builtin)**, the next fastest Python 3.14 parser in this comparison.
.. </include:benchmark_with_time_zone.rst>
.. <include:benchmark_module_versions.rst>
Tested on Linux 6.14.10-orbstack-00291-g1b252bd3edea using the following modules:
.. code:: python
aniso8601==10.0.1
arrow==1.3.0
backports.datetime_fromisoformat==2.0.3
ciso8601==2.3.2
iso8601==2.1.0
iso8601utils==0.1.2
isodate==0.7.2
maya==0.6.1
metomi-isodatetime==1!3.1.0
moment==0.12.1
pendulum==3.1.0 (on Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14), pendulum==3.0.0 (on Python 3.8)
PySO8601==0.2.0
python-dateutil==2.9.0.post0
str2date==0.905
udatetime==0.0.17
zulu==2.0.1
.. </include:benchmark_module_versions.rst>
For full benchmarking details (or to run the benchmark yourself), see `benchmarking/README.rst`_
.. _`benchmarking/README.rst`: https://github.com/closeio/ciso8601/blob/master/benchmarking/README.rst
Supported subset of ISO 8601
----------------------------
.. |datetime.fromisoformat| replace:: ``datetime.fromisoformat``
.. _datetime.fromisoformat: https://docs.python.org/3/library/datetime.html#datetime.datetime.fromisoformat
``ciso8601`` only supports a subset of ISO 8601, but supports a superset of what is supported by Python itself (|datetime.fromisoformat|_), and supports the entirety of the `RFC 3339`_ specification.
Date formats
^^^^^^^^^^^^
The following date formats are supported:
.. table::
:widths: auto
============================= ============== ==================
Format Example Supported
============================= ============== ==================
``YYYY-MM-DD`` (extended) ``2018-04-29`` ✅
``YYYY-MM`` (extended) ``2018-04`` ✅
``YYYYMMDD`` (basic) ``20180429`` ✅
``YYYY-Www-D`` (week date) ``2009-W01-1`` ✅
``YYYY-Www`` (week date) ``2009-W01`` ✅
``YYYYWwwD`` (week date) ``2009W011`` ✅
``YYYYWww`` (week date) ``2009W01`` ✅
``YYYY-DDD`` (ordinal date) ``1981-095`` ✅
``YYYYDDD`` (ordinal date) ``1981095`` ✅
============================= ============== ==================
Uncommon ISO 8601 date formats are not supported:
.. table::
:widths: auto
============================= ============== ==================
Format Example Supported
============================= ============== ==================
``--MM-DD`` (omitted year) ``--04-29`` ❌
``--MMDD`` (omitted year) ``--0429`` ❌
``±YYYYY-MM`` (>4 digit year) ``+10000-04`` ❌
``+YYYY-MM`` (leading +) ``+2018-04`` ❌
``-YYYY-MM`` (negative -) ``-2018-04`` ❌
============================= ============== ==================
Time formats
^^^^^^^^^^^^
Times are optional and are separated from the date by the letter ``T``.
Consistent with `RFC 3339`__, ``ciso8601`` also allows either a space character, or a lower-case ``t``, to be used instead of a ``T``.
__ https://stackoverflow.com/questions/522251/whats-the-difference-between-iso-8601-and-rfc-3339-date-formats
The following time formats are supported:
.. table::
:widths: auto
=================================== =================== ==============
Format Example Supported
=================================== =================== ==============
``hh`` ``11`` ✅
``hhmm`` ``1130`` ✅
``hh:mm`` ``11:30`` ✅
``hhmmss`` ``113059`` ✅
``hh:mm:ss`` ``11:30:59`` ✅
``hhmmss.ssssss`` ``113059.123456`` ✅
``hh:mm:ss.ssssss`` ``11:30:59.123456`` ✅
``hhmmss,ssssss`` ``113059,123456`` ✅
``hh:mm:ss,ssssss`` ``11:30:59,123456`` ✅
Midnight (special case) ``24:00:00`` ✅
``hh.hhh`` (fractional hours) ``11.5`` ❌
``hh:mm.mmm`` (fractional minutes) ``11:30.5`` ❌
=================================== =================== ==============
**Note:** Python datetime objects only have microsecond precision (6 digits). Any additional precision will be truncated.
Time zone information
^^^^^^^^^^^^^^^^^^^^^
Time zone information may be provided in one of the following formats:
.. table::
:widths: auto
========== ========== ===========
Format Example Supported
========== ========== ===========
``Z`` ``Z`` ✅
``z`` ``z`` ✅
``±hh`` ``+11`` ✅
``±hhmm`` ``+1130`` ✅
``±hh:mm`` ``+11:30`` ✅
========== ========== ===========
While the ISO 8601 specification allows the use of MINUS SIGN (U+2212) in the time zone separator, ``ciso8601`` only supports the use of the HYPHEN-MINUS (U+002D) character.
Consistent with `RFC 3339`_, ``ciso8601`` also allows a lower-case ``z`` to be used instead of a ``Z``.
Strict RFC 3339 parsing
-----------------------
``ciso8601`` parses ISO 8601 datetimes, which can be thought of as a superset of `RFC 3339`_ (`roughly`_). In cases where you might want strict RFC 3339 parsing, ``ciso8601`` offers a ``parse_rfc3339`` method, which behaves in a similar manner to ``parse_datetime``:
.. _roughly: https://stackoverflow.com/questions/522251/whats-the-difference-between-iso-8601-and-rfc-3339-date-formats
``parse_rfc3339(dt: String): datetime`` is a function that takes a string and either:
* Returns a properly parsed Python datetime, **if and only if** the **entire** string conforms to RFC 3339.
* Raises a ``ValueError`` with a description of the reason why the string doesn't conform to RFC 3339.
Ignoring time zone information while parsing
--------------------------------------------
It takes more time to parse timestamps with time zone information, especially if they're not in UTC. However, there are times when you don't care about time zone information, and wish to produce naive datetimes instead.
For example, if you are certain that your program will only parse timestamps from a single time zone, you might want to strip the time zone information and only output naive datetimes.
In these limited cases, there is a second function provided.
``parse_datetime_as_naive`` will ignore any time zone information it finds and, as a result, is faster for timestamps containing time zone information.
.. code:: python
In [1]: import ciso8601
In [2]: ciso8601.parse_datetime_as_naive('2014-12-05T12:30:45.123456-05:30')
Out[2]: datetime.datetime(2014, 12, 5, 12, 30, 45, 123456)
NOTE: ``parse_datetime_as_naive`` is only useful in the case where your timestamps have time zone information, but you want to ignore it. This is somewhat unusual.
If your timestamps don't have time zone information (i.e. are naive), simply use ``parse_datetime``. It is just as fast.
Raw data
{
"_id": null,
"home_page": "https://github.com/closeio/ciso8601",
"name": "ciso8601",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c1/8a/075724aea06c98626109bfd670c27c248c87b9ba33e637f069bf46e8c4c3/ciso8601-2.3.3.tar.gz",
"platform": null,
"description": "========\nciso8601\n========\n\n.. image:: https://img.shields.io/circleci/project/github/closeio/ciso8601.svg\n :target: https://circleci.com/gh/closeio/ciso8601/tree/master\n\n.. image:: https://img.shields.io/pypi/v/ciso8601.svg\n :target: https://pypi.org/project/ciso8601/\n\n.. image:: https://img.shields.io/pypi/pyversions/ciso8601.svg\n :target: https://pypi.org/project/ciso8601/\n\n``ciso8601`` converts `ISO 8601`_ or `RFC 3339`_ date time strings into Python datetime objects.\n\nSince it's written as a C module, it is much faster than other Python libraries.\nTested with cPython 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14.\n\n.. _ISO 8601: https://en.wikipedia.org/wiki/ISO_8601\n.. _RFC 3339: https://tools.ietf.org/html/rfc3339\n\n(Interested in working on projects like this? `Close`_ is looking for `great engineers`_ to join our team)\n\n.. _Close: https://close.com\n.. _great engineers: https://jobs.close.com\n\n\n.. contents:: Contents\n\n\nQuick start\n-----------\n\n.. code:: bash\n\n % pip install ciso8601\n\n.. code:: python\n\n In [1]: import ciso8601\n\n In [2]: ciso8601.parse_datetime('2014-12-05T12:30:45.123456-05:30')\n Out[2]: datetime.datetime(2014, 12, 5, 12, 30, 45, 123456, tzinfo=pytz.FixedOffset(330))\n\n In [3]: ciso8601.parse_datetime('20141205T123045')\n Out[3]: datetime.datetime(2014, 12, 5, 12, 30, 45)\n\nMigration to v2\n---------------\n\nVersion 2.0.0 of ``ciso8601`` changed the core implementation. This was not entirely backwards compatible, and care should be taken when migrating\nSee `CHANGELOG`_ for the Migration Guide.\n\n.. _CHANGELOG: https://github.com/closeio/ciso8601/blob/master/CHANGELOG.md\n\nWhen should I not use ``ciso8601``?\n-----------------------------------\n\n``ciso8601`` is not necessarily the best solution for every use case (especially since Python 3.11). See `Should I use ciso8601?`_\n\n.. _`Should I use ciso8601?`: https://github.com/closeio/ciso8601/blob/master/why_ciso8601.md\n\nError handling\n--------------\n\nStarting in v2.0.0, ``ciso8601`` offers strong guarantees when it comes to parsing strings.\n\n``parse_datetime(dt: String): datetime`` is a function that takes a string and either:\n\n* Returns a properly parsed Python datetime, **if and only if** the **entire** string conforms to the supported subset of ISO 8601\n* Raises a ``ValueError`` with a description of the reason why the string doesn't conform to the supported subset of ISO 8601\n\nIf time zone information is provided, an aware datetime object will be returned. Otherwise, a naive datetime is returned.\n\nBenchmark\n---------\n\nParsing a timestamp with no time zone information (e.g., ``2014-01-09T21:48:00``):\n\n.. <include:benchmark_with_no_time_zone.rst>\n\n.. table::\n\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n | Module |Python 3.14|Python 3.13|Python 3.12|Python 3.11|Relative slowdown (versus ciso8601, latest Python)|\u2026|Python 3.10|Python 3.9|Python 3.8|\n +================================+===========+===========+===========+===========+==================================================+=+===========+==========+==========+\n |ciso8601 |26.4 nsec |23.4 nsec |24.5 nsec |25.4 nsec |N/A |\u2026|35.9 nsec |35.6 nsec |37 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |backports.datetime_fromisoformat|N/A |N/A |N/A |N/A |0.8x |\u2026|30.3 nsec |30.7 nsec |32 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |datetime (builtin) |51.5 nsec |48 nsec |54.8 nsec |53.9 nsec |2.0x |\u2026|N/A |N/A |N/A |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |udatetime |269 nsec |277 nsec |277 nsec |280 nsec |10.2x |\u2026|280 nsec |279 nsec |280 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |str2date |1.4 usec |1.42 usec |1.59 usec |1.59 usec |52.9x |\u2026|1.62 usec |1.64 usec |1.76 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |pendulum |1.74 usec |65.2 nsec |64.8 nsec |64.7 nsec |65.8x |\u2026|64.6 nsec |66.4 nsec |86.4 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |iso8601 |2.13 usec |2.2 usec |2.35 usec |2.1 usec |80.6x |\u2026|2.3 usec |2.31 usec |2.47 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |iso8601utils |N/A |N/A |N/A |N/A |61.5x |\u2026|N/A |2.19 usec |2.51 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |isodate |2.36 usec |2.52 usec |2.78 usec |2.18 usec |89.3x |\u2026|2.41 usec |2.4 usec |2.49 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |PySO8601 |3.55 usec |3.79 usec |3.79 usec |3.11 usec |134.6x |\u2026|3.94 usec |3.64 usec |6.79 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |aniso8601 |4.32 usec |4.74 usec |4.95 usec |4.37 usec |163.9x |\u2026|5.53 usec |5.19 usec |5.72 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |zulu |4.71 usec |4.63 usec |5.12 usec |4.54 usec |178.7x |\u2026|5.17 usec |4.93 usec |5.17 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |python-dateutil |10.3 usec |11.4 usec |12.6 usec |11.9 usec |390.4x |\u2026|14.9 usec |15.3 usec |15.8 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |arrow |13.3 usec |13.4 usec |14.7 usec |13.5 usec |503.5x |\u2026|16.7 usec |16.2 usec |17.4 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |maya |13.7 usec |10.9 usec |14.7 usec |12.7 usec |520.0x |\u2026|15.7 usec |14.5 usec |16 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |metomi-isodatetime |335 usec |345 usec |353 usec |359 usec |12687.0x |\u2026|480 usec |468 usec |508 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |moment |487 usec |502 usec |525 usec |503 usec |18471.2x |\u2026|563 usec |559 usec |576 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n\nciso8601 takes 26.4 nsec, which is **2.0x faster than datetime (builtin)**, the next fastest Python 3.14 parser in this comparison.\n\n.. </include:benchmark_with_no_time_zone.rst>\n\nParsing a timestamp with time zone information (e.g., ``2014-01-09T21:48:00-05:30``):\n\n.. <include:benchmark_with_time_zone.rst>\n\n.. table::\n\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n | Module |Python 3.14|Python 3.13|Python 3.12|Python 3.11|Relative slowdown (versus ciso8601, latest Python)|\u2026|Python 3.10|Python 3.9|Python 3.8|\n +================================+===========+===========+===========+===========+==================================================+=+===========+==========+==========+\n |ciso8601 |30.7 nsec |27.8 nsec |27.9 nsec |29.3 nsec |N/A |\u2026|39 nsec |39.4 nsec |40.2 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |backports.datetime_fromisoformat|N/A |N/A |N/A |N/A |1.2x |\u2026|46.6 nsec |48.4 nsec |49.1 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |datetime (builtin) |81.6 nsec |72.7 nsec |77.8 nsec |68.8 nsec |2.7x |\u2026|N/A |N/A |N/A |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |udatetime |344 nsec |321 nsec |334 nsec |332 nsec |11.2x |\u2026|331 nsec |332 nsec |336 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |str2date |1.67 usec |1.73 usec |1.94 usec |1.77 usec |54.2x |\u2026|1.96 usec |1.94 usec |2.08 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |pendulum |2.48 usec |104 nsec |104 nsec |104 nsec |80.7x |\u2026|106 nsec |105 nsec |130 nsec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |iso8601 |3.04 usec |3.24 usec |3.42 usec |3.06 usec |98.7x |\u2026|3.17 usec |3.18 usec |3.52 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |isodate |3.14 usec |3.16 usec |3.39 usec |2.88 usec |102.3x |\u2026|3.1 usec |3.12 usec |3.26 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |iso8601utils |N/A |N/A |N/A |N/A |126.4x |\u2026|N/A |4.98 usec |5.3 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |PySO8601 |5.11 usec |5.23 usec |5.67 usec |4.75 usec |166.3x |\u2026|5.31 usec |5.23 usec |5.72 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |zulu |5.47 usec |5.66 usec |6.08 usec |5.26 usec |177.9x |\u2026|5.85 usec |5.83 usec |5.96 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |aniso8601 |5.96 usec |6.42 usec |7.19 usec |6.18 usec |194.0x |\u2026|7.56 usec |7.26 usec |7.91 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |python-dateutil |13.2 usec |14.6 usec |15.6 usec |15.9 usec |428.8x |\u2026|19.7 usec |20 usec |20.6 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |arrow |15.6 usec |16.3 usec |19.5 usec |16.1 usec |507.7x |\u2026|20 usec |19.3 usec |19.9 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |maya |15.8 usec |12 usec |14.4 usec |12.4 usec |512.7x |\u2026|15 usec |14.7 usec |15.1 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |metomi-isodatetime |329 usec |346 usec |342 usec |335 usec |10692.8x |\u2026|475 usec |482 usec |487 usec |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n |moment |\u274c |\u274c |\u274c |\u274c |2112732.4x |\u2026|\u274c |\u274c |\u274c |\n +--------------------------------+-----------+-----------+-----------+-----------+--------------------------------------------------+-+-----------+----------+----------+\n\nciso8601 takes 30.7 nsec, which is **2.7x faster than datetime (builtin)**, the next fastest Python 3.14 parser in this comparison.\n\n.. </include:benchmark_with_time_zone.rst>\n\n.. <include:benchmark_module_versions.rst>\n\nTested on Linux 6.14.10-orbstack-00291-g1b252bd3edea using the following modules:\n\n.. code:: python\n\n aniso8601==10.0.1\n arrow==1.3.0\n backports.datetime_fromisoformat==2.0.3\n ciso8601==2.3.2\n iso8601==2.1.0\n iso8601utils==0.1.2\n isodate==0.7.2\n maya==0.6.1\n metomi-isodatetime==1!3.1.0\n moment==0.12.1\n pendulum==3.1.0 (on Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14), pendulum==3.0.0 (on Python 3.8)\n PySO8601==0.2.0\n python-dateutil==2.9.0.post0\n str2date==0.905\n udatetime==0.0.17\n zulu==2.0.1\n\n.. </include:benchmark_module_versions.rst>\n\nFor full benchmarking details (or to run the benchmark yourself), see `benchmarking/README.rst`_\n\n.. _`benchmarking/README.rst`: https://github.com/closeio/ciso8601/blob/master/benchmarking/README.rst\n\nSupported subset of ISO 8601\n----------------------------\n\n.. |datetime.fromisoformat| replace:: ``datetime.fromisoformat``\n.. _datetime.fromisoformat: https://docs.python.org/3/library/datetime.html#datetime.datetime.fromisoformat\n\n``ciso8601`` only supports a subset of ISO 8601, but supports a superset of what is supported by Python itself (|datetime.fromisoformat|_), and supports the entirety of the `RFC 3339`_ specification.\n\nDate formats\n^^^^^^^^^^^^\n\nThe following date formats are supported:\n\n.. table::\n :widths: auto\n\n ============================= ============== ==================\n Format Example Supported\n ============================= ============== ==================\n ``YYYY-MM-DD`` (extended) ``2018-04-29`` \u2705\n ``YYYY-MM`` (extended) ``2018-04`` \u2705\n ``YYYYMMDD`` (basic) ``20180429`` \u2705\n ``YYYY-Www-D`` (week date) ``2009-W01-1`` \u2705\n ``YYYY-Www`` (week date) ``2009-W01`` \u2705\n ``YYYYWwwD`` (week date) ``2009W011`` \u2705\n ``YYYYWww`` (week date) ``2009W01`` \u2705\n ``YYYY-DDD`` (ordinal date) ``1981-095`` \u2705\n ``YYYYDDD`` (ordinal date) ``1981095`` \u2705\n ============================= ============== ==================\n\nUncommon ISO 8601 date formats are not supported:\n\n.. table::\n :widths: auto\n\n ============================= ============== ==================\n Format Example Supported\n ============================= ============== ==================\n ``--MM-DD`` (omitted year) ``--04-29`` \u274c\n ``--MMDD`` (omitted year) ``--0429`` \u274c\n ``\u00b1YYYYY-MM`` (>4 digit year) ``+10000-04`` \u274c\n ``+YYYY-MM`` (leading +) ``+2018-04`` \u274c\n ``-YYYY-MM`` (negative -) ``-2018-04`` \u274c\n ============================= ============== ==================\n\nTime formats\n^^^^^^^^^^^^\n\nTimes are optional and are separated from the date by the letter ``T``.\n\nConsistent with `RFC 3339`__, ``ciso8601`` also allows either a space character, or a lower-case ``t``, to be used instead of a ``T``.\n\n__ https://stackoverflow.com/questions/522251/whats-the-difference-between-iso-8601-and-rfc-3339-date-formats\n\nThe following time formats are supported:\n\n.. table::\n :widths: auto\n\n =================================== =================== ==============\n Format Example Supported\n =================================== =================== ==============\n ``hh`` ``11`` \u2705\n ``hhmm`` ``1130`` \u2705\n ``hh:mm`` ``11:30`` \u2705\n ``hhmmss`` ``113059`` \u2705\n ``hh:mm:ss`` ``11:30:59`` \u2705\n ``hhmmss.ssssss`` ``113059.123456`` \u2705\n ``hh:mm:ss.ssssss`` ``11:30:59.123456`` \u2705\n ``hhmmss,ssssss`` ``113059,123456`` \u2705\n ``hh:mm:ss,ssssss`` ``11:30:59,123456`` \u2705\n Midnight (special case) ``24:00:00`` \u2705\n ``hh.hhh`` (fractional hours) ``11.5`` \u274c\n ``hh:mm.mmm`` (fractional minutes) ``11:30.5`` \u274c\n =================================== =================== ==============\n\n**Note:** Python datetime objects only have microsecond precision (6 digits). Any additional precision will be truncated.\n\nTime zone information\n^^^^^^^^^^^^^^^^^^^^^\n\nTime zone information may be provided in one of the following formats:\n\n.. table::\n :widths: auto\n\n ========== ========== ===========\n Format Example Supported\n ========== ========== ===========\n ``Z`` ``Z`` \u2705\n ``z`` ``z`` \u2705\n ``\u00b1hh`` ``+11`` \u2705\n ``\u00b1hhmm`` ``+1130`` \u2705\n ``\u00b1hh:mm`` ``+11:30`` \u2705\n ========== ========== ===========\n\nWhile the ISO 8601 specification allows the use of MINUS SIGN (U+2212) in the time zone separator, ``ciso8601`` only supports the use of the HYPHEN-MINUS (U+002D) character.\n\nConsistent with `RFC 3339`_, ``ciso8601`` also allows a lower-case ``z`` to be used instead of a ``Z``.\n\nStrict RFC 3339 parsing\n-----------------------\n\n``ciso8601`` parses ISO 8601 datetimes, which can be thought of as a superset of `RFC 3339`_ (`roughly`_). In cases where you might want strict RFC 3339 parsing, ``ciso8601`` offers a ``parse_rfc3339`` method, which behaves in a similar manner to ``parse_datetime``:\n\n.. _roughly: https://stackoverflow.com/questions/522251/whats-the-difference-between-iso-8601-and-rfc-3339-date-formats\n\n``parse_rfc3339(dt: String): datetime`` is a function that takes a string and either:\n\n* Returns a properly parsed Python datetime, **if and only if** the **entire** string conforms to RFC 3339.\n* Raises a ``ValueError`` with a description of the reason why the string doesn't conform to RFC 3339.\n\nIgnoring time zone information while parsing\n--------------------------------------------\n\nIt takes more time to parse timestamps with time zone information, especially if they're not in UTC. However, there are times when you don't care about time zone information, and wish to produce naive datetimes instead.\nFor example, if you are certain that your program will only parse timestamps from a single time zone, you might want to strip the time zone information and only output naive datetimes.\n\nIn these limited cases, there is a second function provided.\n``parse_datetime_as_naive`` will ignore any time zone information it finds and, as a result, is faster for timestamps containing time zone information.\n\n.. code:: python\n\n In [1]: import ciso8601\n\n In [2]: ciso8601.parse_datetime_as_naive('2014-12-05T12:30:45.123456-05:30')\n Out[2]: datetime.datetime(2014, 12, 5, 12, 30, 45, 123456)\n\nNOTE: ``parse_datetime_as_naive`` is only useful in the case where your timestamps have time zone information, but you want to ignore it. This is somewhat unusual.\nIf your timestamps don't have time zone information (i.e. are naive), simply use ``parse_datetime``. It is just as fast.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fast ISO8601 date time parser for Python written in C",
"version": "2.3.3",
"project_urls": {
"Homepage": "https://github.com/closeio/ciso8601"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7ac1ebdb2614bb7a7a8ea7b496709bdec4cd0842ef38cde44203f4986df2d8f9",
"md5": "175edbfad4077ec1fba6a8db1d15e2a7",
"sha256": "cf67a1d47a52dad19aaffb136de63263910dcab6e50d428f27416733ce81f183"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "175edbfad4077ec1fba6a8db1d15e2a7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 16077,
"upload_time": "2025-08-20T16:30:18",
"upload_time_iso_8601": "2025-08-20T16:30:18.097358Z",
"url": "https://files.pythonhosted.org/packages/7a/c1/ebdb2614bb7a7a8ea7b496709bdec4cd0842ef38cde44203f4986df2d8f9/ciso8601-2.3.3-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e8bb0d100a3774c8d15b432f693e8897891c3af4536a36b0c8ed7a527f319c8f",
"md5": "ab67f6410804f6542a80ba6dacbe8442",
"sha256": "67316d2a2d278fad3d569771b032e9bd8484c8aab842e1a2524f6433260cf9ac"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "ab67f6410804f6542a80ba6dacbe8442",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 24112,
"upload_time": "2025-08-20T16:30:19",
"upload_time_iso_8601": "2025-08-20T16:30:19.261860Z",
"url": "https://files.pythonhosted.org/packages/e8/bb/0d100a3774c8d15b432f693e8897891c3af4536a36b0c8ed7a527f319c8f/ciso8601-2.3.3-cp310-cp310-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c1b852af79a935073c4f2a31a3e73ab531dd5f41e8544eafd84ef5cc14b0c198",
"md5": "f599717ebb08212d9799672045976afa",
"sha256": "48e0ac5d411d186865fdf0d30529fb7ae6df7c8d622540d5274b453f0e7b935a"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "f599717ebb08212d9799672045976afa",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 15868,
"upload_time": "2025-08-20T16:30:20",
"upload_time_iso_8601": "2025-08-20T16:30:20.436588Z",
"url": "https://files.pythonhosted.org/packages/c1/b8/52af79a935073c4f2a31a3e73ab531dd5f41e8544eafd84ef5cc14b0c198/ciso8601-2.3.3-cp310-cp310-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "36b06a9f59dc68dab198df18fcb47999d9d18b67765706f7d9292814def99dac",
"md5": "070d87b8180ab656afcc2e770dc5b978",
"sha256": "9063aa362b291a72d395980e1b6479366061ec77d98ae7375aa5891abe0c6b9d"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "070d87b8180ab656afcc2e770dc5b978",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 40017,
"upload_time": "2025-08-20T16:30:21",
"upload_time_iso_8601": "2025-08-20T16:30:21.441833Z",
"url": "https://files.pythonhosted.org/packages/36/b0/6a9f59dc68dab198df18fcb47999d9d18b67765706f7d9292814def99dac/ciso8601-2.3.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "311f662b51464c2873ba345db671048e441267437e1ce802f079e024e9305b5b",
"md5": "72db2f381b9df17afa9183840f39526e",
"sha256": "fe7b832298a70ac39ef0b3cd1ce860289a2b45d2fdca2c2acd26551e29273487"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "72db2f381b9df17afa9183840f39526e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 40519,
"upload_time": "2025-08-20T16:30:22",
"upload_time_iso_8601": "2025-08-20T16:30:22.369766Z",
"url": "https://files.pythonhosted.org/packages/31/1f/662b51464c2873ba345db671048e441267437e1ce802f079e024e9305b5b/ciso8601-2.3.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "14ec8f9ebbc8e3330d3c2374983cfe7553592d53cdeb59a35078ce135c81d83d",
"md5": "e73012e3badaf86918b6969080b8e422",
"sha256": "c0e81268f84f6ed5a8f07026abed8ffa4fa54953e5763802b259e170f7bd7fb0"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "e73012e3badaf86918b6969080b8e422",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 39986,
"upload_time": "2025-08-20T16:30:23",
"upload_time_iso_8601": "2025-08-20T16:30:23.582732Z",
"url": "https://files.pythonhosted.org/packages/14/ec/8f9ebbc8e3330d3c2374983cfe7553592d53cdeb59a35078ce135c81d83d/ciso8601-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "24c4cff2f87395514ae70938b71ce4ceba975e71b000fd507ad000a8cd917a0b",
"md5": "1e860ea000297a7db41ab74d4225deee",
"sha256": "44fdb272acdc59e94282f6155eacbff8cd9687a2a84df0bbbed2b1bd53fa8406"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "1e860ea000297a7db41ab74d4225deee",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 40236,
"upload_time": "2025-08-20T16:30:24",
"upload_time_iso_8601": "2025-08-20T16:30:24.827354Z",
"url": "https://files.pythonhosted.org/packages/24/c4/cff2f87395514ae70938b71ce4ceba975e71b000fd507ad000a8cd917a0b/ciso8601-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f27eaef1d665c5097f71ed58684009d4b5c1cbfdb02373bbb04f22e0930dff6c",
"md5": "866de33ddd555762e189c2f14af5a25b",
"sha256": "74b14ffaddb890a48d03b3b97cc3f56875a4a93b3116b023add408e45b010c22"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "866de33ddd555762e189c2f14af5a25b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 17520,
"upload_time": "2025-08-20T16:30:25",
"upload_time_iso_8601": "2025-08-20T16:30:25.770184Z",
"url": "https://files.pythonhosted.org/packages/f2/7e/aef1d665c5097f71ed58684009d4b5c1cbfdb02373bbb04f22e0930dff6c/ciso8601-2.3.3-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc305744492f9e7dbe60a3c92968cdb8987566f5389b8d0e5c60f6d633da45fe",
"md5": "bd01ce6b2e1ddaf09f3772a130f84c22",
"sha256": "f068fb60b801640b4d729a3cf79f5b3075c071f0dad3a08e5bf68b89ca41aef7"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "bd01ce6b2e1ddaf09f3772a130f84c22",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 16076,
"upload_time": "2025-08-20T16:30:27",
"upload_time_iso_8601": "2025-08-20T16:30:27.005888Z",
"url": "https://files.pythonhosted.org/packages/fc/30/5744492f9e7dbe60a3c92968cdb8987566f5389b8d0e5c60f6d633da45fe/ciso8601-2.3.3-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0c6ce97f28a3b936a9a6c0abba9905382cb89022b8e1abb37a2150c1caf71d6",
"md5": "9d76bf4d8b8166c8d9caf68eb260f075",
"sha256": "2f347401756cdd552420a4596a0535a4f8193298ff401e41fb31603e182ae302"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "9d76bf4d8b8166c8d9caf68eb260f075",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 24110,
"upload_time": "2025-08-20T16:30:28",
"upload_time_iso_8601": "2025-08-20T16:30:28.243027Z",
"url": "https://files.pythonhosted.org/packages/e0/c6/ce97f28a3b936a9a6c0abba9905382cb89022b8e1abb37a2150c1caf71d6/ciso8601-2.3.3-cp311-cp311-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "dc891af026c7959d39bdbaa6400b76ffb54437fa52698b801d51ddaa14063f0e",
"md5": "333c089b2d9f6cd9d81ff7b4295f7de5",
"sha256": "77e8e691ade14dd0e2ae1bcdd98475c25cd76be34b1cf43d9138bbb7ea7a8a37"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "333c089b2d9f6cd9d81ff7b4295f7de5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 15871,
"upload_time": "2025-08-20T16:30:30",
"upload_time_iso_8601": "2025-08-20T16:30:30.059958Z",
"url": "https://files.pythonhosted.org/packages/dc/89/1af026c7959d39bdbaa6400b76ffb54437fa52698b801d51ddaa14063f0e/ciso8601-2.3.3-cp311-cp311-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a41a9ae630bf75a51755bf701660a65207b8efa2f95590408832b38e58834d57",
"md5": "67b86a450a1c721cd19ee9cda392bc43",
"sha256": "a5839ea7d2edf22e0199587e2ea71bc082b0e7ffce90389c7bdd407c05dbf230"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "67b86a450a1c721cd19ee9cda392bc43",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 40380,
"upload_time": "2025-08-20T16:30:31",
"upload_time_iso_8601": "2025-08-20T16:30:31.211306Z",
"url": "https://files.pythonhosted.org/packages/a4/1a/9ae630bf75a51755bf701660a65207b8efa2f95590408832b38e58834d57/ciso8601-2.3.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4f3c8671bde2bbf6abb8ceee82db0bc6bcd08066e7104680e3866eda6047adc1",
"md5": "235104ab45a786b84eaab5abdc53d9d3",
"sha256": "de0476ced02b965ef82c20191757f26e14878c76ce8d32a94c1e9ee14658ec6e"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "235104ab45a786b84eaab5abdc53d9d3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 40914,
"upload_time": "2025-08-20T16:30:32",
"upload_time_iso_8601": "2025-08-20T16:30:32.096348Z",
"url": "https://files.pythonhosted.org/packages/4f/3c/8671bde2bbf6abb8ceee82db0bc6bcd08066e7104680e3866eda6047adc1/ciso8601-2.3.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8ebc433f91f19ff553653f340e77dbb12afe46de8a84a407ae01483d22ea8f7a",
"md5": "c0c9b43e323f4a4c6bd9d46ae08c87cf",
"sha256": "fe9303131af07e3596583e9d7faebb755d44c52c16f8077beeea1b297541fb61"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "c0c9b43e323f4a4c6bd9d46ae08c87cf",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 40154,
"upload_time": "2025-08-20T16:30:33",
"upload_time_iso_8601": "2025-08-20T16:30:33.325649Z",
"url": "https://files.pythonhosted.org/packages/8e/bc/433f91f19ff553653f340e77dbb12afe46de8a84a407ae01483d22ea8f7a/ciso8601-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "48b739b905b09f77f2140724707919edea2a3d34b00a9366cd7ad541aefb464e",
"md5": "b07251343eed34793454111b54c730db",
"sha256": "4c443761b899e4e350a647b3439f8e999d6c925dc4e83887b3063b13c2a9b195"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "b07251343eed34793454111b54c730db",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 40428,
"upload_time": "2025-08-20T16:30:34",
"upload_time_iso_8601": "2025-08-20T16:30:34.626955Z",
"url": "https://files.pythonhosted.org/packages/48/b7/39b905b09f77f2140724707919edea2a3d34b00a9366cd7ad541aefb464e/ciso8601-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f211e676e1ac5dd8523dfc2e06c799840103343dc13c650d6ed06c63a8e41d5a",
"md5": "e1cdf474882f01acc7b027e9fe3665b1",
"sha256": "e3a395ebc5932982a72841820a6bf6e5cd1d41a760cd15ffafd1d4e963c9b802"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "e1cdf474882f01acc7b027e9fe3665b1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 17519,
"upload_time": "2025-08-20T16:30:35",
"upload_time_iso_8601": "2025-08-20T16:30:35.539338Z",
"url": "https://files.pythonhosted.org/packages/f2/11/e676e1ac5dd8523dfc2e06c799840103343dc13c650d6ed06c63a8e41d5a/ciso8601-2.3.3-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "62aab723a6981cfc42bbe992da23179f5dd1556e9054067985108ec6cbe34dd3",
"md5": "a9104591c37eedea173997749499f82c",
"sha256": "e7ef14610446211c4102bf6c67f32619ab341e56db15bad6884385b43c12b064"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a9104591c37eedea173997749499f82c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 16111,
"upload_time": "2025-08-20T16:30:36",
"upload_time_iso_8601": "2025-08-20T16:30:36.781205Z",
"url": "https://files.pythonhosted.org/packages/62/aa/b723a6981cfc42bbe992da23179f5dd1556e9054067985108ec6cbe34dd3/ciso8601-2.3.3-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0ae9e547ec4dd75f28d8d217488130fa07767bc42fd643d61a18870487133c0e",
"md5": "410de408d440eee448f76345541b6066",
"sha256": "523901aec6b0ccdf255c863ef161f476197f177c5cd33f2fbb35955c5f97fdb4"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "410de408d440eee448f76345541b6066",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 24193,
"upload_time": "2025-08-20T16:30:38",
"upload_time_iso_8601": "2025-08-20T16:30:38.067064Z",
"url": "https://files.pythonhosted.org/packages/0a/e9/e547ec4dd75f28d8d217488130fa07767bc42fd643d61a18870487133c0e/ciso8601-2.3.3-cp312-cp312-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "14c8801b78e30667cb31b4524e9dc26cbc2c03c012f9aa3f5ae21676461dc622",
"md5": "5a5c8f78f9149dd15c4b44edd2994908",
"sha256": "45f8254d1fb0a41e20f98e93075db7b56504adddf65e4c8b397671feba4861ca"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "5a5c8f78f9149dd15c4b44edd2994908",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 15917,
"upload_time": "2025-08-20T16:30:39",
"upload_time_iso_8601": "2025-08-20T16:30:39.375914Z",
"url": "https://files.pythonhosted.org/packages/14/c8/801b78e30667cb31b4524e9dc26cbc2c03c012f9aa3f5ae21676461dc622/ciso8601-2.3.3-cp312-cp312-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "446bdfc56a2a4e572a2a3f8c88a66dea6a9186a8e10da7c36cc84abc31bf795c",
"md5": "0e91e34dfbd4b624905c5beb3967734b",
"sha256": "202ca99077577683e6a84d394ff2677ec19d9f406fbf35734f68be85d2bcd3f1"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "0e91e34dfbd4b624905c5beb3967734b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 41324,
"upload_time": "2025-08-20T16:30:40",
"upload_time_iso_8601": "2025-08-20T16:30:40.321862Z",
"url": "https://files.pythonhosted.org/packages/44/6b/dfc56a2a4e572a2a3f8c88a66dea6a9186a8e10da7c36cc84abc31bf795c/ciso8601-2.3.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7c57cf66171cb5807fe345b03ce9e32fd91b3a8b6e5bd95710618a9a1b0f3fab",
"md5": "ad54bdfbb384b9b237ffaca67a78dc44",
"sha256": "a7cec4e31c363e87221f2561e7083ce055a82de041e822e7c3775f8ce6250a7e"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "ad54bdfbb384b9b237ffaca67a78dc44",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 41804,
"upload_time": "2025-08-20T16:30:41",
"upload_time_iso_8601": "2025-08-20T16:30:41.204256Z",
"url": "https://files.pythonhosted.org/packages/7c/57/cf66171cb5807fe345b03ce9e32fd91b3a8b6e5bd95710618a9a1b0f3fab/ciso8601-2.3.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "759115e8871d7ae2ff0f756128e246348bdede58c08edba13cd886450ceeb304",
"md5": "3b627972f6e8da8a03cc718129417ffd",
"sha256": "389fef3ccc3065fa21cb6ef7d03aee63ab980591b5d87b9f0bbe349f52b16bdc"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "3b627972f6e8da8a03cc718129417ffd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 41209,
"upload_time": "2025-08-20T16:30:42",
"upload_time_iso_8601": "2025-08-20T16:30:42.460201Z",
"url": "https://files.pythonhosted.org/packages/75/91/15e8871d7ae2ff0f756128e246348bdede58c08edba13cd886450ceeb304/ciso8601-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "30547563e20a158a4bdf3e8d13c63e02b71f9b73c662edc83cb4d5ab67171a7d",
"md5": "80d13909bc3273b13eb656ad1e74881a",
"sha256": "c4499cfbe4da092dea95ab81aefc78b98e2d7464518e6e80107cf2b9b1f65fa2"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "80d13909bc3273b13eb656ad1e74881a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 41368,
"upload_time": "2025-08-20T16:30:43",
"upload_time_iso_8601": "2025-08-20T16:30:43.397400Z",
"url": "https://files.pythonhosted.org/packages/30/54/7563e20a158a4bdf3e8d13c63e02b71f9b73c662edc83cb4d5ab67171a7d/ciso8601-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ccd56182006dd86365bb21d1f658f70c41e266ce0f97eaf353f9d7069c51851f",
"md5": "875d47436b4c6d1654df4f09114968aa",
"sha256": "1df1ca3791c6f2d543f091d88e728a60a31681ff900d9eb02f1403cf31e9c177"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "875d47436b4c6d1654df4f09114968aa",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 17566,
"upload_time": "2025-08-20T16:30:44",
"upload_time_iso_8601": "2025-08-20T16:30:44.706521Z",
"url": "https://files.pythonhosted.org/packages/cc/d5/6182006dd86365bb21d1f658f70c41e266ce0f97eaf353f9d7069c51851f/ciso8601-2.3.3-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "011688154fe8247e4dcfdbaed8c6b8ccf32b1dd4389c6c95b1986bf31649eb00",
"md5": "a32d49905a82a1dec735beed0206af07",
"sha256": "8afa073802c926c3244e1e5fcc5818afd3acb90fb7826a90f91ddbda0636ea70"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a32d49905a82a1dec735beed0206af07",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 16109,
"upload_time": "2025-08-20T16:30:45",
"upload_time_iso_8601": "2025-08-20T16:30:45.655159Z",
"url": "https://files.pythonhosted.org/packages/01/16/88154fe8247e4dcfdbaed8c6b8ccf32b1dd4389c6c95b1986bf31649eb00/ciso8601-2.3.3-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be468d46372b3802c7201c20c8b316569f27253aaafba0cdd2cd033985e8b77e",
"md5": "519bd7411513bb257dd3ab9f297c0cc8",
"sha256": "8a04e518b4adf8e35e030feaecdb4a835d39b9bb44d207e926aea8ce3447ad7c"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "519bd7411513bb257dd3ab9f297c0cc8",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 24189,
"upload_time": "2025-08-20T16:30:46",
"upload_time_iso_8601": "2025-08-20T16:30:46.958955Z",
"url": "https://files.pythonhosted.org/packages/be/46/8d46372b3802c7201c20c8b316569f27253aaafba0cdd2cd033985e8b77e/ciso8601-2.3.3-cp313-cp313-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "13801890e097cb76e41995de82f29c0289ca590d7135e0be3707e5b78f54350d",
"md5": "a3b90bb699fadf69a2f50998adaeae6d",
"sha256": "f79ad8372463ba4265981016d1648bc05f4922bc8044c4243fcbaef7a12ee9f7"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "a3b90bb699fadf69a2f50998adaeae6d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 15925,
"upload_time": "2025-08-20T16:30:48",
"upload_time_iso_8601": "2025-08-20T16:30:48.082458Z",
"url": "https://files.pythonhosted.org/packages/13/80/1890e097cb76e41995de82f29c0289ca590d7135e0be3707e5b78f54350d/ciso8601-2.3.3-cp313-cp313-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a7e9690a2a6beefd9d982c20adde3f09ff54a23291a699b0df7cf0c59027d9cf",
"md5": "062b2a130ae812ddcecf3578a354041d",
"sha256": "d5894a33f119b5ac1082df187dc58c74fe13c9c092e19ba36495c2b7cee3540b"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "062b2a130ae812ddcecf3578a354041d",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 41352,
"upload_time": "2025-08-20T16:30:49",
"upload_time_iso_8601": "2025-08-20T16:30:49.294071Z",
"url": "https://files.pythonhosted.org/packages/a7/e9/690a2a6beefd9d982c20adde3f09ff54a23291a699b0df7cf0c59027d9cf/ciso8601-2.3.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2f349a498ceb0ebd23f538e6685721c9fc4666701372c651874ed22ec46b1423",
"md5": "3370a68a5f95bc02066d737c0b7830c3",
"sha256": "09deebf3e326ec59d80019b4ad35175c90b99cde789c644b1496811fe3340587"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "3370a68a5f95bc02066d737c0b7830c3",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 41866,
"upload_time": "2025-08-20T16:30:50",
"upload_time_iso_8601": "2025-08-20T16:30:50.262347Z",
"url": "https://files.pythonhosted.org/packages/2f/34/9a498ceb0ebd23f538e6685721c9fc4666701372c651874ed22ec46b1423/ciso8601-2.3.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f70aee0981502aa1c9f28f7e89cf6cee08bdff2c6ed9d4289b00cceb8a1c500e",
"md5": "2350ba6bffef043842cd3e1fb3a29f37",
"sha256": "3aa43ed59b2117baccc5bb760e5e53dad77cacba671d757c1e82e0a367b1f42a"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "2350ba6bffef043842cd3e1fb3a29f37",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 41271,
"upload_time": "2025-08-20T16:30:51",
"upload_time_iso_8601": "2025-08-20T16:30:51.198770Z",
"url": "https://files.pythonhosted.org/packages/f7/0a/ee0981502aa1c9f28f7e89cf6cee08bdff2c6ed9d4289b00cceb8a1c500e/ciso8601-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fb6524a888240324188d8350bc24fb58a6d759c0ca43adfa77210f3d60370b56",
"md5": "57f82608af45b067694de3bdd69c29c0",
"sha256": "289515aa3a3b86a9c3450bf482f634138b98788332d136751507bfdfe46e6031"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "57f82608af45b067694de3bdd69c29c0",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 41411,
"upload_time": "2025-08-20T16:30:52",
"upload_time_iso_8601": "2025-08-20T16:30:52.439809Z",
"url": "https://files.pythonhosted.org/packages/fb/65/24a888240324188d8350bc24fb58a6d759c0ca43adfa77210f3d60370b56/ciso8601-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d1ffebc9de191acb461e02e616e5366bc2b7757277a11b4bf215d4fb79516a8",
"md5": "ae12663f7c1eb40716a5348575820666",
"sha256": "e7288068a5bffbcc50cbe9cdaf3971f541fcd209c194fa6a59ad06066a3dcff0"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "ae12663f7c1eb40716a5348575820666",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 17573,
"upload_time": "2025-08-20T16:30:53",
"upload_time_iso_8601": "2025-08-20T16:30:53.759789Z",
"url": "https://files.pythonhosted.org/packages/3d/1f/febc9de191acb461e02e616e5366bc2b7757277a11b4bf215d4fb79516a8/ciso8601-2.3.3-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ef3a54ad0ae2257870076b4990545a8f16221470fecea0aa7a4e1f39506db8c5",
"md5": "886fd36a7de2ae9a23a80774831b7129",
"sha256": "82db4047d74d8b1d129e7a8da578518729912c3bd19cb71541b147e41f426381"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "886fd36a7de2ae9a23a80774831b7129",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 16115,
"upload_time": "2025-08-20T16:30:54",
"upload_time_iso_8601": "2025-08-20T16:30:54.971822Z",
"url": "https://files.pythonhosted.org/packages/ef/3a/54ad0ae2257870076b4990545a8f16221470fecea0aa7a4e1f39506db8c5/ciso8601-2.3.3-cp314-cp314-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23fb9fe767d44520691e2b706769466852fbdeb44a82dc294c2766bce1049d22",
"md5": "b7ace36571f61a34bfc06e4a398e388a",
"sha256": "a553f3fc03a2ed5ca6f5716de0b314fa166461df01b45d8b36043ccac3a5e79f"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "b7ace36571f61a34bfc06e4a398e388a",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 24214,
"upload_time": "2025-08-20T16:30:56",
"upload_time_iso_8601": "2025-08-20T16:30:56.359835Z",
"url": "https://files.pythonhosted.org/packages/23/fb/9fe767d44520691e2b706769466852fbdeb44a82dc294c2766bce1049d22/ciso8601-2.3.3-cp314-cp314-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a1ac984fd3948f372c46c436a2b48da43f4fb7bc6f156a6f4bc858adaab79d42",
"md5": "596c48fee58e0a72e07c84a8a37f28aa",
"sha256": "ff59c26083b7bef6df4f0d96e4b649b484806d3d7bcc2de14ad43147c3aafb04"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "596c48fee58e0a72e07c84a8a37f28aa",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 15929,
"upload_time": "2025-08-20T16:30:58",
"upload_time_iso_8601": "2025-08-20T16:30:58.352313Z",
"url": "https://files.pythonhosted.org/packages/a1/ac/984fd3948f372c46c436a2b48da43f4fb7bc6f156a6f4bc858adaab79d42/ciso8601-2.3.3-cp314-cp314-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "de3a5572917d4e0bec2c1ef0eda8652f9dc8d1850d29d3eef9e5e82ffe5d6791",
"md5": "68d49f2202a9235aaebd787e2da74995",
"sha256": "99a1fa5a730790431d0bfcd1f3a6387f60cddc6853d8dcc5c2e140cd4d67a928"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "68d49f2202a9235aaebd787e2da74995",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 41578,
"upload_time": "2025-08-20T16:30:59",
"upload_time_iso_8601": "2025-08-20T16:30:59.351133Z",
"url": "https://files.pythonhosted.org/packages/de/3a/5572917d4e0bec2c1ef0eda8652f9dc8d1850d29d3eef9e5e82ffe5d6791/ciso8601-2.3.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5ecf07321ce5cf099b98de0c02cd4bab4818610da69743003e94c8fb6e8a59cb",
"md5": "58f67ba0f095d26c7e00b4401e7d7838",
"sha256": "c35265c1b0bd2ac30ed29b49818dd38b0d1dfda43086af605d8b91722727dec0"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "58f67ba0f095d26c7e00b4401e7d7838",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 42085,
"upload_time": "2025-08-20T16:31:00",
"upload_time_iso_8601": "2025-08-20T16:31:00.338914Z",
"url": "https://files.pythonhosted.org/packages/5e/cf/07321ce5cf099b98de0c02cd4bab4818610da69743003e94c8fb6e8a59cb/ciso8601-2.3.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d3c73c521d6779ee433d9596eb3fcded79549bbe371843f25e62006c04f74dc9",
"md5": "0aa94d4b673c935ce8ae9f01d4d7898d",
"sha256": "aa9df2f84ab25454f14df92b2dd4f9aae03dbfa581565a716b3e89b8e2110c03"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "0aa94d4b673c935ce8ae9f01d4d7898d",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 41313,
"upload_time": "2025-08-20T16:31:01",
"upload_time_iso_8601": "2025-08-20T16:31:01.313413Z",
"url": "https://files.pythonhosted.org/packages/d3/c7/3c521d6779ee433d9596eb3fcded79549bbe371843f25e62006c04f74dc9/ciso8601-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f993efd40db0d6b512be1cbe4e7e750882c2e88f580e17f35b3e9cc9c23004b5",
"md5": "bed2dd525652edee4f2f413248c44a75",
"sha256": "32e06a35eb251cfc4bbe01a858c598da0a160e4ad7f42ff52477157ceaf48061"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "bed2dd525652edee4f2f413248c44a75",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 41443,
"upload_time": "2025-08-20T16:31:02",
"upload_time_iso_8601": "2025-08-20T16:31:02.357224Z",
"url": "https://files.pythonhosted.org/packages/f9/93/efd40db0d6b512be1cbe4e7e750882c2e88f580e17f35b3e9cc9c23004b5/ciso8601-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "218e515f9404faa39af8df5e2b899cafbca5dbe7cd2ffe5cc124ef393ffdaf1c",
"md5": "e7c13451a3b8cd853a34cc2dfbc3347c",
"sha256": "7657ba9730dc1340d73b9e61eca14f341c41dd308128c808b8b084d2b85bc03e"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp314-cp314-win_amd64.whl",
"has_sig": false,
"md5_digest": "e7c13451a3b8cd853a34cc2dfbc3347c",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": null,
"size": 17977,
"upload_time": "2025-08-20T16:31:03",
"upload_time_iso_8601": "2025-08-20T16:31:03.429962Z",
"url": "https://files.pythonhosted.org/packages/21/8e/515f9404faa39af8df5e2b899cafbca5dbe7cd2ffe5cc124ef393ffdaf1c/ciso8601-2.3.3-cp314-cp314-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6ed6a08f7052dbe489e2e87fd289dff4694f284328fe6cc405dcd5bf4246ac29",
"md5": "62e709febc01f144008c619fa435c1d6",
"sha256": "d8377c9e0c4ddab6a50bf7b55ad867d4ffacdcfe85fa9aaab78fe878e62565f8"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "62e709febc01f144008c619fa435c1d6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 15858,
"upload_time": "2025-08-20T16:31:05",
"upload_time_iso_8601": "2025-08-20T16:31:05.042427Z",
"url": "https://files.pythonhosted.org/packages/6e/d6/a08f7052dbe489e2e87fd289dff4694f284328fe6cc405dcd5bf4246ac29/ciso8601-2.3.3-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "793f6d1d1ce5c748e50913d57fb9299155a18d2c64eea36f7ae09deecff3feba",
"md5": "2147f947284d56b4a962a1e66fab8a6f",
"sha256": "354fde847522b0092052867748a5fd235b26fe947c9081f3e0b7d4f69e5403cd"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "2147f947284d56b4a962a1e66fab8a6f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 23901,
"upload_time": "2025-08-20T16:31:05",
"upload_time_iso_8601": "2025-08-20T16:31:05.974099Z",
"url": "https://files.pythonhosted.org/packages/79/3f/6d1d1ce5c748e50913d57fb9299155a18d2c64eea36f7ae09deecff3feba/ciso8601-2.3.3-cp38-cp38-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6550e7403beb489d938738af0a2d8d1dfcc68f1ac4459b95d10579c02f24dbf6",
"md5": "4270a30b7f9392e817f0fe211ed0b407",
"sha256": "3770e40139292b7464e78b7c98aa4b9d65830fc5c410830b1ed61bedf2c4b9b8"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "4270a30b7f9392e817f0fe211ed0b407",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 15644,
"upload_time": "2025-08-20T16:31:06",
"upload_time_iso_8601": "2025-08-20T16:31:06.973952Z",
"url": "https://files.pythonhosted.org/packages/65/50/e7403beb489d938738af0a2d8d1dfcc68f1ac4459b95d10579c02f24dbf6/ciso8601-2.3.3-cp38-cp38-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5b939b2dc9eb358508e8fe7a477b54ba3a03a340508277734d2b26e519543e41",
"md5": "51c776cf790e2e68f84805204d2ae182",
"sha256": "c4817f258d3cea15a82e1e65d1cb9ac8d6fff8d6e09a9a801a8de8a2d9a36b3b"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "51c776cf790e2e68f84805204d2ae182",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 40378,
"upload_time": "2025-08-20T16:31:08",
"upload_time_iso_8601": "2025-08-20T16:31:08.098719Z",
"url": "https://files.pythonhosted.org/packages/5b/93/9b2dc9eb358508e8fe7a477b54ba3a03a340508277734d2b26e519543e41/ciso8601-2.3.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "333de2f4ac0951d1d6c89688210f7c6f617fd399d4261e9c11008b1d82c64070",
"md5": "ec5dfb8704de814088da73d696b3e1a6",
"sha256": "80b2842f1fdc8061a9c37311f87896285ebe2a5ceb5bc486c1248add98c0deba"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "ec5dfb8704de814088da73d696b3e1a6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 40925,
"upload_time": "2025-08-20T16:31:09",
"upload_time_iso_8601": "2025-08-20T16:31:09.408865Z",
"url": "https://files.pythonhosted.org/packages/33/3d/e2f4ac0951d1d6c89688210f7c6f617fd399d4261e9c11008b1d82c64070/ciso8601-2.3.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cbb3402e7268abe4bfb09e19cbbec2f875f6e68fa191672f324d9d6410c423c5",
"md5": "bcba1f380f4e3a19b92d5a7d08087f5f",
"sha256": "a68f4ad734eb1f8415a88c4563cbebc086da61327ca880a5d622bf210347804e"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "bcba1f380f4e3a19b92d5a7d08087f5f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 39650,
"upload_time": "2025-08-20T16:31:11",
"upload_time_iso_8601": "2025-08-20T16:31:11.249660Z",
"url": "https://files.pythonhosted.org/packages/cb/b3/402e7268abe4bfb09e19cbbec2f875f6e68fa191672f324d9d6410c423c5/ciso8601-2.3.3-cp38-cp38-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4c8b130dec5ef34f4d976edb7d7acd83092225e35fdc9299558160d7c5e0bf1d",
"md5": "99c96a230b10f3232206fff64c23c233",
"sha256": "cc1ebb2d34b2e47a4533bad6d3672e18d27dc4b53bea589404afdc4eae102193"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "99c96a230b10f3232206fff64c23c233",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 39892,
"upload_time": "2025-08-20T16:31:12",
"upload_time_iso_8601": "2025-08-20T16:31:12.561331Z",
"url": "https://files.pythonhosted.org/packages/4c/8b/130dec5ef34f4d976edb7d7acd83092225e35fdc9299558160d7c5e0bf1d/ciso8601-2.3.3-cp38-cp38-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6bc4793d7c88e9533fcc69553922b4624f68ca03583386ce613dde76f7fc52ca",
"md5": "a25383ec97534f9e022fedd1e11d4362",
"sha256": "aebe909c8965c44644cee40d6bd1ecc4987a7be59963e95d6f62f6229c5cc7ab"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "a25383ec97534f9e022fedd1e11d4362",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 17453,
"upload_time": "2025-08-20T16:31:14",
"upload_time_iso_8601": "2025-08-20T16:31:14.813939Z",
"url": "https://files.pythonhosted.org/packages/6b/c4/793d7c88e9533fcc69553922b4624f68ca03583386ce613dde76f7fc52ca/ciso8601-2.3.3-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3c6b9d45c5bc02b0bd5515b99a6a30f947e1c31f75665b596184f926a753fa39",
"md5": "c524d925e7eb3a2dcd106eb80b5fb01e",
"sha256": "fc1d96d46d144bef8f59ec6a63b1f5d3cd93f95242fbebc990b68e17b23c2cc8"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c524d925e7eb3a2dcd106eb80b5fb01e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 16072,
"upload_time": "2025-08-20T16:31:15",
"upload_time_iso_8601": "2025-08-20T16:31:15.751162Z",
"url": "https://files.pythonhosted.org/packages/3c/6b/9d45c5bc02b0bd5515b99a6a30f947e1c31f75665b596184f926a753fa39/ciso8601-2.3.3-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "81de18e073cff56809a80c57988edaa245ff064dda59a4c08e6df9574246d030",
"md5": "de93d6734156fad49b4ccc994ca16d8e",
"sha256": "fbdcd1a6515bced4b97ddfe21da921952367953c27cf567e154982ca4dbff867"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "de93d6734156fad49b4ccc994ca16d8e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 24110,
"upload_time": "2025-08-20T16:31:17",
"upload_time_iso_8601": "2025-08-20T16:31:17.326972Z",
"url": "https://files.pythonhosted.org/packages/81/de/18e073cff56809a80c57988edaa245ff064dda59a4c08e6df9574246d030/ciso8601-2.3.3-cp39-cp39-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "660168fa8c11652145b4304815786f1a30ec6fb986a19c33794aee67e4390fe5",
"md5": "4d4ebb8e91fe6aa7a7b957b34bccd015",
"sha256": "27863fa85067059363592b60c9e1c00f3e04cf627e38fa530dfa332a3d0afb92"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "4d4ebb8e91fe6aa7a7b957b34bccd015",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 15864,
"upload_time": "2025-08-20T16:31:18",
"upload_time_iso_8601": "2025-08-20T16:31:18.787645Z",
"url": "https://files.pythonhosted.org/packages/66/01/68fa8c11652145b4304815786f1a30ec6fb986a19c33794aee67e4390fe5/ciso8601-2.3.3-cp39-cp39-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4d01d6f5c2ae0f85f487214b432d8d257bc88d5e1d59d7a544ad22d474f1a001",
"md5": "a01d536a82850bab9c8042e1a4ffdbbc",
"sha256": "9305f5b519548e1ae4f2817659ff8c3d75a625f34cbda749bf0be43e39d2844a"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "a01d536a82850bab9c8042e1a4ffdbbc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 39698,
"upload_time": "2025-08-20T16:31:19",
"upload_time_iso_8601": "2025-08-20T16:31:19.759204Z",
"url": "https://files.pythonhosted.org/packages/4d/01/d6f5c2ae0f85f487214b432d8d257bc88d5e1d59d7a544ad22d474f1a001/ciso8601-2.3.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1c21213ec110793b9b83000e58c33a9c10037f77a9ed723762a1a753e86d8cad",
"md5": "8035bc4ac87f16ab012527faac32dc04",
"sha256": "3e3d0f9633e894e975a9ac4e048db5c930c837c43b4d9524be3cd65ddf017bea"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "8035bc4ac87f16ab012527faac32dc04",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 40198,
"upload_time": "2025-08-20T16:31:21",
"upload_time_iso_8601": "2025-08-20T16:31:21.035316Z",
"url": "https://files.pythonhosted.org/packages/1c/21/213ec110793b9b83000e58c33a9c10037f77a9ed723762a1a753e86d8cad/ciso8601-2.3.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2b48c371ee313fe6813330592ad0121fca9fe2e71137e63fc58ef84bc41a0b5e",
"md5": "988d651889e8087f58d03651f620853e",
"sha256": "f5f6c8febe2b656a6acab6e6c78a3dd411334e161c643475bc50d0f37b642d05"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "988d651889e8087f58d03651f620853e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 39628,
"upload_time": "2025-08-20T16:31:21",
"upload_time_iso_8601": "2025-08-20T16:31:21.974750Z",
"url": "https://files.pythonhosted.org/packages/2b/48/c371ee313fe6813330592ad0121fca9fe2e71137e63fc58ef84bc41a0b5e/ciso8601-2.3.3-cp39-cp39-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f42aa55028156dc8d4dd5c26094bde72c4c677b72a120e95a069dacfd307b5ed",
"md5": "f4df8b612ffb88c77464392739ce19f3",
"sha256": "3ad0925c2ca305d12796a4b6300a37b098094ffe24cb0407c65c4fef4b5298cc"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "f4df8b612ffb88c77464392739ce19f3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 39817,
"upload_time": "2025-08-20T16:31:22",
"upload_time_iso_8601": "2025-08-20T16:31:22.935258Z",
"url": "https://files.pythonhosted.org/packages/f4/2a/a55028156dc8d4dd5c26094bde72c4c677b72a120e95a069dacfd307b5ed/ciso8601-2.3.3-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5218dc9c8c121916f495c6838c5a8da0c8e0295062f389bbacebe43ff79c48f8",
"md5": "b78a666ffbfa173af4c0f9c7933e26ab",
"sha256": "44741daf5c46f51458d42dfa097eb46409659fc0b2824cdcab699cb43b135313"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "b78a666ffbfa173af4c0f9c7933e26ab",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 17519,
"upload_time": "2025-08-20T16:31:23",
"upload_time_iso_8601": "2025-08-20T16:31:23.877162Z",
"url": "https://files.pythonhosted.org/packages/52/18/dc9c8c121916f495c6838c5a8da0c8e0295062f389bbacebe43ff79c48f8/ciso8601-2.3.3-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "83e5eee65bc8c91e5981ed3440dbd4e546ff14b67deba07f6f346de1a61f28c0",
"md5": "1fff8e02dbe67e14a39a65dd71edbc0b",
"sha256": "1d88ab28ecb3626e3417c564e8aec9d0245b4eb75e773d2e7f3f095ea9897ded"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp310-pypy310_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "1fff8e02dbe67e14a39a65dd71edbc0b",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 16956,
"upload_time": "2025-08-20T16:31:24",
"upload_time_iso_8601": "2025-08-20T16:31:24.869223Z",
"url": "https://files.pythonhosted.org/packages/83/e5/eee65bc8c91e5981ed3440dbd4e546ff14b67deba07f6f346de1a61f28c0/ciso8601-2.3.3-pp310-pypy310_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "38fc809cba0f1928d1d45a4e5c9d789b06fd092a145702d32a41394f4b9665ca",
"md5": "044ac9662efba61698bc5e16ffdf7c7e",
"sha256": "8d5a37798bf0cab6144daa2b6d07657ab1a63df540de24c23a809fb2bdf36149"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "044ac9662efba61698bc5e16ffdf7c7e",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": null,
"size": 18285,
"upload_time": "2025-08-20T16:31:26",
"upload_time_iso_8601": "2025-08-20T16:31:26.143023Z",
"url": "https://files.pythonhosted.org/packages/38/fc/809cba0f1928d1d45a4e5c9d789b06fd092a145702d32a41394f4b9665ca/ciso8601-2.3.3-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f11d025db546af38ab5236086f462292c50a1f9a4b248a309129a85bb1113996",
"md5": "d9eaa83a66ee6b07e5d728762ac06103",
"sha256": "d5b18c75c66499ef22cb47b429e3b5a137db5a68674365b9ca3cd0e4488d229f"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "d9eaa83a66ee6b07e5d728762ac06103",
"packagetype": "bdist_wheel",
"python_version": "pp311",
"requires_python": null,
"size": 16957,
"upload_time": "2025-08-20T16:31:27",
"upload_time_iso_8601": "2025-08-20T16:31:27.503046Z",
"url": "https://files.pythonhosted.org/packages/f1/1d/025db546af38ab5236086f462292c50a1f9a4b248a309129a85bb1113996/ciso8601-2.3.3-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "22fc976d9c4b79e28cbda95b1acf574b00f811d9aec0fce55b63d573d6fa446b",
"md5": "b73007660faa3d0c17c579a4d3679b0f",
"sha256": "58799673ffdf621fe138fb8af6a89daf4ddefdf7ca4a10777ad8d55f3f171b6e"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "b73007660faa3d0c17c579a4d3679b0f",
"packagetype": "bdist_wheel",
"python_version": "pp311",
"requires_python": null,
"size": 18284,
"upload_time": "2025-08-20T16:31:28",
"upload_time_iso_8601": "2025-08-20T16:31:28.430305Z",
"url": "https://files.pythonhosted.org/packages/22/fc/976d9c4b79e28cbda95b1acf574b00f811d9aec0fce55b63d573d6fa446b/ciso8601-2.3.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f0f93b2866ba5f5c5611b7172a2900fdfb93616e0e397dc5890994c36a7915d",
"md5": "310178844f8ac27c2b0321f79d611ec3",
"sha256": "16a0bc10783e9f06f46357ef77afb74f9b6a250bee7dbc00d51850d5894cc543"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp38-pypy38_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "310178844f8ac27c2b0321f79d611ec3",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 16746,
"upload_time": "2025-08-20T16:31:29",
"upload_time_iso_8601": "2025-08-20T16:31:29.681654Z",
"url": "https://files.pythonhosted.org/packages/6f/0f/93b2866ba5f5c5611b7172a2900fdfb93616e0e397dc5890994c36a7915d/ciso8601-2.3.3-pp38-pypy38_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "df757f8c1f23d396f7b26af2d2f7a8183873940dbf5c6d6f78aa61ee07a74708",
"md5": "961df4f813ade3d09e8651b1f5336d32",
"sha256": "ced7b8675d94583b242ba976dbd9b1fd6ab18613f02d6d32361e718839282740"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp38-pypy38_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "961df4f813ade3d09e8651b1f5336d32",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": null,
"size": 18069,
"upload_time": "2025-08-20T16:31:30",
"upload_time_iso_8601": "2025-08-20T16:31:30.666670Z",
"url": "https://files.pythonhosted.org/packages/df/75/7f8c1f23d396f7b26af2d2f7a8183873940dbf5c6d6f78aa61ee07a74708/ciso8601-2.3.3-pp38-pypy38_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0b5f41a97cb5639b0026e75d9cfaa3594546899be5f31b39cc7849cffd4a62df",
"md5": "7203f6a04d7acc967f4b64a4990272c1",
"sha256": "25c834e6a963951a2ac908d0844ca0562972285de1c9a3dc198fc850fcca5458"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp39-pypy39_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "7203f6a04d7acc967f4b64a4990272c1",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 16954,
"upload_time": "2025-08-20T16:31:31",
"upload_time_iso_8601": "2025-08-20T16:31:31.564544Z",
"url": "https://files.pythonhosted.org/packages/0b/5f/41a97cb5639b0026e75d9cfaa3594546899be5f31b39cc7849cffd4a62df/ciso8601-2.3.3-pp39-pypy39_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "18a382f58397e8ceea9508dbdee153f2925ddf2c1ab1fbcb7d93125fe676b42c",
"md5": "f143d1976b6aaa968a8eaa4cf4031fc4",
"sha256": "475583568c06a5bc23a4de8c0521c39c2a46c2e189bae9a6c5efc25ab0605372"
},
"downloads": -1,
"filename": "ciso8601-2.3.3-pp39-pypy39_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "f143d1976b6aaa968a8eaa4cf4031fc4",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": null,
"size": 18277,
"upload_time": "2025-08-20T16:31:32",
"upload_time_iso_8601": "2025-08-20T16:31:32.482113Z",
"url": "https://files.pythonhosted.org/packages/18/a3/82f58397e8ceea9508dbdee153f2925ddf2c1ab1fbcb7d93125fe676b42c/ciso8601-2.3.3-pp39-pypy39_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c18a075724aea06c98626109bfd670c27c248c87b9ba33e637f069bf46e8c4c3",
"md5": "2363d6577e61ecb104cba0cd42f29b33",
"sha256": "db5d78d9fb0de8686fbad1c1c2d168ed52efb6e8bf8774ae26226e5034a46dae"
},
"downloads": -1,
"filename": "ciso8601-2.3.3.tar.gz",
"has_sig": false,
"md5_digest": "2363d6577e61ecb104cba0cd42f29b33",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 31909,
"upload_time": "2025-08-20T16:31:33",
"upload_time_iso_8601": "2025-08-20T16:31:33.510477Z",
"url": "https://files.pythonhosted.org/packages/c1/8a/075724aea06c98626109bfd670c27c248c87b9ba33e637f069bf46e8c4c3/ciso8601-2.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-20 16:31:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "closeio",
"github_project": "ciso8601",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"circle": true,
"tox": true,
"lcname": "ciso8601"
}