Skip to main content

Make working with datetime easier in Python.

Project description

Easy management of python datetime & pandas time Series.

Created to be used in a project, this package is published to github for ease of management and installation across different modules.

Installation

Install from PyPi

pip install cytimes

Install from github

pip install git+https://github.com/AresJef/cyTimes.git

Compatibility

Supports Python 3.10 and above.

Features

Provides two classes to make working with datetime easier in Python.

  • pydt (Python Datetime)
  • pddt (Pandas Series / DatetimeIndex)

Both provide similar functionalities:

  • Parse datetime strings or datetime objects.
  • Access in different data types.
  • Conversion to numeric values (ordinal, total_seconds, timestamp, etc.)
  • Calender properties (days_in_month, weekday, etc.)
  • Year manipulation (to_next_year, to_year, etc.)
  • Quarter manipulation (to_next_quarter, to_quarter, etc.)
  • Month manipulation (to_next_month, to_to_month, etc.)
  • Day manipulation (to_next_week, to_week, etc.)
  • Time manipulation (to_time_start, to_time, etc.)
  • Timezone manipulation (tz_localize, tz_convert, etc.)
  • Frequency manipulation (freq_round, freq_ceil, freq_floor, etc.)
  • Delta adjustment (Equivalent to adding relativedelta or pandas.DateOffset)
  • Delta difference (Calcualte the absolute delta between two datetimes)
  • Supports addition / substruction / comparision.

Parser Performance

A major focus of this package is to optimize the datetime string parsing speed (through Cython), meanwhile maintains the maximum support for different datetime string formats. The following results are tested on an Apple M1 Pro:

Strict Isoformat without Timezone
------------------------ Strict Isoformat w/o Timezone -------------------------
Text:   '2023-08-01 12:00:00.000001'        Rounds: 100,000
- pydt():                   0.056599s
- direct create:            0.013991s       Perf Diff: -3.045365x
- dt.fromisoformat():	    0.010218s       Perf Diff: -4.539231x
- pendulum.parse():         0.406704s       Perf Diff: +6.185740x
- dateutil.isoparse():	    0.301066s       Perf Diff: +4.319307x
- dateutil.parse():         2.122079s       Perf Diff: +36.493413x

##### Strict Isoformat with Timezone
Strict Isoformat with Timezone
------------------------ Strict Isoformat w/t Timezone -------------------------
Text:   '2023-08-01 12:00:00.000001+02:00'  Rounds: 100,000
- pydt():                   0.065986s
- direct create:            0.014609s       Perf Diff: -3.516726x
- dt.fromisoformat():       0.013402s       Perf Diff: -3.923484x
- pendulum.parse():         0.412670s       Perf Diff: +5.253882x
- dateutil.isoparse():      0.457038s       Perf Diff: +5.926272x
- dateutil.parse():         2.611803s       Perf Diff: +38.581074x
Loose Isoformat without Timezone
------------------------- Loose Isoformat w/o Timezone -------------------------
Text:   '2023/08/01 12:00:00.000001'        Rounds: 100,000
- pydt():                   0.057039s
- pendulum.parse():         0.838589s       Perf Diff: +13.701917x
- dateutil.parse():         2.062576s       Perf Diff: +35.160516x
Loose Isoformat with Timezone
------------------------- Loose Isoformat w/t Timezone -------------------------
Text:   '2023/08/01 12:00:00.000001+02:00'  Rounds: 100,000
- pydt():                   0.066949s
- dateutil.parse():         2.612083s       Perf Diff: +38.016035x
Parse Datetime Strings
---------------------------- Parse Datetime Strings ----------------------------
Total datetime strings: #378                Rounds: 1,000
- pydt():                   0.587047s
- dateutil.parse():         7.182461s       Perf Diff: +11.234897x

Usage for <'pydt'>

For more detail information, please refer to class methods' documentation.

from cytimes import pydt, cytimedelta
import datetime, numpy as np, pandas as pd

# Create
pt = pydt('2021-01-01 00:00:00')  # ISO format string
pt = pydt("2021 Jan 1 11:11 AM")  # datetime string
pt = pydt(datetime.datetime(2021, 1, 1, 0, 0, 0))  # <'datetime.datetime'>
pt = pydt(datetime.date(2021, 1, 1))  # <'datetime.date'>
pt = pydt(pd.Timestamp("2021-01-01 00:00:00"))  # <'pandas.Timestamp'>
pt = pydt(np.datetime64("2021-01-01 00:00:00"))  # <'numpy.datetime64'>
pt = pydt.now()  # current time
pt = pydt.from_ordinal(1)
pt = pydt.from_timestamp(1)
...

