Skip to main content

Make working with datetimes in Python simpler and more powerful.

Project description

Make working with datetimes in Python simpler and more powerful.

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

cyTimes introduces two classes that simplify and enhance working with datetimes:

  • Pydt (Python datetime.datetime)
  • Pddt (Pandas DatetimeIndex)

Both provide similar functionalities:

  • Direct drop-in replacements (subclasses) for standard Python datetime and Pandas DatetimeIndex.
  • Cython-optimized for high-performance parsing, creation, and manipulation.
  • Well-documented methods with type annotations.
  • Flexible constructors accepting multiple input formats (strings, datetime objects, timestamps, etc.).
  • Rich conversion options (ISO strings, ordinals, timestamps, and more).
  • Comprehensive manipulation for precise datetime fields adjustments (years, quarters, months, days, time).
  • Direct calendar information insights (e.g., days in month, leap years).
  • Extended timezone-related capabilities.
  • Supports adding or subtracting deltas, and compute deltas against datetime-like object(s).

Pydt Usage

The Pydt class operates similarly to Python’s native datetime.datetime, with added methods and improvements.

Construction

from cytimes import Pydt
import datetime, numpy as np

Pydt(1970, 1, 1, tzinfo="UTC")
>>> 1970-01-01 00:00:00+0000
Pydt.parse("1970 Jan 1 00:00:01 PM")
>>> 1970-01-01 12:00:01
Pydt.now()
>>> 2024-12-06 10:37:25.619593
Pydt.utcnow()
>>> 2024-12-06 09:37:36.743159+0000
Pydt.combine("1970-01-01", "00:00:01")
>>> 1970-01-01 00:00:01
Pydt.fromordinal(1)
>>> 0001-01-01 00:00:00
Pydt.fromseconds(1)
>>> 1970-01-01 00:00:01
Pydt.fromicroseconds(1)
>>> 1970-01-01 00:00:00.000001
Pydt.fromtimestamp(1, datetime.UTC)
>>> 1970-01-01 00:00:01+0000
Pydt.utcfromtimestamp(1)
>>> 1970-01-01 00:00:01+0000
Pydt.fromisoformat("1970-01-01T00:00:01")
>>> 1970-01-01 00:00:01
Pydt.fromisocalendar(1970, 1, 4)
>>> 1970-01-01 00:00:00
Pydt.fromdate(datetime.date(1970, 1, 1))
>>> 1970-01-01 00:00:00
Pydt.fromdatetime(datetime.datetime(1970, 1, 1))
>>> 1970-01-01 00:00:00
Pydt.fromdatetime64(np.datetime64(1, "s"))
>>> 1970-01-01 00:00:01
Pydt.strptime("00:00:01 1970-01-01", "%H:%M:%S %Y-%m-%d")
>>> 1970-01-01 00:00:01

Conversion

from cytimes import Pydt

dt = Pydt(1970, 1, 1, tzinfo="CET")

dt.ctime()
>>>  "Thu Jan  1 00:00:00 1970"
dt.strftime("%Y-%m-%d %H:%M:%S %Z")
>>>  "1970-01-01 00:00:00 CET"
dt.isoformat()
>>>  "1970-01-01T00:00:00+01:00"
dt.timetuple()
>>> (1970, 1, 1, 0, 0, 0, 3, 1, 0)
dt.toordinal()
>>>  719163
dt.seconds()
>>>  0.0
dt.microseconds()
>>>  0
dt.timestamp()
>>>  -3600.0
dt.date()
>>>  1970-01-01
dt.time()
>>>  00:00:00
dt.timetz()
>>>  00:00:00

Manipulation

from cytimes import Pydt

dt = Pydt(1970, 2, 2, 2, 2, 2, 2, "CET")

# . replace
dt.replace(year=2007, microsecond=1, tzinfo="UTC")
>>> 2007-02-02 02:02:02.000001+0000

