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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

cytimes-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

cytimes-2.0.1-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.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

cytimes-2.0.1-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.1.tar.gz.

File metadata

  • Download URL: cytimes-2.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4cc31664d9f33eb4e3ee578e2fde6abb7621396dddb1acf2f19ef82fc5388ddd
MD5 7bcaf99b91cf04f33b0a70f013031a18
BLAKE2b-256 058eae66579580228238b84e16d834a5358287df140c79696cd086c9aff7bffa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4d9b12b7c96ee2ff1a49719bedc9d03f48424ab6b084b4f65bcaa8a2422e4911
MD5 a9c04c6fcd56cc33c2b6763c772bfd03
BLAKE2b-256 ecb915782072617e21657fa6a387765a7e4ff43a3cc670c3b2cda9e51621103d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 886d9af4a06a4e0ee6b9946dfaf48e9fcb935b57163ed4a01bc32e650d662c65
MD5 c1194b5f4cc673ac3a705ed1a685ecff
BLAKE2b-256 9c33ec3eb21fd842179d0b07b0620c19dad8957581ae50ff63257ea13429d140

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cbf248a824e5449898494a50c7d941553cdca9bd09ee9809ad0585a6c0e75d82
MD5 bdd47f1e0b370b45f3a3c347adf9fbfd
BLAKE2b-256 4c2e12244883a75b86208c75cc3e3aeedf27fb886956b86e8d41d7615711f1ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65399518077465e0a1ff042d6ff560904c1d86f4abe910724519955b9952da14
MD5 bb6fc4032731971111de681a8fb2aeb4
BLAKE2b-256 eecb893359905c9b4db71906a12ab51f867eb6c82721f9c5a29b40fc1f4d47f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67f6352f92a5f2402d8bfe9dfe0e1009e69f9b55fbf7d28f510f77c0dba5ec5c
MD5 e03bec06b7951cae2caa8a6a0e1e6f7a
BLAKE2b-256 407111fcd9cb025abf0e306a51e52a67ebb3e41f234c78f7889ccb69473249ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 61b2098136e41ba0471bcb5db0a67d5be0d089bce298b25645aa609486c6992c
MD5 b0af9381929540a5aed5450c42a2b042
BLAKE2b-256 577d67f021ae7afeea96562acca9f8d35d30ccaa0f77ec2a2dfcebe78d5c6521

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f6c8f9fdf5e9bcaf3c83618748c98bb1d4a0a677d80709f62de40257250b2922
MD5 69ab454f22f658a2c6c4db6ada2fa361
BLAKE2b-256 c5d6443d1c4d73c68248611ea0bf55b2286309f0b65a5a1b7395efd3e71a41e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fdb7ac07bb5bf7c0c230ff70d8330db4b96430050bb7f2a62eba7ad5a831b983
MD5 2b495ff17c62e25e863d3c38f6542d98
BLAKE2b-256 f0d8893a8c68449368050ed42a1e609e664fdcbcdfaaee637cd8d60d5b791896

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4f285ae793d4bae847e36d48be11f4cd976d40f8497409c0fb7ce4f61c4e63a3
MD5 bbe7be0069129156658dad72d8b4fea6
BLAKE2b-256 0abdaaf8c12928c6f266e6ee4099180eab0fbf3b001b713fb450c2940ae1afa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b43e3dd13245f586693d6f64e6cecae42df78958155e941f21b1ac6aad1d9487
MD5 1488cceba07bb38f097865e42f772467
BLAKE2b-256 a2b7867e7489c8fd0c94b377a5e90a1a6c18bc2f9ff817279530c14ca40fe2b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 707b2a64ff6674c16d7316936229723971a8432f6c65b6d5b313c4b71bb59a4d
MD5 f8c38b9957656266413505f75aa7a1b6
BLAKE2b-256 b2450c27f008c9c083489c562a2b033b89ccd2a07a6ee70ed2c86f29ac2e0add

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1634b9649a3ab5bdebdb192364aa943247b0782b61772edb3dbddcdc56ba8d3f
MD5 9137e6405af0590de0ae7dbcaeac33d3
BLAKE2b-256 76bcc13f9b227fe65aadde91925a09ac10e21ade14fc91376c353ac59b6669db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 266e2b1dd20695ce196737e907e4a737c7ab2bdf4feff69e9da5aab647bc7aa9
MD5 c13aa9091a3c921938a6a1032d51aba1
BLAKE2b-256 1645a4a628656db4da61f3c4d0a92b442bd8858860aee6189d2a01825e29cd46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1a552798223c4984dfd236d9f769fd9410195ea7fd9f6c308460f1bbb39720e7
MD5 33c436a17567183a03f0ab1be6355075
BLAKE2b-256 910c2263e672c9effc87e4c2ff34a3f7c33d9c18520b625c1da025603371b4a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2e0fbdfa7ffcad76dc877f2aabda070dfdf47eef32b857c44c6bbea53b082252
MD5 654d2460eff61e1b02373fb097914e7c
BLAKE2b-256 d487ede37072bae8907c8e0e248747bf9ec78cffb0268c3b2d830f2d9c631c59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-2.0.1-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.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 3ccf9757b5a76b7458ddcf2b66585f8e243f5b4dd7c5f3333809862786d11198
MD5 558c1065f7d7c21e34c19f954854bd5e
BLAKE2b-256 8c81c9c1ea5a44bc6f1dfaf76975c8c35d1f5718468ba2785600bf9e7a56dc5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7f24437e99d7065e2b390b9fd16b89992f632e7de92d82f9f3cd50fd87ab5627
MD5 91858d2cb88c28738df9d6f13c109146
BLAKE2b-256 ed9794b0cc0d156dcc2574bb3c66027588e4f4f44480b0eecf18975a49aa80d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c28f6bc930bc270f781c9a60100a02dfd04deca0f5661efb9251dcab8113564d
MD5 97a170b037fb3991464360c3c647de95
BLAKE2b-256 7a379aa81f282d3c71ad9e70435b1aca95940794a916fb4d7fe1ef50a868f2b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 332496ae1dc27b903f74266aae13119918f1171ea449de098d008213da0c91f0
MD5 7b066bd009a116444af57678c4f46322
BLAKE2b-256 99d141ddaf026e0a6d6527a402d60a9bedf026fbcdf0172c11f1fbe01019f141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cd6dd05e3bda0e94e5dbd353903beefb0340ca4db409c2b06de99721bb5b11b6
MD5 35a8c8640e548aa233bf09f142b50e39
BLAKE2b-256 52d91fc241879a2e4fa6c596385c7e8b50b3209f107abbc7e2f10000d7ef59a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-2.0.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3e6c32248d3422237a2e386301809a708d4fa5b06cd4a4e8566b36f3cac16211
MD5 4a83f2d9ee998a3ea5ce269794cb69d0
BLAKE2b-256 f91edc432d291312e54eabefa2e71154d3d26f1ab0b42896640c34fbdf1d626c

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