# . multi-language support
# . common month / weekday / ampm
# . EN / DE / FR / IT / ES / PT / NL / SE / PL / TR / CN
pt = pydt("februar 23, 2023")  # DE
pt = pydt("martes mayo 23, 2023")  # ES
pt = pydt("2023年3月15日 12时15分50秒")  # CN
...

# Access in different data types
pt.dt  # <'datetime.datetime'>
pt.date  # <'datetime.date'>
pt.time  # <'datetime.time'>
pt.timetz  # <'datetime.time'> (with timezone)
pt.ts  # <'pandas.Timestamp'>
pt.dt64  # <'numpy.datetime64'>
...

# Conversion
pt.dt_iso  # <'str'> ISO format
pt.ordinal  # <'int'> ordinal of the date
pt.timestamp  # <'float'> timestamp
...

# Calender
pt.is_leapyear()  # <'bool'>
pt.days_bf_year  # <'int'>
pt.days_in_month  # <'int'>
pt.weekday  # <'int'>
pt.isocalendar  # <'dict'>
...

# Year manipulation
pt.to_year_lst()  # Go to the last day of the current year.
pt.to_curr_year("Feb", 30)  # Go to the last day in February of the current year.
pt.to_year(-3, "Mar", 15)  # Go to the 15th day in March of the current year(-3).
...

# Quarter manipulation
pt.to_quarter_1st()  # Go to the first day of the current quarter.
pt.to_curr_quarter(2, 0)  # Go the the 2nd month of the current quarter with the same day.
pt.to_quarter(3, 2, 31)  # Go the the last day of the 2nd month of the current quarter(+3).
...

# Month manipulation
pt.to_month_lst()  # Go to the last day of the current month.
pt.to_next_month(31)  # Go to the last day of the next month.
pt.to_month(3, 15)  # Go the the 15th day of the current month(+3).
...

# Weekday manipulation
pt.to_monday()  # Go to Monday of the current week.
pt.to_curr_weekday("Sun")  # Go to Sunday of the current week.
pt.to_weekday(-2, "Sat")  # Go to Saturday of the current week(-2).
...

# Day manipulation
pt.to_tomorrow() # Go to Tomorrow.
pt.to_yesterday() # Go to Yesterday.
pt.to_day(-2) # Go to today(-2).
...

# Time manipulation
pt.to_time_start() # Go to the start of the time (00:00:00).
pt.to_time_end() # Go to the end of the time (23:59:59.999999).
pt.to_time(1, 1, 1, 1, 1) # Go to specific time (01:01:01.001001).
...

# Timezone manipulation
pt.tz_localize("UTC")  # Equivalent to 'datetime.replace(tzinfo=UTC).
pt.tz_convert("CET")  # Convert to "CET" timezone.
pt.tz_switch(targ_tz="CET", base_tz="UTC")  # Localize to "UTC" & convert to "CET".

# Frequency manipulation
pt.freq_round("D")  # Round datetime to the resolution of hour.
pt.freq_ceil("s")  # Ceil datetime to the resolution of second.
pt.freq_floor("us")  # Floor datetime to the resolution of microsecond.

# Delta
pt.add_delta(years=1, months=1, days=1, milliseconds=1)  # Add Y/M/D & ms.
pt.cal_delta("2023-01-01 12:00:00", unit="D", inclusive="both")  # Calcualte the absolute delta in days.
...

# Addition Support
# <'datetime.timedelta>, <'pandas.Timedelta'>, <'numpy.timedelta64'>
# <'dateutil.relativedelta'>, <'cytimes.cytimedelta'>
pt = pt + datetime.timedelta(1)
pt = pt + cytimedelta(years=1, months=1)
...

# Substraction Support
# <'datetime.datetime'>, <'pandas.Timestamp'>, <'numpy.datetime64'>, <'str'>, <'pydt'>
# <'datetime.timedelta>, <'pandas.Timedelta'>, <'numpy.timedelta64'>
# <'dateutil.relativedelta'>, <'cytimes.cytimedelta'>
delta = pt - datetime.datetime(1970, 1, 1)
delta = pt - "1970-01-01"
pt = pt - datetime.timedelta(1)
...

# Comparison Support
# <'datetime.datetime'>, <'pandas.Timestamp'>, <'str'>, <'pydt'>
res = pt == datetime.datetime(1970, 1, 1)
res = pt == "1970-01-01"
...

Usage for <'pddt'>

Class pddt provides similar functionality to pydt (methods and properties, see examples for pydt), but is designed to work with <'pandas.Series'> and <'pandas.DatetimeIndex>.

Out of bounds for nanoseconds