# . year
dt.to_curr_year(3, 15)
>>> 1970-03-15 02:02:02.000002+0100
dt.to_prev_year("Feb", 30)
>>> 1969-02-28 02:02:02.000002+0100
dt.to_next_year("十二月", 31)
>>> 1971-12-31 02:02:02.000002+0100
dt.to_year(100, "noviembre", 30)
>>> 2070-11-30 02:02:02.000002+0100

# . quarter
dt.to_curr_quarter(3, 15)
>>> 1970-03-15 02:02:02.000002+0100
dt.to_prev_quarter(3, 15)
>>> 1969-12-15 02:02:02.000002+0100
dt.to_next_quarter(3, 15)
>>> 1970-06-15 02:02:02.000002+0100
dt.to_quarter(100, 3, 15)
>>> 1995-03-15 02:02:02.000002+0100

# . month
dt.to_curr_month(15)
>>> 1970-02-15 02:02:02.000002+0100
dt.to_prev_month(15)
>>> 1970-01-15 02:02:02.000002+0100
dt.to_next_month(15)
>>> 1970-03-15 02:02:02.000002+0100
dt.to_month(100, 15)
>>> 1978-06-15 02:02:02.000002+0200

# . weekday
dt.to_monday()
>>> 1970-02-02 02:02:02.000002+0100
dt.to_sunday()
>>> 1970-02-08 02:02:02.000002+0100
dt.to_curr_weekday(4)
>>> 1970-02-06 02:02:02.000002+0100
dt.to_prev_weekday(4)
>>> 1970-01-30 02:02:02.000002+0100
dt.to_next_weekday(4)
>>> 1970-02-13 02:02:02.000002+0100
dt.to_weekday(100, 4)
>>> 1972-01-07 02:02:02.000002+0100

# . day
dt.to_yesterday()
>>> 1970-02-01 02:02:02.000002+0100
dt.to_tomorrow()
>>> 1970-02-03 02:02:02.000002+0100
dt.to_day(100)
>>> 1970-05-13 02:02:02.000002+0100

# . date&time
dt.to_first_of("Y")
>>> 1970-01-01 02:02:02.000002+0100
dt.to_last_of("Q")
>>> 1970-03-31 02:02:02.000002+0100
dt.to_start_of("M")
>>> 1970-02-01 00:00:00+0100
dt.to_end_of("W")
>>> 1970-02-08 23:59:59.999999+0100

# . round / ceil / floor
dt.round("h")
>>> 1970-02-02 02:00:00+0100
dt.ceil("m")
>>> 1970-02-02 02:03:00+0100
dt.floor("s")
>>> 1970-02-02 02:02:02+0100

Calendar Information

from cytimes import Pydt

dt = Pydt(1970, 2, 2, tzinfo="UTC")

# . iso
dt.isocalendar()
>>> {'year': 1970, 'week': 6, 'weekday': 1}
dt.isoyear()
>>> 1970
dt.isoweek()
>>> 6
dt.isoweekday()
>>> 1

# . year
dt.is_leap_year()
>>> False
dt.is_long_year()
>>> True
dt.leap_bt_year(2007)
>>> 9
dt.days_in_year()
>>> 365
dt.days_bf_year()
>>> 719162
dt.days_of_year()
>>> 33
dt.is_year(1970)
>>> True

# . quarter
dt.days_in_quarter()
>>> 90
dt.days_bf_quarter()
>>> 0
dt.days_of_quarter()
>>> 33
dt.is_quarter(1)
>>> True

# . month
dt.days_in_month()
>>> 28
dt.days_bf_month()
>>> 31
dt.days_of_month()
>>> 2
dt.is_month("Feb")
>>> True
dt.month_name("es")
>>> "febrero"

# . weekday
dt.is_weekday("Monday")
>>> True

# . day
dt.is_day(2)
>>> True
dt.day_name("fr")
>>> "lundi"

