ciso8601


Nameciso8601 JSON
Version 2.3.3 PyPI version JSON
download
home_pagehttps://github.com/closeio/ciso8601
SummaryFast ISO8601 date time parser for Python written in C
upload_time2025-08-20 16:31:33
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT
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"
}
        
Elapsed time: 0.70641s