When encountering datetime values that are out of bounds for nanoseconds datetime64[ns], pddt will automatically try to parse the value into microseconds datetime64[us] for greater compatibility.

from cytimes import pddt

dts = [
    "2000-01-02 03:04:05.000006",
    "2100-01-02 03:04:05.000006",
    "2200-01-02 03:04:05.000006",
    "2300-01-02 03:04:05.000006",  # out of bounds
]
pt = pddt(dts)
print(pt)
0   2000-01-02 03:04:05.000006
1   2100-01-02 03:04:05.000006
2   2200-01-02 03:04:05.000006
3   2300-01-02 03:04:05.000006
dtype: datetime64[us]
Specify desired time unit resolution

Sometimes the initial data is alreay a <'pandas.Series'> but defaults to datetime64[ns], <'pddt'> supports specifing the the desired time 'unit' so adding delta or manipulating year can be within bounds.

from pandas import Series
from datetime import datetime

dts = [
    datetime(2000, 1, 2),
    datetime(2100, 1, 2),
    datetime(2200, 1, 2),
]
ser = Series(dts)  # Series defaults to 'datetime64[ns]'
pt = pddt(ser, unit="us")
0   2000-01-02
1   2100-01-02
2   2200-01-02
dtype: datetime64[us]
Direct assignment to DataFrame
from pandas import DataFrame

df = DataFrame()
df["pddt"] = pt
print(df)
                        pddt
0 2000-01-02 03:04:05.000006
1 2100-01-02 03:04:05.000006
2 2200-01-02 03:04:05.000006
3 2300-01-02 03:04:05.000006

Acknowledgements

cyTimes is based on several open-source repositories.

cyTimes makes modification of the following open-source repositories:

  • dateutil The class <'Parser'> and <'cytimedelta'> in this package is basically a cythonized version of <'dateutil.parser'> and <'dateutil.relativedelta'>. All credits go to the original authors and contributors of the dateutil library.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cytimes-1.0.3.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

cytimes-1.0.3-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12 Windows x86-64

cytimes-1.0.3-cp312-cp312-win32.whl (1.8 MB view details)

Uploaded CPython 3.12 Windows x86

cytimes-1.0.3-cp312-cp312-musllinux_1_1_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

cytimes-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

cytimes-1.0.3-cp312-cp312-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