# . date&time
dt.is_first_of("Y")
>>> False
dt.is_last_of("Q")
>>> False
dt.is_start_of("M")
>>> False
dt.is_end_of("W")
>>> False

Timezone Operation

from cytimes import Pydt

dt = Pydt(1970, 1, 1, tzinfo="UTC")

dt.is_local()
>>> False
dt.is_utc()
>>> True
dt.is_dst()
>>> False
dt.tzname()
>>> "UTC"
dt.utcoffset()
>>> 0:00:00
dt.utcoffset_seconds()
>>> 0
dt.dst()
>>> None
dt.astimezone("CET")
>>> 1970-01-01 01:00:00+0100
dt.tz_localize(None)
>>> 1970-01-01 00:00:00
dt.tz_convert("CET")
>>> 1970-01-01 01:00:00+0100
dt.tz_switch("CET")
>>> 1970-01-01 01:00:00+0100

Arithmetic

from cytimes import Pydt

dt = Pydt(1970, 1, 1, tzinfo="UTC")

dt.add(years=1, weeks=1, microseconds=1)
>>> 1971-01-08 00:00:00.000001+0000
dt.sub(quarters=1, days=1, seconds=1)
>>> 1969-09-29 23:59:59+0000
dt.diff("2007-01-01 01:01:01+01:00", "s")
>>> -1167609662

Comparison

from cytimes import Pydt

dt = Pydt(1970, 1, 1)

dt.is_past()
>>> True
dt.is_future()
>>> False
dt.closest("1970-01-02", "2007-01-01")
>>> 1970-01-02 00:00:00
dt.farthest("1970-01-02", "2007-01-01")
>>> 2007-01-01 00:00:00

Pddt Usage

Pddt extends similar functionalities to Pandas DatetimeIndex, making it behave more like native Python datetime.datetime, but for arrays of datetime values. It supports:

  • Vectorized parsing, creation, and manipulation.
  • Most of the same methods and properties as Pydt (see examples above), adapted for datetime-arrays.
  • Automatic handling of out-of-range datetimes in nanoseconds by downcasting to microsecond precision 'us' to avoid overflow.

Handling Nanosecond Overflow

By default, DatetimeIndex uses nanosecond precision 'ns', which cannot represent datetimes outside the range 1677-09-21 to 2262-04-11. Pddt automatically downcasts to microseconds us when encountering out-of-range datetimes, sacrificing nanosecond precision to allow a broader range support.

from cytimes import Pddt

Pddt(["9999-01-01 00:00:00+00:00", "9999-01-02 00:00:00+00:00"])
>>> Pddt(['9999-01-01 00:00:00+00:00', '9999-01-02 00:00:00+00:00'],
        dtype='datetime64[us, UTC]', freq=None)

Downcasting mechanism also automacially applies to all methods that modify the datetimes, resulting values out of the 'ns' range:

from cytimes import Pddt

pt = Pddt(["1970-01-01 00:00:00+00:00", "1970-01-02 00:00:00+00:00"])
# Pddt(['1970-01-01 00:00:00+00:00', '1970-01-02 00:00:00+00:00'],
#       dtype='datetime64[ns, UTC]', freq=None)
pt.to_year(1000, "Feb", 30)
>>> Pddt(['2970-02-28 00:00:00+00:00', '2970-02-28 00:00:00+00:00'],
        dtype='datetime64[us, UTC]', freq=None)

Acknowledgements

cyTimes is based on several open-source repositories.

cyTimes is built on the following open-source repositories:

  • dateutil

    Class <'Parser'> and <'Delta'> in this package are the cythonized version of <'dateutil.parser'> and <'dateutil.relativedelta'>. Credit and thanks 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-2.0.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cytimes-2.0.0-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

cytimes-2.0.0-cp312-cp312-win32.whl (3.0 MB view details)

Uploaded CPython 3.12Windows x86

cytimes-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

cytimes-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytimes-2.0.0-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cytimes-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

