Python的C语言编写的快速ISO8601日期时间解析器
项目描述
ciso8601 将 ISO 8601 或 RFC 3339 日期时间字符串转换为Python datetime对象。
由于它是作为C模块编写的,因此比其他Python库要快得多。已在cPython 2.7、3.4、3.5、3.6、3.7、3.8、3.9、3.10、3.11、3.12上测试。
(对类似项目感兴趣吗?Close 正在寻找优秀工程师加入我们的团队)
快速入门
% pip install ciso8601
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)
迁移到v2
《ciso8601》的2.0.0版本改变了核心实现。这并不完全向后兼容,迁移时应谨慎。请参阅变更日志以获取迁移指南。
我不应该使用 ciso8601 的情况
《ciso8601》可能不是每个用例的最佳解决方案(尤其是从Python 3.11开始)。请参阅是否应该使用ciso8601?
错误处理
从v2.0.0版本开始,《ciso8601》在解析字符串方面提供了强大的保证。
parse_datetime(dt: String): datetime 是一个函数,它接受一个字符串并返回
如果整个字符串符合支持ISO 8601子集,则返回正确解析的Python datetime对象
如果字符串不符合支持ISO 8601子集,则引发带有描述原因的 ValueError
如果提供了时区信息,将返回一个带有时区信息的datetime对象。否则,返回一个无时区的datetime对象。
基准测试
解析没有时区信息的戳记(例如,2014-01-09T21:48:00)
模块 |
Python 3.12 |
Python 3.11 |
Python 3.10 |
Python 3.9 |
相对于ciso8601和最新Python的相对减速 |
… |
Python 3.8 |
Python 3.7 |
Python 2.7 |
---|---|---|---|---|---|---|---|---|---|
ciso8601 |
98 nsec |
90 nsec |
122 nsec |
122 nsec |
N/A |
… |
118 nsec |
124 nsec |
134 nsec |
backports.datetime_fromisoformat |
N/A |
N/A |
112 nsec |
108 nsec |
0.9x |
… |
106 nsec |
118 nsec |
N/A |
datetime (内置) |
129 nsec |
132 nsec |
N/A |
N/A |
1.3x |
… |
N/A |
N/A |
N/A |
pendulum |
N/A |
180 nsec |
187 nsec |
186 nsec |
2.0x |
… |
196 nsec |
200 nsec |
8.52 usec |
udatetime |
695 nsec |
662 nsec |
674 nsec |
692 nsec |
7.1x |
… |
724 nsec |
713 nsec |
586 nsec |
str2date |
6.86 usec |
5.78 usec |
6.59 usec |
6.4 usec |
70.0x |
… |
6.66 usec |
6.96 usec |
❌ |
iso8601utils |
N/A |
N/A |
N/A |
8.59 usec |
70.5x |
… |
8.6 usec |
9.59 usec |
11.2 usec |
iso8601 |
10 usec |
8.24 usec |
8.96 usec |
9.21 usec |
102.2x |
… |
9.14 usec |
9.63 usec |
25.7 usec |
isodate |
11.1 usec |
8.76 usec |
10.2 usec |
9.76 usec |
113.6x |
… |
9.92 usec |
11 usec |
44.1 usec |
PySO8601 |
17.2 usec |
13.6 usec |
16 usec |
15.8 usec |
175.3x |
… |
16.1 usec |
17.1 usec |
17.7 usec |
aniso8601 |
22.2 usec |
17.8 usec |
23.2 usec |
23.1 usec |
227.0x |
… |
24.3 usec |
27.2 usec |
30.7 usec |
zulu |
23.3 usec |
19 usec |
22 usec |
21.3 usec |
237.9x |
… |
21.6 usec |
22.7 usec |
N/A |
maya |
N/A |
36.1 usec |
42.5 usec |
42.7 usec |
401.6x |
… |
41.3 usec |
44.2 usec |
N/A |
python-dateutil |
57.6 usec |
51.4 usec |
63.3 usec |
62.6 usec |
587.7x |
… |
63.7 usec |
67.3 usec |
119 usec |
arrow |
62 usec |
54 usec |
65.5 usec |
65.7 usec |
633.0x |
… |
66.6 usec |
70.2 usec |
78.8 usec |
metomi-isodatetime |
1.29 msec |
1.33 msec |
1.76 msec |
1.77 msec |
13201.1x |
… |
1.79 msec |
1.91 msec |
N/A |
moment |
1.81 msec |
1.65 msec |
1.75 msec |
1.79 msec |
18474.8x |
… |
1.78 msec |
1.84 msec |
N/A |
ciso8601 耗时 98 纳秒,比内置的 datetime(datetime)快 1.3 倍,是本比较中 Python 3.12 解析器中速度第二快的。
解析带有时区信息的时间戳(例如,2014-01-09T21:48:00-05:30)
模块 |
Python 3.12 |
Python 3.11 |
Python 3.10 |
Python 3.9 |
相对于ciso8601和最新Python的相对减速 |
… |
Python 3.8 |
Python 3.7 |
Python 2.7 |
---|---|---|---|---|---|---|---|---|---|
ciso8601 |
95 纳秒 |
96.8 纳秒 |
128 纳秒 |
123 纳秒 |
N/A |
… |
125 纳秒 |
125 纳秒 |
140 纳秒 |
backports.datetime_fromisoformat |
N/A |
N/A |
147 纳秒 |
149 纳秒 |
1.1 倍 |
… |
138 纳秒 |
149 纳秒 |
N/A |
datetime (内置) |
198 纳秒 |
207 纳秒 |
N/A |
N/A |
2.1 倍 |
… |
N/A |
N/A |
N/A |
pendulum |
N/A |
225 纳秒 |
214 纳秒 |
211 纳秒 |
2.3 倍 |
… |
219 纳秒 |
224 纳秒 |
13.5 微秒 |
udatetime |
799 纳秒 |
803 纳秒 |
805 纳秒 |
830 纳秒 |
8.4 倍 |
… |
827 纳秒 |
805 纳秒 |
768 纳秒 |
str2date |
7.73 微秒 |
6.75 微秒 |
7.78 微秒 |
7.8 微秒 |
81.4 倍 |
… |
7.74 微秒 |
8.13 微秒 |
❌ |
iso8601 |
13.7 微秒 |
11.3 微秒 |
12.7 微秒 |
12.5 微秒 |
143.8 倍 |
… |
12.4 微秒 |
12.6 微秒 |
31.1 微秒 |
isodate |
13.7 微秒 |
11.3 微秒 |
12.9 微秒 |
12.7 微秒 |
144.0 倍 |
… |
12.7 微秒 |
13.9 微秒 |
46.7 微秒 |
iso8601utils |
N/A |
N/A |
N/A |
21.4 微秒 |
174.9 倍 |
… |
22.1 微秒 |
23.4 微秒 |
28.3 微秒 |
PySO8601 |
25.1 微秒 |
20.4 微秒 |
23.2 usec |
23.8 微秒 |
263.8 倍 |
… |
23.5 微秒 |
24.8 微秒 |
25.3 微秒 |
zulu |
26.3 微秒 |
21.4 微秒 |
25.7 usec |
24 微秒 |
277.2 倍 |
… |
24.5 微秒 |
25.3 微秒 |
N/A |
aniso8601 |
27.7 微秒 |
23.7 微秒 |
30.3 微秒 |
30 微秒 |
291.3 倍 |
… |
31.6 微秒 |
33.8 微秒 |
39.2 微秒 |
maya |
N/A |
36 微秒 |
41.3 usec |
41.8 微秒 |
372.0 倍 |
… |
42.4 微秒 |
42.7 usec |
N/A |
python-dateutil |
70.7 微秒 |
65.1 微秒 |
77.9 微秒 |
80.2 微秒 |
744.0 倍 |
… |
79.4 微秒 |
83.6 微秒 |
100 微秒 |
arrow |
73 微秒 |
62.8 微秒 |
74.5 微秒 |
73.9 微秒 |
768.6 倍 |
… |
75.1 微秒 |
80 微秒 |
148 微秒 |
metomi-isodatetime |
1.22 毫秒 |
1.25 毫秒 |
1.72 毫秒 |
1.72 毫秒 |
12876.3 倍 |
… |
1.76 msec |
1.83 毫秒 |
N/A |
moment |
❌ |
❌ |
❌ |
❌ |
2305822.8 倍 |
… |
❌ |
❌ |
N/A |
ciso8601 耗时 95 纳秒,比内置的 datetime(datetime)快 2.1 倍,是本比较中 Python 3.12 解析器中速度第二快的。
在 Linux 5.15.49-linuxkit 上使用以下模块进行测试
aniso8601==9.0.1
arrow==1.3.0 (on Python 3.8, 3.9, 3.10, 3.11, 3.12), arrow==1.2.3 (on Python 3.7), arrow==0.17.0 (on Python 2.7)
backports.datetime_fromisoformat==2.0.1
ciso8601==2.3.0
iso8601==2.1.0 (on Python 3.8, 3.9, 3.10, 3.11, 3.12), iso8601==0.1.16 (on Python 2.7)
iso8601utils==0.1.2
isodate==0.6.1
maya==0.6.1
metomi-isodatetime==1!3.1.0
moment==0.12.1
pendulum==2.1.2
PySO8601==0.2.0
python-dateutil==2.8.2
str2date==0.905
udatetime==0.0.17
zulu==2.0.0
有关完整的基准测试详情(或自行运行基准测试),请参阅 benchmarking/README.rst
支持的ISO 8601子集
ciso8601 只支持 ISO 8601 的一部分,但支持 Python 本身支持的范围之外的部分(datetime.fromisoformat),并支持整个 RFC 3339 规范。
日期格式
以下日期格式受支持
格式 |
示例 |
受支持 |
---|---|---|
YYYY-MM-DD(扩展) |
2018-04-29 |
✅ |
YYYY-MM(扩展) |
2018-04 |
✅ |
YYYYMMDD(基本) |
20180429 |
✅ |
YYYY-Www-D(周日期) |
2009-W01-1 |
✅ |
YYYY-Www(周日期) |
2009-W01 |
✅ |
YYYYWwwD(周日期) |
2009W011 |
✅ |
YYYYWww(周日期) |
2009W01 |
✅ |
YYYY-DDD(序数日期) |
1981-095 |
✅ |
YYYYDDD(序数日期) |
1981095 |
✅ |
不受支持的罕见 ISO 8601 日期格式
格式 |
示例 |
受支持 |
---|---|---|
--MM-DD(省略年份) |
--04-29 |
❌ |
--MMDD(省略年份) |
--0429 |
❌ |
±YYYYY-MM(>4 位年份) |
+10000-04 |
❌ |
+YYYY-MM(前导+号) |
+2018-04 |
❌ |
-YYYY-MM(负号-) |
-2018-04 |
❌ |
时间格式
时间可选,并且通过字母T与日期隔开。
与RFC 3339一致,ciso8601也允许使用空格字符或小写的t来代替T。
支持以下时间格式
格式 |
示例 |
受支持 |
---|---|---|
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 |
✅ |
午夜(特殊情况) |
24:00:00 |
✅ |
hh.hhh(分数小时) |
11.5 |
❌ |
hh:mm.mmm(分数分钟) |
11:30.5 |
❌ |
注意:Python datetime对象只有微秒精度(6位数字)。任何额外的精度都将被截断。
时区信息
时区信息可以以下格式提供
格式 |
示例 |
受支持 |
---|---|---|
Z |
Z |
✅ |
z |
z |
✅ |
±hh |
+11 |
✅ |
±hhmm |
+1130 |
✅ |
±hh:mm |
+11:30 |
✅ |
虽然ISO 8601规范允许在时区分隔符中使用负号(U+2212),但ciso8601只支持使用连字符减号(U+002D)字符。
与RFC 3339一致,ciso8601也允许使用小写的z来代替Z。
严格RFC 3339解析
ciso8601解析ISO 8601日期时间,可以将其视为RFC 3339的子集(大致)。在您可能希望严格解析RFC 3339的情况下,ciso8601提供了一个parse_rfc3339方法,其行为与parse_datetime类似。
parse_rfc3339(dt: String): datetime是一个函数,它接受一个字符串并执行以下操作:
如果整个字符串符合RFC 3339,则返回正确解析的Python datetime。
如果字符串不符合RFC 3339,则抛出描述原因的ValueError。
解析时忽略时区信息
解析包含时区信息的日期时间戳可能需要更多时间,特别是如果它们不是UTC。然而,有时您可能不关心时区信息,而希望生成无知的日期时间。例如,如果您确信您的程序只会解析来自单个时区的日期时间戳,您可能想删除时区信息,只输出无知的日期时间。
在这些有限的情况下,提供了一个第二个函数。 parse_datetime_as_naive将忽略它找到的任何时区信息,因此对于包含时区信息的日期时间戳来说更快。
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)
注意: parse_datetime_as_naive仅在您的日期时间戳具有时区信息但您想忽略它的情况下才有用。这有点不寻常。如果您的日期时间戳没有时区信息(即无知的),请直接使用parse_datetime。它一样快。
ciso8601-2.3.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3212c7ffe5d8080270548b5f2692ffd2039683b6628a8d2ad456122cc5793c4c |
|
MD5 | 01ac2f2f4feba857a2ce6997b9571611 |
|
BLAKE2b-256 | acbccf42c1b0042f91c90a6b00244f63b6fb137af15e43e29f07bb72cf955be8 |
ciso8601-2.3.1-pp310-pypy310_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7533256af90724b8b7a707dcd1be4b67989447595c8e1e1c28399d4fd51dac50 |
|
MD5 | acca21711070eebaa319a627375c97af |
|
BLAKE2b-256 | 6eac68e4188ea6588b14befaee1cc54b7ebbe898e7ab6e11af6d9aa76c5cc3f3 |
ciso8601-2.3.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c29ea2b03dee2dc0a5d3e4a0b7d7768c597781e9fa451fe1025600f7cb55a89 |
|
MD5 | d0f4e9760fa366f790bac5b585015310 |
|
BLAKE2b-256 | 861d3ca6dc3602be7592653aec9c8df3dbf3977171527c38b9696d069eef9b87 |
ciso8601-2.3.1-pp39-pypy39_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 06941e2ee46701f083aeb21d13eb762d74d5ed6c46ff22119f27a42ed6edc8f9 |
|
MD5 | 79b7ed14ab7c2d1fac76e171aa6e9b9a |
|
BLAKE2b-256 | 4f41290f99b05361d10c9acb6dbc76a302b56c3a47cf6725d8a8f77d838fc560 |
ciso8601-2.3.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ac00d293cdb3d1a5c78e09b3d75c7b0292ab45d5b26853b436ff5087eba2165 |
|
MD5 | ca3bf14d3f3b6be125f2888bc3b85b5d |
|
BLAKE2b-256 | 58182c40c4ee244506568398505558171c9243a7d0d46338fc5b87c3142573ed |
ciso8601-2.3.1-pp38-pypy38_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9065053c034c80c0afd74c71a4906675d07078a05cfd1cb5ff70661378cdbe60 |
|
MD5 | 315942a7375baf9bee48a2e3034e596e |
|
BLAKE2b-256 | 802bdde2e288e6edf4fdc658e919aec2459bc8281a870ed4d357748a90acb1f3 |
ciso8601-2.3.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 070f568de3bc269268296cb9265704dc5fcb9d4c12b1f1c67536624174df5d09 |
|
MD5 | f659dcdb2579a791d137cca541e20e12 |
|
BLAKE2b-256 | c132389fb540c94b32b4938ba78329d8fcbc86d257cec65f83564dfd9c20752d |
哈希值 对于 ciso8601-2.3.1-pp37-pypy37_pp73-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4e30501eed43eea7ef64f032c81cd1d8b2020035cbdcefad40db72e2f3bc97ff |
|
MD5 | c03126b8d89c18ba6f1f834a609dc5a6 |
|
BLAKE2b-256 | 4e24144243acd0a32e56dfdcd79bd7ed8c44dfc3db66a21e760fddd666148d14 |
哈希值 对于 ciso8601-2.3.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4bc9d577c0d1e57532513fc2899f5231727e28981a426767f7fa13dacb18c06 |
|
MD5 | 521589d96b93760acae448e10308df69 |
|
BLAKE2b-256 | 74dd95b44f8c9c3c5f6de3bf41eb36ff95a85ba07398f54ca0e36feaf7ac98ff |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 87721de54e008fb1c4c3978553b05a9c417aa25b76ddf5702d6f7e8d9b109288 |
|
MD5 | 5d900aa4698d1128bc6a4d329952f6ee |
|
BLAKE2b-256 | 76ef5ef06ccb6f6c023573634119f93df237687e3f4263e2f307b51a7208d103 |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0d980a2a88030d4d8b2434623c250866a75b4979d289eba69bec445c51ace99f |
|
MD5 | c2881cfcee4f12d83baa5605fe2e1925 |
|
BLAKE2b-256 | 501cd1cb5b2d2173abfc4d5a068981acddff763cce318e896ec87c140412c72d |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b26935687ef1837b56997d8c61f1d789e698be58b261410e629eda9c89812141 |
|
MD5 | 254f85642b64ee9b8a9918585d4ce0f8 |
|
BLAKE2b-256 | 5bbdfef5524974e3ba376e16df35e4197152edffdf7ac9d5d99bc173a9fcf256 |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 013410263cba46748d2de29e9894341ae41223356cde7970478c32bd0984d10c |
|
MD5 | 7aebe8a58f17e3188cbc97d5bb52d124 |
|
BLAKE2b-256 | ea7477fd6e67a2a3489a1ac449570142e2f4137289be25027e235d4688470d56 |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 21cf83ca945bb26ecd95364ae2c9ed0276378e5fe35ce1b64d4c6d5b33038ea3 |
|
MD5 | 4a92b2d6e1401bcdb31ff4313afa58c6 |
|
BLAKE2b-256 | c4a924ffa848a5878a50009d6177826c36b60e2e8807e4d54ee94817e790897b |
哈希值 对于 ciso8601-2.3.1-cp312-cp312-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f39bb5936debf21c52e5d52b89f26857c303da80c43a72883946096a6ef5e561 |
|
MD5 | 2fe189244ba167047a1671675d2bc583 |
|
BLAKE2b-256 | 853df6496a260ba6e58135fb3dd1108799f6dd9cadf634372e020bfbf0d27fea |
哈希值 对于 ciso8601-2.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8acb45545e6a654310c6ef788aacb2d73686646c414ceacdd9f5f78a83165af5 |
|
MD5 | a991555c5569d9fc578872421197307d |
|
BLAKE2b-256 | 7b52764356d60dcd743d2352a0c24d593ce6df330a7012f8c2ade00e580031df |
哈希值 对于 ciso8601-2.3.1-cp311-cp311-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 364702e338212b6c1a8643d9399ada21560cf132f363853473560625cb4207f1 |
|
MD5 | 1a1c961c250a6606f6774260a60641c5 |
|
BLAKE2b-256 | 571a3de6285bb4b743edc2af3e19253d72076a2911e985b89fe67a730a06d9ea |
哈希值 为 ciso8601-2.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef44cb4dc83f37019a356c7a72692cbe17072456f4879ca6bc0339f67eee5d00 |
|
MD5 | 474b8875a29076a09836c7097c90d2e9 |
|
BLAKE2b-256 | ae25957d686b0b3640f7a80073f396817dc149e03e3e72665f472deefce04719 |
哈希值 为 ciso8601-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 121d27c55f4455eaa27ba3bd602beca915df9a352f235e935636a4660321070e |
|
MD5 | ab76986bab3503bc7de6e0a41999563f |
|
BLAKE2b-256 | 18db237d57669edb78b8262bf78d9cc9638355ec96a49216d12238babfa46861 |
哈希值 为 ciso8601-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 473288cd63efe6a2cf3f4b5f90394e53095358ccb13d6128f87a2da85d0f389b |
|
MD5 | e8f0d5e710e94fc1db299a5511a5be4e |
|
BLAKE2b-256 | 40368260b1b1b63051f90facb659913c5852cd95a17cfd3e7dc243cef4e190a0 |
哈希值 为 ciso8601-2.3.1-cp311-cp311-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f25647803c9a5aaaed130c53bbec7ea06a4f95ba5c7016f59e444b4ef7ac39e |
|
MD5 | ea7360402f1bc94b04aabe5faa9740d9 |
|
BLAKE2b-256 | b1b7b03313a9ff86a5bec68f2ceece41abd0834fd92c91c7ba4b9a95ea032f35 |
哈希值 为 ciso8601-2.3.1-cp310-cp310-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3771049ba29bd1077588c0a24be1d53f7493e7cc686b2caa92f7cae129636a0e |
|
MD5 | ddec0bf357e3eee440157fe5c73b0eac |
|
BLAKE2b-256 | 275bccd7cf4631540bba4fe1313b29fe7f4eb0c132d319e3095f3fe6615396ea |
哈希值 为 ciso8601-2.3.1-cp310-cp310-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c1ef17d1ea52a39b2dce6535583631ae4bfb65c76f0ee8c99413a6861a46c9e |
|
MD5 | ee08dd06c3575002a8f5a763f81288a5 |
|
BLAKE2b-256 | 5e189372721282df9ccdc105efc811ddab2074994bae8dccaaf7f4fd6720e761 |
哈希值 为 ciso8601-2.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f3ae83f4e60fc7e260a4188e4ec4ac1bdd40bdb382eeda92fc266c5aa2f0a1ee |
|
MD5 | eec0ced492cf5fdf6ac82d2426de2ed2 |
|
BLAKE2b-256 | c9429756084f3ceea1a3635e4d3fdea0f94886ad126167fe962bafbe834b15ff |
哈希值 为 ciso8601-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a25da209193134842cd573464a5323f46fcc3ed781b633f15a34793ba7e1064 |
|
MD5 | 63e603274f556d99af7bb6752aafb7ab |
|
BLAKE2b-256 | 66baf6f3d42d7521eefd18a3ed3cc03d765445e499b94da8ed93b699afe4c8f9 |
哈希值 为 ciso8601-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c59646197ddbf84909b6c31d55f744cfeef51811e3910b61d0f58f2885823fd |
|
MD5 | da3cf896f789cad63c056206d27355ac |
|
BLAKE2b-256 | ed1e68652c89bc86f2712855b67feddc10d57e63e860ec844bd5590894e8a25a |
哈希值 为 ciso8601-2.3.1-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 57db9a28e87f9e4fccba643fb70a9ba1515adc5e1325508eb2c10dd96620314c |
|
MD5 | bf31dfc76207de5e491196ce97de4d76 |
|
BLAKE2b-256 | d12e8b5d35ddbe03f88063d76b931dea707a3045c7f6f0445be15c769dfa0e41 |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 695583810836a42945084b33621b22b0309701c6916689f6a3588fa44c5bc413 |
|
MD5 | 36f5290e3f7dff4090964eba9992e1f7 |
|
BLAKE2b-256 | cab7b24f11ee31697a251ef2d1fcd249e6ce3b23e7bac272f9a2b98872d76c49 |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb135de0e3b8feb7e74a4f7a234e8c8545957fe8d26316a1a549553f425c629d |
|
MD5 | 7d22baaf1d7a1d7d9a80c8ba666ce061 |
|
BLAKE2b-256 | eb3f69e3ef7fe521edcdc5d5fd796c7425c607db86b060968127c3ce522cb094 |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 58a749d63f28c2eda71416c9d6014113b0748abf5fd14c502b01bd515502fedf |
|
MD5 | 956b44c4ed332e1cbc8e70e794995d55 |
|
BLAKE2b-256 | 12b1ddc338b59f1658d04fc8e61c91562d05b7003c05b1e300506745e9604fed |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 566b4a8b2f9717e54ffcdd732a7c8051a91da30a60a4f1dafb62e303a1dbac69 |
|
MD5 | 781acc6e0f0d31a9e9ce6248f955e992 |
|
BLAKE2b-256 | 02c164433e0e6c615d8c9e5949c4082d364890f2632064b187d4b33b1463e789 |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 02828107880848ff497971ebc98e6dc851ad7af8ec14a58089e0e11f3111cad6 |
|
MD5 | d1582324996b8bec6459d845bac2827a |
|
BLAKE2b-256 | 15ac8dfe940808219f8ec3dcfa286cdcbcb704e7ccd9b02f64bc0a31ea4b8c8a |
哈希值 用于 ciso8601-2.3.1-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7eb7b5ef8714d3d1fe9f3256b7a679ad783da899a0b7503a5ace78186735f840 |
|
MD5 | 0789c40dbd51ce8c770032b35212029e |
|
BLAKE2b-256 | ef54863616c6f435dee386d8533d85ac59efa301324d7745bbcdd891512a67c7 |
哈希值 用于 ciso8601-2.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad8f417c45eea973a694599b96f40d841215bfee352cb9963383e8d66b309981 |
|
MD5 | dca04024144423f6303405a7c5cb29af |
|
BLAKE2b-256 | fc41c5689bb0b1824f180f80cba5a4bd793d3d0e17b7802f7576fa1b7fd3efe9 |
哈希值 用于 ciso8601-2.3.1-cp38-cp38-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eaecca7e0c3ef9e8f5e963e212b083684e849f9a9bb25834d3042363223a73cd |
|
MD5 | 89f1096ecfad82910192b5bce4b581a8 |
|
BLAKE2b-256 | 4b37bdf84104ff6810116e9802be07212edfaa877a197433f1caec200b7aaa93 |
哈希值 用于 ciso8601-2.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4ac59453664781dfddebee51f9a36e41819993823fdb09ddc0ce0e4bd3ff0c3 |
|
MD5 | 7d504899a700fcbf909e2e3b2405808f |
|
BLAKE2b-256 | 067b674cbdc6fba47e2bb56d3ad5307d8fa5202ab853c8f5c69c42effa0e4436 |
哈希值 用于 ciso8601-2.3.1-cp38-cp38-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d1f85c0b7fa742bbfd18177137ccbaa3f867dd06157f91595075bb959a733048 |
|
MD5 | f792a301545a4ffb206428668b6edfab |
|
BLAKE2b-256 | 09bd0cc7e7dbe08ad9c4913ece2abd975078fd6e91f2b78225d9dc02f1fb7793 |
哈希值 用于 ciso8601-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2a64ff58904d4418d60fa9619014ae820ae21f7aef58da46df78a4c647f951ec |
|
MD5 | 6a0daf19c1355f13fda28bd8440409f1 |
|
BLAKE2b-256 | 0712975e4b102a95aa7a940793cd87439a19b3b4cf4c8b73cda1145bd72ec78e |
哈希值 for ciso8601-2.3.1-cp38-cp38-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 025859ec286a994aa3f2120c0f27d053b719cabc975398338374f2cc1f961125 |
|
MD5 | 7d94eeb7246c620e923f2a121c18563c |
|
BLAKE2b-256 | 64183544594777a553d5e2b69739d215ccc12620973ff54ba67e4cb1ab60f6a5 |
哈希值 for ciso8601-2.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e7ae2c3442d042de5330672d0d28486ed92f9d7c6dc010943aa618fd361d4638 |
|
MD5 | c953a1410d389e0ff25de3bded429291 |
|
BLAKE2b-256 | ebb17206a8dfd4981caebc79bc55a4f0edc56e0b3dd25307a6c78c4dd1d00904 |
哈希值 for ciso8601-2.3.1-cp37-cp37m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 024c52d5d0670f15ca3dc53eff7345b6eaee22fba929675f6a408f9d1e159d98 |
|
MD5 | b64fbcccba6782dd05cde64947d68b03 |
|
BLAKE2b-256 | 583365197b6c3abadde4bae806e27718134d0e5a6fdd79bb54885d233dd89074 |
哈希值 for ciso8601-2.3.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c690ac24ec3407f68cdfd5e032c6cb18126ef33d6c4b3db0669b9cbb8c96bd4 |
|
MD5 | 7408938c3d235970191ee85dd68b37ea |
|
BLAKE2b-256 | 66fbf24c02697d412eff1e4f1dd1cb7bc6bd5df856e8cb5c61a79bd8d528f9ed |
哈希值 for ciso8601-2.3.1-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6850889813f3135e0aa18f0aaec64249dd81d36a1b9bce60bb45182930c86663 |
|
MD5 | 2aeb1f9e1039b20cdda48ed3c6effc90 |
|
BLAKE2b-256 | e9eed2d80128f3e61466472ebec66482caad9f457eba2c2fa21bcacbd46f5bd8 |
哈希值 for ciso8601-2.3.1-cp36-cp36m-musllinux_1_1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46a3663c2cf838f0149e1cdb8e4bdc95716e03cf2d5f803a6eb755d825896ebe |
|
MD5 | 1fe05a546e09e949ac2ae251a29e3b62 |
|
BLAKE2b-256 | d0019fd1cedbae8fe0cb8d075c7566bc46182a58b6c5ce3b4edff5d2f2ad45fc |
哈希值 for ciso8601-2.3.1-cp36-cp36m-musllinux_1_1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 874d20c6339e9096baaadfd1b9610bb8d5b373a0f2858cc06de8142b98d2129c |
|
MD5 | d69f3ba3900b3c49d6d25026420d3cd5 |
|
BLAKE2b-256 | e0c22c69b191a6c3f2bb71cd3c55ec759e3df8b0b1146c8d84268c17bf75d09e |
哈希值 for ciso8601-2.3.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 36525b1f380f4601533f4631c69911e44efb9cb50beab1da3248b0daa32bced4 |
|
MD5 | 894c1a802a5738ba275bf122b36cb767 |
|
BLAKE2b-256 | 9b93a66c1eb77ae3abf3090c27014f47950159619940378de2986d863467d125 |
哈希值 for ciso8601-2.3.1-cp36-cp36m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 02ecbd7c8336c4e1c6bb725b898e29414ee92bdc0be6c72fb07036836b1ac867 |
|
MD5 | da69f82b17984ab73dc4fa9c71948e64 |
|
BLAKE2b-256 | f3fb175cf085a4de548c10b6ea1dba725ca7b7db6eed65e288a2bafae4b55772 |