cytimes-1.0.3-cp312-cp312-macosx_10_9_universal2.whl (2.7 MB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

cytimes-1.0.3-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11 Windows x86-64

cytimes-1.0.3-cp311-cp311-win32.whl (1.8 MB view details)

Uploaded CPython 3.11 Windows x86

cytimes-1.0.3-cp311-cp311-musllinux_1_1_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

cytimes-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cytimes-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

cytimes-1.0.3-cp311-cp311-macosx_10_9_universal2.whl (2.7 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

cytimes-1.0.3-cp310-cp310-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10 Windows x86-64

cytimes-1.0.3-cp310-cp310-win32.whl (1.8 MB view details)

Uploaded CPython 3.10 Windows x86

cytimes-1.0.3-cp310-cp310-musllinux_1_1_x86_64.whl (6.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

cytimes-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cytimes-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

cytimes-1.0.3-cp310-cp310-macosx_10_9_universal2.whl (2.7 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file cytimes-1.0.3.tar.gz.

File metadata

  • Download URL: cytimes-1.0.3.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3.tar.gz
Algorithm Hash digest
SHA256 80f09b2ceec6614a64f2c2d6706a539c21652a83397b07ec164e5332025f6acb
MD5 7501101bb164120c25b58b81a28e19f3
BLAKE2b-256 4c3525d17d0c38248246321f15dfc5f46f2803a3f5fd001dbc9d1388d92b687b

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d612fad1cb49fd5224a2a3442b17fc33d87ce5b2c9296fbad4e3603313db5dba
MD5 060a42dd9a24a7dc5c087fc4bb702dcf
BLAKE2b-256 12275a8a316712ea1862275760aeb10e29ca0cef8479b92b1645c561a659960b

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 7ab000b5fe25cc5c2ca5ddfa898bada4758245af031f8786b1a428ec0936edeb
MD5 ffd8162176e5d916f4e709ee3816b289
BLAKE2b-256 d3805c5e8b03a3aa87907c5e4719c16dfcce260e8bc44645532b8fac9c16e867

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 480b4f0e0447bc80fce068883d63f4db9e8ac5a59e1788b8f16db3cda5db73fc
MD5 204862302a136f150714e5f8480c09db
BLAKE2b-256 903aed115b5895e430371b318ce6838047189d82fd25566916a3bc19ce479298

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24ad4144f8a70654ebc3b54e5f97398f1f3a52937d4e025d48d75c6cd294c797
MD5 8a0c57aadd6440202f1fff548e5cc104
BLAKE2b-256 8a1d4768789961d66dcd97be28303f69aaf1e0648c6dd9d136c92740a26c8b64

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2add145a841629c3d24ecbb5a6ef94cab4e3f6378c6bfc06138072ed6e6a8981
MD5 1be1cdbd2d8c27c65a2a9cb01f08714e
BLAKE2b-256 5ad4e3483f657fa39396e1e1f248fe1439d4e26c1028be96ec4d90cc087f8951

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ae534039b94a9985b757d1ad9238816e088f1405eae6e39cb2b3c3f1ccc88b42
MD5 7c525322887fef400c2d4bb32ee405d7
BLAKE2b-256 1727bab1de38674482eee60011d26ed02bd143892da23aae1b2367c149785ce8

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 92ab13104c58609ff8e204c11d7e34f53f780104fa492e8dfc35659bf81a3c7a
MD5 51260d03249fe9694074e6ee198d9b36
BLAKE2b-256 c5773db7f81676e1ac2a4b47d094aed5406079e2ca3178e262956e7985604531

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7cce8e7d97b2642f461375d432f25d67f7d68758eded8537e1a1a7866e680bcd
MD5 fc1c157cad139b7d864bfe90d44a28e3
BLAKE2b-256 c1d7b7c8b2048cb8b495f9c653ace4c55fa6712ef157974f0733a93aef5ee8ff

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a3f557cf70f4ae191d847f930715c76fee01c96277f6abeea24add61eb397dba
MD5 23da8167c1fa444f1f085cbb782e014a
BLAKE2b-256 c4164790bc46be727ff7a667e4da3d511773696321c32c85139507a343442818

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af1abfbba17ce1ff973f0983a4ab789cd0def6cd95d82b1dede2163a941ab530
MD5 f9d54c5a43c80d92fd80191d2ac818bc
BLAKE2b-256 e438ca672d2d909b768337c7e7684161af6d2e6ac3229d7991b3f55a0bd7c72f

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ad5ad50ff737c6b39f2edf994f03adba4a4e480b6b4e3c18c285d30d44642216
MD5 7d5325a9f682d8fc91caa421aa4f5c5b
BLAKE2b-256 438df1669ec0a9a0052c27e6228f7d29dac582eed5beb0d1706e1383062ac942

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1323b903fe28175152b4628131100c1f1aecea84bf4e8cfd2e9a1abce6a4ca04
MD5 b5202eb1e77a92a19f570f581d14db8b
BLAKE2b-256 adf31a28b52bc890859c420a71cfa63676aa88922522f1686479bff0bdd8c794

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 03eef4c6162f681f0a28a1e88a011a0a8f5fb8359574b4551dcf33ce45723a4e
MD5 1d7554e0bca3c81f8572dd3a1c2dcc68
BLAKE2b-256 07a53d26949707d28e6c13ff23857af5a58ffb99977f2338ba998448653574b2

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: cytimes-1.0.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 391186f8a59f3857857c4e31b4de9b7071af99bb9506916e38fdd7800b87ebed
MD5 6cc3805d0dae14c981995de953662b7d
BLAKE2b-256 608744efe77be90623061a3783d587c34716213f44b6043397a306d33b9ac42e

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 21dcc09b3db8d2d5694b945faa5f30620053a36cb2a50825c7f12cce5be03fb5
MD5 4b180c671d38bf63541e259bf4a5e21d
BLAKE2b-256 799744669717b55650fc6dd6d62671fbb4afb27fb343309d2cccb5b7b3db125f

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddd78e992279a178331bd02f61ab8126d6cd66f415c0d0d789f897b5ac4531c5
MD5 b9fab063006afac88ab515fc514012be
BLAKE2b-256 b06b0217c10c3be980f75782d22476cadf2584d1f5017febe6bfd313a6596b6c

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f6c87dd36f9628a378dbf3e9f4e5c80c97125eff4cc3784336847e4dce4f88a5
MD5 9c832e71d9be80ef4af0e2878bb0e639
BLAKE2b-256 acd3221b8b65486f2a63b6ffd7ba1743deee28548907f300e52a5378766edeef

See more details on using hashes here.

File details

Details for the file cytimes-1.0.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cytimes-1.0.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a96d45bd76052b6fc7fccb21eeb2b732e86a1fb10473eff99eb2032991ed0564
MD5 cc5ce9e1c0ddf5a482017bf5a8f9b75a
BLAKE2b-256 f7c5d8dce65682889059436dee1e5e9be242ec97e9c2b791bf389827d082a345

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page