cytimes-2.0.0-cp312-cp312-macosx_10_9_universal2.whl (4.4 MB view details)

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

cytimes-2.0.0-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

cytimes-2.0.0-cp311-cp311-win32.whl (3.0 MB view details)

Uploaded CPython 3.11Windows x86

cytimes-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

cytimes-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cytimes-2.0.0-cp311-cp311-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cytimes-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cytimes-2.0.0-cp311-cp311-macosx_10_9_universal2.whl (4.4 MB view details)

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

cytimes-2.0.0-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

cytimes-2.0.0-cp310-cp310-win32.whl (3.0 MB view details)

Uploaded CPython 3.10Windows x86

cytimes-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

cytimes-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cytimes-2.0.0-cp310-cp310-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cytimes-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-2.0.0-cp310-cp310-macosx_10_9_universal2.whl (4.4 MB view details)

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

File details

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

File metadata

  • Download URL: cytimes-2.0.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ad4836e92cec4ddbd9aa04665f3bdc6d237c2f3935e70cd622f1d6a2359c9039
MD5 53685172ee02d405f88b9d64de9db041
BLAKE2b-256 facc23582b82ea4833bc850e48e6684c60c7e4722b3f672831923ac65b94e8f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b258d454fa8aa0d30a77261bb226f0dd5ddbc4137cbd81114e7003bd14205cfa
MD5 58f21083669f0db689766ec5386ff483
BLAKE2b-256 eb5ced85e95e069efd90228185d26704c5b569e08a0d69973b58fdd6ddaea682

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ded038fe67b984cd61d431e15d68f8b87114ed00166d907a77db136048ef38e5
MD5 2a481f2b1eb57c8aea11918290acd1b1
BLAKE2b-256 b8461bdae1bb50b461261306873a7327aeb8ff221458486376b888744cba6cec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ada920da44e104d3f4ff9edc91b014e3eabe9491d8728556de50a353ec5d0e5f
MD5 d046b3c0ed392ddff58e40953f20b3d1
BLAKE2b-256 f8e09eedcbd6a82516149253065befc6a276d73463f3c4288ab671d3087f68d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fa37f47ff6cd270c769c11a0226814f89d872bc06b7e07cfd897e65225915d3
MD5 e376983ee6b1ede4e6be1f153349694f
BLAKE2b-256 a4593240d6627af476e80ba1fff2c482477f8bbae2d99e9dc41b8adf862fde30

See more details on using hashes here.

File details

Details for the file cytimes-2.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08453b1bb3d1c32d59ee973e22b20d4a57724d886cd9daf3d0682e1f128be81b
MD5 1b5a6372a61ebc8405699a34e6049a97
BLAKE2b-256 a31f4cf6dc41e13c993ecb8aaa3c8442dff5c7ce3418681891d2654a52a65e28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eeefcd1f1e1784a716c1c5b9614e2d5e8d33257ae246ed5884f1171baeff19d1
MD5 ff952e8e44a751b38c8e2435e97db09e
BLAKE2b-256 a5fd868e1e6256dab82188ed43b172e6d725a90c59b3aac92cd178b28bbf3351

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0a967616a4ad57d6626b7be317316f21525df31a51e88c5b871cb580d9da6013
MD5 c6c703cb73b71853032ca7ca93287674
BLAKE2b-256 ba00933236e9d04dfe3e76d75dec5c4c15e45512981bf0ff82b66f1c417baf95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a2857b826eff555cd4de9f8f58efcc25dd8570db2c1efcf7176906faf9d803e3
MD5 e1ad8297385e293da4a9338a69fa3f32
BLAKE2b-256 2429f03480a5ae7aa0808aa5d6d30fad2c729aa212ed7b6512f240071ec9c319

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b11db916b61928c4a41fa906027b2d639c516e1c10b7c0170ef21d7c64a2a2d0
MD5 c757959ba52198950085944cfab607a1
BLAKE2b-256 f5b7b181d963eb4486536754917ab4d8cf8bf2a5a798c44e84086590cfd310cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0c9b9a103523fb9501e828012b6053b0e96ef71d1c62e1a91753964a44faa821
MD5 004f979fa36ce20e5b6ae3a638f012c9
BLAKE2b-256 630bda27ccdefb6447b928f190e1e93ba203954e73a736f82abb7bb59c37690d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c1483bde847a765d4ca592e603837fd2dda57924a72375c7174070a3235f066
MD5 fff140ace2b28247dd24656f80565448
BLAKE2b-256 9af7036c19c9a44182bdd602e16866976beb39f810561cdf0c64422f32362ebd

