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.2.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.2-cp312-cp312-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

cytimes-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

cytimes-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cytimes-2.0.2-cp312-cp312-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.9+ x86-64

cytimes-2.0.2-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.2-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

cytimes-2.0.2-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.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

cytimes-2.0.2-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.2-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

cytimes-2.0.2-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.2-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.2-cp310-cp310-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-2.0.2-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.2.tar.gz.

File metadata

  • Download URL: cytimes-2.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 02c44b902543160558b7cda481502c8aa2022f8a73097854d48d2260bc23d706
MD5 d271c36c8ebef9833b55bd166cd903ea
BLAKE2b-256 5d143cfafb33686eefa7d38d7ecb3183ce5de8ce991abb0785eff340acd64a9c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d6727da00592b99fb1c1c92bb210ece6e9a52e6dc1d3a7a8ca77f6dba7ef7df5
MD5 2a8e3088a2c893b1ced48e644542e2a3
BLAKE2b-256 4d2666351b010a3a4c49030c466bfd1ac61a44a31c30da450a3aa7c804b97437

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ce2469fb976f5a1d9909073eba08bf1a792eaf6cecb2497b03f8ef11620ce83b
MD5 1addd1c432e89668d54556d9bdb1c2bc
BLAKE2b-256 9bdf5001d4399cec2df91c673b626e88328c3eaa4452cbeaa94b2b85d6bfb7f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fc5580c3bbc1c8f451611ce0d6578daa9ff1c655673419aeb03156bd0daa8d84
MD5 454a386c166e6065ed03e6414cf88ad1
BLAKE2b-256 ca1d17bfb4eed8124bb70cbae78966c41f4b077938bb6ea059f1e820953e9e5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e48782b46b08b7de71a25f4bdbaadbcbc9b9d4f9107327f693812dea5cef3ec
MD5 9c8e1536b9ea38ff217c1e0b93cfb8ec
BLAKE2b-256 fe720427632b7b4cb178d6d24b7cb7bb246aaa3984461408127ac0e7634c07b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cf9752bcb857158640c0fc0e3f217e237e56606f8d73d353716180495758c36
MD5 71e893daecfc0c4aa1a638a02677df6d
BLAKE2b-256 4a56dd8e647565a4e6d8f0e3414f363c0036b33ea1fe011fbba00b99a1839e96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 384a10633988da40e4b7562f10f5dbcc1ca586d903110f60a03c632578d94328
MD5 ddd681f8d70c42e53cd985dfd8b79750
BLAKE2b-256 c27b87a19b74342e669796b4d2cc09f5d444a5a098a9db5785ceb5f08b3bae3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1780a0aeb22270982c40de274579f0e5c161d784e54fa52f9853aafefbe60823
MD5 5faa1f5252a483e0bc5e37cc88e0d956
BLAKE2b-256 6ae234276d20f68b07af5ebc5e1b8edab1b2d307bf3e9e35cd5f8c4c48619ed5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6d80fa25d7555267abfc664ad8627acb53127361a1b69e82db9fc69b76dd3fbc
MD5 97f90c7500a20e5ef500225711a948b7
BLAKE2b-256 3611be492635448b0ec78f8be0bf61f62a687fe71efeccb060f134cbb54f74e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 710ce6b98d5bf90c5941cefb868b134d30e8b5e07f1b4766c9b7b791e508fa49
MD5 96f20251bb31ab35d95f161b1d2f60d4
BLAKE2b-256 0b810d33af8146e730e3419d313215167ed32b891c5ceb85bfc5f3b3b030cbf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 729dfd99ef1644a5af86dd73a12a5e11921311f95d2233b62dbd5500e7168e12
MD5 bc56266b3ea31318c9d30f5c21d09ca8
BLAKE2b-256 2d0283c3505170c25f7f05c378359b1db05a89faf0aece155adcef1aec7a82dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6a19350e4301a0e135574bedd3fcfd3bfcd500b6fb49a0d0c3cae860fd623e8b
MD5 fb58b39b168be6eb38cdd4f33d43ce49
BLAKE2b-256 ce9f187f011bd00f5212bee36a00d56748cae52eb160df7c356eb15a5fc8edbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4aa9e66a27dd7dbfb528305340664c822bc9289abce3fd2a9031a70b19fea4c6
MD5 c8a3263266a072585e61032110e01496
BLAKE2b-256 1869d38c1ae2b0c05f58f40d6187be1fafad288f62b912b42792b9bcdb211ff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 770ebe30073be5babbc75e48857f1ca3131db2f55611128e4af6eb806bc411ff
MD5 dc561114d20e6f5bbe1a6a39215fe4d4
BLAKE2b-256 90145605027b0b271eb6b8e0f11adb5b1e4666140cf0a15023654facd019f049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 57b05ec51f3d4606dcef55e613565dff72cf565aa8ffd87836ee606b1480ac79
MD5 2f962986a9921eb2e6502958582b1cb9
BLAKE2b-256 aad4930107cc6a92aea09793c6b343f556a059a95d2a77bfdb07a6d09032d686

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b75af55e3247a40a5ad97ea164a2505f7fdcab122059acfde484691ad507f01f
MD5 95ecc3562bc3963eeb92ddcdae084eeb
BLAKE2b-256 d64b2a4428b6b214a197e36633cbfc75ef5a47f8d7f665abf48935cdafb5d4f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.2-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.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 47ff8e1f431a14b51849e4f2c136a58cb5b1eeb2def3cfc3cc64e9d0785a9871
MD5 d66e394aece5072557c4264be002709d
BLAKE2b-256 558c4396aa37a630a6a4ad5e6759c248afa33ddbd922c006f1d102afbb80feb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 625796e729d95525306c74cb3b1b9076efd6e579fc0967eaafdd2f06d1c6122d
MD5 47e21baaad4e01b3b2b8398f9e377c2f
BLAKE2b-256 58e0ef2514d73a5c90445ac6a6a174da7593cc662662e68b25f96c330c496555

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edffa6495c6abe7a3b1630ce89f870a7bd3b5236fb1cc4c361ec5a38a9f13e65
MD5 53e7d5a666a03fca946035545f02eb3a
BLAKE2b-256 06960e1bfb8e4831f22b171e1496f2d4ed1a0d27ccfc9ecb5dcc009fcfc1f9ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e827ddf51a14847fda3ade9a1c49635b1b5960650225586596896160adaf82d5
MD5 62c3b160e30b536ac6fe3ae2c722eef4
BLAKE2b-256 8820715ecc1a19a8c4473fa352d499e0a662aa4e6b25c992de460c400903bb74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32ea4fe4f773a662e655c9bfcb5fa46ed21485210edbd73ac4371c906678fa38
MD5 9f7a1e288c962ae4db94b5c826683106
BLAKE2b-256 82757f7cd7ac78ed5fb05acf358897bd38542ffe70a5840ecc50496f6d8e5d7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 59f1fcd9d308997186c1167c7a5d9f492d247bdff2db2bfba7be3c5c342b186a
MD5 f882af0e0919f2a0ca14b3dc36c71461
BLAKE2b-256 6d207c2c35054368ec47c6fe10a8cfd66381604e84a8365f76f58abdedd5f396

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