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.0.tar.gz (2.7 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.0-cp313-cp313-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.13Windows x86-64

cytimes-3.0.0-cp313-cp313-win32.whl (3.7 MB view details)

Uploaded CPython 3.13Windows x86

cytimes-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cytimes-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cytimes-3.0.0-cp313-cp313-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cytimes-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

cytimes-3.0.0-cp313-cp313-macosx_10_13_universal2.whl (5.2 MB view details)

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

cytimes-3.0.0-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

cytimes-3.0.0-cp312-cp312-win32.whl (3.7 MB view details)

Uploaded CPython 3.12Windows x86

cytimes-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cytimes-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytimes-3.0.0-cp312-cp312-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

cytimes-3.0.0-cp312-cp312-macosx_10_9_universal2.whl (5.2 MB view details)

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

cytimes-3.0.0-cp311-cp311-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.11Windows x86-64

cytimes-3.0.0-cp311-cp311-win32.whl (3.7 MB view details)

Uploaded CPython 3.11Windows x86

cytimes-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cytimes-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cytimes-3.0.0-cp311-cp311-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cytimes-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

cytimes-3.0.0-cp311-cp311-macosx_10_9_universal2.whl (5.2 MB view details)

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

cytimes-3.0.0-cp310-cp310-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.10Windows x86-64

cytimes-3.0.0-cp310-cp310-win32.whl (3.7 MB view details)

Uploaded CPython 3.10Windows x86

cytimes-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cytimes-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

cytimes-3.0.0-cp310-cp310-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

cytimes-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-3.0.0-cp310-cp310-macosx_10_9_universal2.whl (5.2 MB view details)

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

File details

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

File metadata

  • Download URL: cytimes-3.0.0.tar.gz
  • Upload date:
  • Size: 2.7 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.0.tar.gz
Algorithm Hash digest
SHA256 29520542b4c4625c6c8064cc5a8d87b99f15c2a914564ce338a4ed7f33912f32
MD5 4a4af01f1ba0dcb01d168f869a6eb69c
BLAKE2b-256 884ae498b27b959a425c86ac32cb0de7fed3a36064d8f13caef275766a09d9c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1167189775e5c61c20914d8850afcfcc7481bbb48247fbf7c7ef8b82eb52f3c2
MD5 4382403fbabf4d6d66dd9dd1490d54cf
BLAKE2b-256 d1525b8c844694cca03130e85ccf978893c7048970d193a1fcfa0bf84e440b1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 3.7 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.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c8e5f76cddfcf9a24bb6984899035b4b72755d506675c65a1687234e040d7f7b
MD5 e83e7f3cd1cdbd9b2d4688ef16d4f670
BLAKE2b-256 6c8345b7da5c8f052ad7f395d437dc3ae1aac5d2dcb995649e679afd3eb1cc79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8717d03dcbd87908ae6315381afd04409286fae52469b9d520af93ceb0c1fd3f
MD5 02b5d03790b726634be70061e465905d
BLAKE2b-256 945dd77ace9c58276a754a3d3a7befb74f8e33c00b76d74e12de74b20726c71a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a9c356b8a43523433d3e8b0d0c1af3671657a3ab971ae5ecd945bff771ed06c
MD5 5e4842ec4eb28ef9eeb97547ccc668a0
BLAKE2b-256 f76f81830fd8f33248133183441152c6aaace33b5cb3ace3fee5b8bb86af8779

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2504cdb58d44a66a1fd84603c7c65c359d2286fe71afcd88b37b739c9eaa2328
MD5 36718d1bccf8de224b10e91d3a1991f1
BLAKE2b-256 2c4210e7b6af3859cebed2182d88f3908465640792095a018ca0e42939e73bc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6cb3c94a6b0d733a4499f617c24d2a6dd5d5b5c58bb98e51e852cad62e6263ee
MD5 31f998d407becd325e8782c862ce3844
BLAKE2b-256 d85c93c82cebbccbf78f05d197f725e732158fc5fbad1e3f9caee2146075172d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0696080ae8500c5061b9c0dc9bb614824c9be923d14446e895d1f988db771b92
MD5 c350fd82491ceb9edefb39f274e71f89
BLAKE2b-256 f511a513f646f7e488f4d2471627db2450dede50e25898fbe0fea9d373f98c3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b28f5aec421f41d8ba3da52b512fa86dbb5c45d8936b744ac2d232d0a4a10899
MD5 cd3724d57d0926ca4247fb9465b29266
BLAKE2b-256 4c603a448c78f139639999bc9035317cbec7f1881585dd4341d30eac25b4bceb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.7 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.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 28a1a846f321aca6cf8a40f49d2e4c81e108887f3f2a02e977e0ce562c537a20
MD5 0e1825bc53207d0f28abfcff097241fc
BLAKE2b-256 17e257e2e43165d1faf9caa29c6318602ffcf088ea934509e85ea805f0686bc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9761c0151e8f35bf8d6fde768475de3ab8cbf8565eecf7808f2df32a1f301003
MD5 f30fd948ec9f2553ab44e6d60585fca7
BLAKE2b-256 186872957dbc4f70db546c91e5fa8bc6c8a613f6b85735475f909c0f9ede5537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e733cf8453ea0c60fbd136698efc7837adde7b5e2fb49797c803c6861a28b571
MD5 3c439ddda0e0cfbfe2c67ae87d2a5f15
BLAKE2b-256 cd350388ea40ba32adf64eb5558d907328d6dc137b2bef3f6535717c05029194

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8de191b6feb510dba8b0c45b4103f90b490dbd84ff0f04b414a595c0c4181ee8
MD5 50c4f3eac983d441f720f98325d6447a
BLAKE2b-256 69172561c65ab30146850da742df62e9a2d91182f5e54e9a3756c4b38fb0ee47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 23201fb6bc2014493830f7a94b32c66aad29ecd7009d43d6b348dfa900daf8be
MD5 df2a8ec981e660ba0e07cdfea81082cc
BLAKE2b-256 073403f41fb0175ffd326f91c388dcb45dfd2dc5603c048803a5c9310690fdf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 67975f3352c2634ba87e2ec2bd83661b03b0483309526f21fe34ed9332e3f41f
MD5 1691abc1c49eed5291fe8982be3e5f3e
BLAKE2b-256 b0614dd768f214e3b9c063fbbf4f8f592195f61683507ad6452226d3c3a64e2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2b14bc8c41007d1bbf6143872e6f0eeab9d28e506022eef7145817ecf58437b7
MD5 ee4adec2b5b93710158fde47fdabbea4
BLAKE2b-256 f1d66afe1106ef71124740745237a8dbadefcebe232d47d26e8346d99e0f494b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.7 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.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 789457b45c555beefe400271d89f89f9ff51f1f5239f11764de946b554351b5a
MD5 95b4f98e21a0909c85318ae964431584
BLAKE2b-256 99330d7564e74bbb6af326df619d7b3a17bc6fd030472575080244018de7ab97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2f40f5d5ba028a073b3f2bf41a382b5feb2bc7089424c337b8ad8d81992fa55
MD5 2e6f7865fb8a884816753affbf0ccf19
BLAKE2b-256 dbdbf3af01d13a0faf0f95031734593b03a2172c18739ce867c0c73c446aa948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af967f471c5ced9aef574b9082e48ce4500a6876113ee09b84b0ee1724cb338d
MD5 c0942e0cb0e66b6406cbb21063becb4d
BLAKE2b-256 4f36e1b6ad2811955adb46347b3c40c3036bfedee737d5e3c3604ec810452b62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3921cb9e941582f965bb33d6cc752d611972a5ac89d7979b8acd2e2f1fec2858
MD5 b9246acbe014eb594b5006a760bf313c
BLAKE2b-256 103b9ffd9ea4df137d58f199a115ab7b13418964ec24503d30e5264722bbfe0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa2a7dad16426d4497ee11d58e1c67ba74b672029b5362867ae7c8866cdd2b3f
MD5 854931e59944b74bfb68d0a03d9b01cf
BLAKE2b-256 9178aacb4f5eaa20ad6d09292ef5bf262d53c849e921833a4aaef2654632db6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 91beb606e08dedb80e38818ef4bcec6ce6ecaabe33c724d153283b9c9b395e95
MD5 66c451487333d199a6241232cf1f2e18
BLAKE2b-256 b65e87e81cec81fb6d6b130c01a86aee1f5c601c233f37350f441370107e93ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3887768118511bd273c6a6877d39016e8df236774c62bd17149f32a9f39234bd
MD5 4473fa70e586e1d5e18c9acef3d0b22a
BLAKE2b-256 2c16cb1e3516a717f6a681ebbc44d873e4d1e64f0ba23058065349957ca004eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.0.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.7 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.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2ca1543a3ed89826323cfcf36a5ee9a5fa0c7a9e1346412dd722f00f10d9956e
MD5 3fbbec2671c55d7dae62d86253a0c706
BLAKE2b-256 92414647d0aff3337d8e69a1ce1ab4de65e687353ac68d429016571935c5cc08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb844b75b8ea2a749e9cdc9b372e491afb1853da857fdd5259232d2a6ee32da3
MD5 b638ddd6f21f226281784ebeaa5a3533
BLAKE2b-256 35e2e7b954dcc3f5dc789779fd8ddb92e879f23ab727bed3ea8a398acca87cc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be6a03a6fd533704cf4a48f19ec5f0547810028d5af0541ebb89d252dfbbffb8
MD5 1278819882c6a930ce3d506d021d5e8c
BLAKE2b-256 35cb59f1352d3be5423a85940fde1d9c1eff66b2bfa168efe2fd49b25134c154

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c06a2cde17d49e90024b6a657fff5db6046ee14819b36a28125ae5ce88d11bf
MD5 1fb406c38556e5931724c84ce187d386
BLAKE2b-256 1cf059ac22fd275dc9cfbb4cd5a6fa60ff561eb3d4f64a6f870d53ba94da82ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 723d106bb516024047c4c4201ddb123a76c386920ee0bf10b72c716f931a9cd3
MD5 859fd8cb5bcd2f05d7989f4f8e60ad05
BLAKE2b-256 c0a5f98dd3504e897eac23bf86fe19f6f109c7bd91d884ea8fe5dd768b113659

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2f2a9df476786b856e2a73d168ea6b660d51b9d02b3ce64911bc8f75a03f49b3
MD5 40b4c13bf3f0cbddf9565780a56ae1ce
BLAKE2b-256 95c39a95df2a79ae0158d3eb360b747b10b616d5592bfded9e8dc251d160c96b

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