See more details on using hashes here.

File details

Details for the file cytimes-2.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35a90285b632b6b8bdd01cc7698c2b30d26af1cf72a75d61982874f44d93750c
MD5 8cad3950808c5c5665486a9d8d383a91
BLAKE2b-256 5e63f0fe4b27e99e76a73e398b30d28951e5694ee84e4babde3413187f0e568f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93eb7655a04cbf873e97a07cfabfa7220b962206b201ae29df42d31a3a8d3e19
MD5 52cc35496bb63c488075c8d3355918ed
BLAKE2b-256 65a9f0758ae2297dd3a8a1c36822655b7fbe63a1320e303b64cfd15bfddb8744

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3677eabd2eb5bbd0a4321e13ce634cfa15b07d5a0702d0891a7866a7bd0f57e7
MD5 87ca72971ef1e9fabb148c1d0f0b9b97
BLAKE2b-256 e65952acd2ebb1c4c08a1d0be4b0d84a826623364d5ae7cee5baefb33f89bf7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d68c3a707dd221eb1597eeba23e395d386e2b4efb701647d51e5658f8c6d962
MD5 845a45688c9c9802d384864cacbaa5bc
BLAKE2b-256 fc7faa429eaf55e5bb83bca808f0b65f613952b969735720bbbf8d2dcda30fc6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 dff36912cbf1c9f0ffd994f8a08bf219535ca63461657f68d69f8ea7ad6db33a
MD5 604cdf9bdfbc60c43c9de7b7feb309df
BLAKE2b-256 58b8385a9c7330a9f50a9993118b6e1f1a877c515c5d2ca3efc8dc710e34ff41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a0bd872c2db2c21a31f0c34c8ce629c6fbe826c3eef2d63604a3242026ee3cbd
MD5 1c88616e2ccc8d6bbde8b7928c7373dc
BLAKE2b-256 d02ca2ecf02862eaae4965a8a99580cdfd19b0f91e79864646226745f52358d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8f5ffae5f88bba4922d41f381970e97ef039ba3a96983bea5cb02c8688b5d46
MD5 1a409bdb75ebb492d495b0838642e290
BLAKE2b-256 8a738090804f206e409a07392f436cb6b10f6a762782a26718868ae4f37ad2ad

See more details on using hashes here.

File details

Details for the file cytimes-2.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 792213ad9cae78fa8ca7549602681d543898864205efbfd390e966550c631aad
MD5 127c271b4b5ceb74112e74ef32317987
BLAKE2b-256 09e18befbcde6a1d8cff88be57f6eb1ffc11febcf09860fc8e4939b4604750e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bfee44f336b31496c62518632af5dbdcd7b03e3baae6bfc3b3d4e6fdbc1addde
MD5 7fc3045bd91624328e77e224e1d52e3a
BLAKE2b-256 546d73c88308f369f470e9bece434f5f991607d3b217d1731c183a3888f3694b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 330ddabfd1077efdd829f40cd3821f0d095cd33d193d1041061a586a6373889b
MD5 8655dbd8317ab353ec4b0e05f681420a
BLAKE2b-256 b0281b982801ab0cd3ab427fdaa380fe19b250ea26ead8d5a6650c978f45fab6

See more details on using hashes here.

Supported by

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