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 calendar manipulation (shifting & replacing).
  • 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 delta difference against datetime-like object(s).

Pydt Usage

The Pydt class is drop-in replacement for Python’s native datetime.datetime, with additional functionalities.

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.frommicroseconds(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.fromdayofyear(1970, 1)
>>> 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.toseconds()
>>>  0.0
dt.tomicroseconds()
>>>  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
dt.to_first_of("Y").is_first_of("Y")
>>> True
dt.to_last_of("Q").is_last_of("Q")
>>> True
dt.to_start_of("M").is_start_of("M")
>>> True
dt.to_end_of("W").is_end_of("W")
>>> True

# . 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
dt.weekday_name("fr")
>>> "lundi"

# . day
dt.is_day(2)
>>> True

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

Pddt Usage

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

  • Vectorized parsing, creation, and calendar manipulation (shifting & replacing).
  • Provides the same functionalities as Pydt (see examples above), but for datetime index.
  • Pddt is datetime64[us] focused. It will try to retain nanosecond resolution when possible, but will automatically downcast to microsecond resolution if the value exceeds the bounds of datetime64[ns]. This behavior applies to all Pddt methods.

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

# 1970-01-01: datetime64[ns]
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)

# 9999-01-01: datetime64[us]
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 modifies the date & time when the resulting values are out of the 'ns' range:

from cytimes import Pddt

# 1970-01-01: datetime64[ns]
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)

# add 1000 years: datetime64[us]
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-3.0.2.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

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

cytimes-3.0.2-cp313-cp313-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.13Windows x86-64

cytimes-3.0.2-cp313-cp313-win32.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86

cytimes-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cytimes-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cytimes-3.0.2-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cytimes-3.0.2-cp313-cp313-macosx_10_13_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

