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.3.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.3-cp313-cp313-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

cytimes-3.0.3-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.3-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.3-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

cytimes-3.0.3-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.3-cp312-cp312-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

cytimes-3.0.3-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.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

cytimes-3.0.3-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.3-cp311-cp311-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

cytimes-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cytimes-3.0.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

cytimes-3.0.3-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.3-cp310-cp310-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

cytimes-3.0.3-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.3-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.3-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-3.0.3-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.3.tar.gz.

File metadata

  • Download URL: cytimes-3.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 0ff6478f1e8e2224e1a745954376fd1a04a284979988d03f8a7bb35daf9cc00a
MD5 e91304a19f0f60bd3e575ddafe4f3253
BLAKE2b-256 4c95bbd214698b0325aab69814b8f25a0f8a67532192199e94e430420a3f70e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7464c41b89e86098661c896d2bd23b8f5d8fddbfe389a5e0277b8e1eaae15919
MD5 a2af3220a04a033b17be9f540be0fe3f
BLAKE2b-256 ff2a390e5359e70c45de9babd83e9a5313f98522a31771ad4240de066c4c2f58

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 82fb709d7bc2194961c3c7609066a3d2d8e9bca8fb9fda488346fefba01db37e
MD5 44251b3148f41ef2cef4348eb3ea60d6
BLAKE2b-256 9b515a67d3d33223b1ac9ddee2855858ca8b579d71b62bec78e4d9b99dec430d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 502ae3b9c2baf01c34a431a5f246c61f1c35d80590865e4177473e6e0e97b20a
MD5 22def99f35d5ea90a4401119617b0814
BLAKE2b-256 e5ce253b15cae58fcdbe271440163a38fd350debdfd4ad0c7e137c6c43e57530

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3e9b02a0dad75e8c41cc96865f518f133941f5a74ed53a5612fa7c4d92b8f63
MD5 0d809a2475f1a2b129256c6dad1938ca
BLAKE2b-256 3f722ec51125e2001d1495b26fd77f6fdf2d15981b31f005fe9f55e830295347

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7913c60629c73607b1635028799faed7fa2a398f39285895636fd757df535678
MD5 129dc33a315b492f7448a991eb5aa5fd
BLAKE2b-256 3ac8d0737c76bbd6cd7328977a1fd9a70aaff43a15edf17d5ea228bf83f62819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7508e9aea4ddcacd3fde41bce7bf5cdc8a972ca758251422d5858ffbc12f817d
MD5 f01c48b0546c01e1f8f489c1b756c41f
BLAKE2b-256 97ed93d412e508c1b4e770b14226d8f67951d5cd8749877e25e7033c2e61f780

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 cef0beb2d49bb3c9555d5f6c68faf3b89586e03c14513892f3b77a8b6f640f06
MD5 0a3db56972a7f81f5a16473bbb440e0d
BLAKE2b-256 b3ea18254b16aef348853f21051a1aede7fad7bfd166df06707ec839c3c7780e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e1b1b5a866d233b7c991ac544d4660bb3d4bcaa197cb4e30531d00404e6d06b2
MD5 52094c759ff5154ac685143633246789
BLAKE2b-256 1e20bab3470c5cb1efa72176e06e8d102e5211adb76a5f16a3a58601a315957d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 eedc8ec601896a4054060e669eab7564f742b1f0ee2030bfca29a16bfd8d8dbd
MD5 4e54636cd9f93d7e8120b0c3ebb0441c
BLAKE2b-256 dc364f74ec0e732701f8cfce64fcc53bb2042af771643b947572cb1c15d3bf7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e8140d4b5448e70965d7845b84ea37cd0775f7d7729b0cde9a215141febf2ea0
MD5 1f872c491bc44edfa513e8766d923077
BLAKE2b-256 3f844ed7ecef270a974db17c9221a8e1af9379a671bf6d723cca56e7592fd825

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d344fbb37535fad79c6fb2c404c6e329e80cf0c686f4d265ad20a479826657e
MD5 55d20e4c0b8eca3d7f34cb083b0b671a
BLAKE2b-256 e110309bd19db4259ade18cd9e16e46d959614fef0f83cb186fb0e7e49f9e8ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21a4eb4076b90b4ab9e4cef4109b1c98776b0b68b7a035393cf6f31089f945ce
MD5 28b22f264569250f9d4e77bc20048fd7
BLAKE2b-256 5e6eb476dcf122da4cfbb29c6e6c19df7f7a02070e8c691d99ae210e8af27961

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1e06e9b48924723f8134e291d6f634166f478a662b0121d924b35d210233a0ea
MD5 29aefc3dab34df2668d4d9104d13a4bc
BLAKE2b-256 9551d75304db4a316a1880e0db6ec71cec7527888238a7615594d152c371418b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5198704340eb3c24a787a0e3016425215ade94e94719870f2df78bba08903fb8
MD5 38b77d7da7ee78452ac6626b9fa26ccb
BLAKE2b-256 b5d933f3109a0040827cc6738e263c97824185c4ad7d5d7eff282f06ad8843dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cf3e514aa00b3be393fec3ba358e316451a54966bef1ad9d3748b714e5f3e92a
MD5 0d9cc34ea364c5b5ada681266ccc8a22
BLAKE2b-256 2ee8b31b63d7f577488c5a3e2e5846fbea228b53c4ad52e6b1c5eca3951a0dcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 db66e5d0161f88fd6f012063cdb168d4bb0e27a10e2034409a7a93e3f04c3709
MD5 a41afa3106937dadf5ae277ed421d276
BLAKE2b-256 56af27586109eac2e2ed2443aade87e9fa518a8aa48bf4c17d488eaf74c5683a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cfdfb977e305c0a7d95ade4180ecd028446f8d4d8b83f44ccd2b08ffd2c374a
MD5 cf59bd83c337690de64c3ac65e2ae59b
BLAKE2b-256 cd61150d86f2f73b2e9cc1adcefc34c31552a61da3cdb9a7c086520372b594fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1b0fbabbd524f1deb06aa2b7652a0da3da53925938dfa86bc7a28db7fd07b98
MD5 dc239c5ba73ee8c18530433dca72b0ca
BLAKE2b-256 b604a5683e519d7698c612b071dfb895f463bed1c58564022fbace9d07838a4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20c219d0bed866c574ca206c940de59cf4ab64fae242e66a20d172dbedf555e7
MD5 46161827fbd3e489b6fbda2ee532a2a0
BLAKE2b-256 298463b623a266e6ed3e8b0659c0075288f3704c724cd8dbb22347594d7ac837

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5fef302def40b4555e7517a02cf20d2065e682a70c15e6d9fb554cdee3cc684b
MD5 a8a8dd8425a0022ca91aa37628bbc5bb
BLAKE2b-256 58e19090dce1609b1cc4ad7785900e0bee26b48d50adea313ed51a76248f6190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 75609be4ccbe3a430b07b00ffbe73a10d50dacb913bfd2d2a21d5e318d0e0e5f
MD5 1f9fc695d382435d465e8778d62863d9
BLAKE2b-256 87435d84a1cee9f0d21756c89671115dbacffeff9bb153466a7ef3bcba2a6e70

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d17a0b83644751f1652bfef35d70a897cd7f653210ef491fd05f50537827865d
MD5 6b1bb4277fe6fb49914149076b8a578a
BLAKE2b-256 a7eacac6bc43d369b9192d0637a8d6316166544281e35799b3ebc51f31ce55d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.3-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.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 84f6cc1ba34dd720a66742b12d6e9353d523ad774042670ebb3b4abd86b47fb7
MD5 a30167a069415e0331e824a428fff597
BLAKE2b-256 49c9b2cc51c7cc0bc6738bc924879642955e6bd09a3e8c6efc3fa8261f7ed916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b90aa4342ad31c60e8ee664c0c553e2589918a85c523bf3145e2e5714d5920ce
MD5 c54ad4b76397cbc5185a6780b69562ef
BLAKE2b-256 a6b64db1cb859c29d72df6b4376591ed821f8d97f9e2cc5cf25e859c449ac0c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5c338e6646246fe6555bb75bd0721576783027842b69ec618477bdc9cd5a077
MD5 b14051ade3e215a593f7a9b628759a88
BLAKE2b-256 019b016bdf72dda2fccae9a75451ab2e7e3bc920efb0dfa882d593e10856807c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89c966081b9755d6097b70eeca9fab28980bf34fb7c4d7f5a00a4db7981d0261
MD5 f20f93b7f7cd96da6204e4fabbb6b256
BLAKE2b-256 a44f3f646468d23337dd7f3604774921aee47d3a001aef7b51458e3f7f7d4454

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7ef4bf09e04f6b880906546b1c3701500cf833a5bc92a86e24f8eb7506c05eef
MD5 bbd37388e151d4f5b983e10976cb43a8
BLAKE2b-256 872cb8e0714814204d14afba1e39eabce2f72d014dbb9be6baf3f4f292bbe017

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 367a622c70d9901b326549f0d70bb1424b294ebc80ceabca1a1dd1652975c346
MD5 4b02a2dea08d4794701fa1c94fa87337
BLAKE2b-256 a02e73c0e74e36c5707d1e78aed0e1d6fd2ee27162e4182c16c5e1be30923cbd

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