cytimes-3.0.2-cp313-cp313-macosx_10_13_universal2.whl (5.3 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

cytimes-3.0.2-cp312-cp312-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.12Windows x86-64

cytimes-3.0.2-cp312-cp312-win32.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86

cytimes-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cytimes-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytimes-3.0.2-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cytimes-3.0.2-cp312-cp312-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

cytimes-3.0.2-cp312-cp312-macosx_10_9_universal2.whl (5.3 MB view details)

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

cytimes-3.0.2-cp311-cp311-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.11Windows x86-64

cytimes-3.0.2-cp311-cp311-win32.whl (3.8 MB view details)

Uploaded CPython 3.11Windows x86

cytimes-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cytimes-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cytimes-3.0.2-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cytimes-3.0.2-cp311-cp311-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cytimes-3.0.2-cp311-cp311-macosx_10_9_universal2.whl (5.3 MB view details)

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

cytimes-3.0.2-cp310-cp310-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.10Windows x86-64

cytimes-3.0.2-cp310-cp310-win32.whl (3.8 MB view details)

Uploaded CPython 3.10Windows x86

cytimes-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cytimes-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cytimes-3.0.2-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cytimes-3.0.2-cp310-cp310-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-3.0.2-cp310-cp310-macosx_10_9_universal2.whl (5.3 MB view details)

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

File details

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

File metadata

  • Download URL: cytimes-3.0.2.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2.tar.gz
Algorithm Hash digest
SHA256 dcfac7d41c2620e697fc62281ddea2e737b30080a4ea16cb522303b68b248425
MD5 a703004439c248c74531c8df403336d0
BLAKE2b-256 46a0ad305af00f289461d66c4bd4bcb1677551f7fb84efa5df34dc3e5e464100

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: cytimes-3.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 80e30767e478b20ae5c070b2e0e74958117bbf7b80900c1eabb72c473312fa7b
MD5 064fc2ae56b3d05b2a4557492e84fb3b
BLAKE2b-256 f27b7fe5e10db8d4b6165d300872781c7e1bbf799c691b133ddb6e0b7b6bbcee

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: cytimes-3.0.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 8accc32ef04ce983f15e61ba98274a73cfa638c022d6851510634d293dad2df0
MD5 09b1f7e6c526d73aaecc874feefec09d
BLAKE2b-256 9ca8475509a1483926def9fe30c39630ae185110612a9008a70eaf5756c209ab

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 770c9f7a2ac005dcaf7e42cd0f7de30fbfbb95641668dc31417688b524f5e0df
MD5 6890a6ab66cbab150e75a7decdec71c8
BLAKE2b-256 b839a7ef39e656ff2a8be50358dc7f7c11451a6d418cab9eaf19182587b765fe

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64dfc4e2af99e81352b2fd0987b7f98834a602fdc0ccce2b6a1ec84a944f8efe
MD5 e0415de30e90d77b8526351b392aad02
BLAKE2b-256 c29923908268168e19999fa1323caa40bf744dd5610e0fa5da909115810d75b8

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12d8060151e5075e6b16745b604ae8329338f02bb1f7cb044a9e6b1d641ac545
MD5 3d0d7b586b531a2ab708d8e079319cb6
BLAKE2b-256 f4d38c1306fbcdb09231be4ed816d01c6fee3590d6776cbe4767f7d2ffde4194

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7a07cbdef186f4874409eaa1557b30c57615152b6996904137f8b0ef2e93fa6d
MD5 db1348aafe31b44d3a195350c1dcfaa9
BLAKE2b-256 5f16df4c43ff62232bdcedb2ffbdc943d2bfda7dfedd6d96950e0b9e55017107

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 6c39d49cda7d2eb6419128d98ff8bf809242c5228506eafaaebdda8537c3e9e8
MD5 5e71dc43e609680d1714681a910441ec
BLAKE2b-256 25af015ec2d528b0c50c5fb3a5c6a6c7465a101bd9456ce3659ead663b940d47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4d2353b1c70c0a29853702cde01c6774ab571e6ae31364bf9b297663bfb0d971
MD5 990f68210ce10868aebf71ccaf502b86
BLAKE2b-256 40f971f6eeaaaf77c79df597617080c55ff84e9566c413c0daac8b67884d5621

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 4b8bdb650ac1a81d3382cfcd95ee37894fb8028d0bc1efbc7e3f10cc30e71cbf
MD5 65079a89c20e46fefe8bc61d6eaf52ad
BLAKE2b-256 4f88c7b42e88f1b3c0c2aaad0beb9fc8ddbb3542f31ef09f9a768b3e32c601bc

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 616e10fbe695f34d4b8040d6cd6deeef39bfa2f99fd1093fbd43ec3af8d53d57
MD5 0a486a31db8f705b25fc81fa3b5540fc
BLAKE2b-256 1e710251a972b26a377a0b60f37e5e87bdc5b18151ac982b08baf68157fe2679

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac455e517b5cadf9aaec8d20e2daa36de6139175968ba57d73aeb4bc1425a12a
MD5 43523dbc09e8770889c1e1b0d7a1c58e
BLAKE2b-256 7860b01da7226fd81a56aa6698a4bcc930eb3d9fe8858eeda2fe70186017238d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cf81f1482e121cc77620271b55e24d08c2affcdf0827f1fc87117abb1541dd0
MD5 3f6558729c91d930648a781c32dc5908
BLAKE2b-256 71ec9aab9910814304c8621cdba7a5428e04d9a9f805a134b4df53c1699ffaad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1ccdff862e10f911eec7c04a3650c1c149a015cc5cf6cd420ad847e7a9524195
MD5 30678adeac81f8b5d28917bd61b7eb3a
BLAKE2b-256 a9fa520ce9d3c693b9500fb6919b8e23b25ac8aa85f1be3bd805659473be1351

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c213a514afef5b57688c1bfe89500629df1de1be12305f3295c2dde5baed52a2
MD5 6474119eb59933bc78b969080262faa2
BLAKE2b-256 7c025870d18428077120b2587325d9c86e0e0d3cf578f2b54f8e94a2fec0c887

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0070453aa858c31bc7fd029e8441c7aee840d5cbb0b6c8044b4bbfd6893189dc
MD5 8aaf86c811a5c8159401d1a8fb05bd46
BLAKE2b-256 7b5a4e6fc9604cd8233148df02c2077b7b8fdf3f3783808c433b5f9d93ddc56f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f3c05519e82b4687e8691894570e5ce307bfbd16e90810aa713c2b25e1a1ac63
MD5 7582014931a93673990782a52e6902db
BLAKE2b-256 f932d53332167f1d87e23cfcf418fa7881534a37b9d1f107ddbb0e10bff47405

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b0c0d026cd5cc09c106b998c039cd7b14507224e7ef4e24cec012300821b4c70
MD5 999f184d59e7eff5a19a20add2b0b842
BLAKE2b-256 de4fcb9cb82230664e765b8af9b80d7dc47558fc23cb8a35f6937cd84e3506df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77d31a92f28babdd82660629cb30b8c02368680c2066d12b34af4e10744b3b15
MD5 fc1db5d5abc168e8a559f53694522c7b
BLAKE2b-256 576945ed0053dc3ba6959b31483a44ced0209d88cf1b095182035bbcad64d134

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2be5bb04a585552eb37b9b49d991c60b17bc2e1b0c5fea0d1259b2493674e505
MD5 6b3316c1077b802473f7c7e9a5dc61c9
BLAKE2b-256 40cd10ce9dc201aa1a6f3000d808cb0a50967470ad4bbc6905a9d9343172ded3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 46f38c3e02f209d70623e82073d6e13b758cfebffb66b0fe6b39dce61f8f2062
MD5 3601b1ba04f75d0d0d02d0b4f9af12e9
BLAKE2b-256 07eaab8f192608d8b18b5b74cb766349d246905d519cf984b37989725c53a3a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a6db5e0d2cb52459272d06c87e08822fe7a14d4c43010a4555ba732473cd64d3
MD5 5f542ba170969fcdc25f56d0af530dec
BLAKE2b-256 1c5caed5970b9eaa83076f1891c670c65d27c401cc84e5fc11b4c356c78c387f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f088f50514bd313f39bf1674991d39fe47663fbbe76b2c22e6938a94ed53677b
MD5 b0cf22551f11b83a46e07ddcccfc36d9
BLAKE2b-256 614e2fedf4176c9f0e7ece56b48a121e5e4e6397fe53dd5d4f1129d03c89899d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 383eb7ebc28a196012bdcc34238b3049846f7b1fca103bc59ae08d73bbaf34e9
MD5 ef9401006fe5ee7a9511c6b32c37fd27
BLAKE2b-256 41f7466248ea49514457d1df69bbc61d6c43ce002e613942977a4d4e3402032f

See more details on using hashes here.

File details

Details for the file cytimes-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 813876845b2da643872f7dcf2cb081caa25beb87528a89e5671b6915947e6812
MD5 bc2f533f7a89a31ba5a3bd674516cbe0
BLAKE2b-256 910d71ba7c25b290ebc9a9e8e262a93ccfb14d5b40cf9b1f6672f296e1a614ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d014e963deaf8f41ed865a8ece22a6ad892c43416b2796df0225be1d47516cdc
MD5 1840ddceaf56f45c81ca4f687c4728d7
BLAKE2b-256 daf98471723a16e5e749d8f84ffbef724a3b5dc8803d45b90b086fabf8bb16ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b834f5b74cf8185397155bbf0cad8c078c24606d2d5a2981d2134c47bf602cb2
MD5 3bc1d2a956312764050327780f940b03
BLAKE2b-256 6bc7f7dcea72d36e3bc135439119517fa435e7e3ad5110e62f475d24beb14305

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e92480fe996cce5d73194d9cc79ae625463f8a052db4c5e8b6fc4fe753857861
MD5 06289a5d43765faca3933bf0209cf13e
BLAKE2b-256 4b0ded3340f3a41a7e3041e169aa8f74716e616c0478009636de51058fd5f846

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3151d2744c340f7adbf32a2f7b9b12e8f35e76d9d6908539d114ba8590ffd928
MD5 ae7922691f07b39eb2570cf534df9b37
BLAKE2b-256 aaad65f1ca399d64aba39cc0efd0120a824915afdf04174a39df06fd6ef2dded

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