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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

cytimes-3.1.0-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.1.0-cp313-cp313-macosx_10_13_universal2.whl (5.3 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

cytimes-3.1.0-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.1.0-cp312-cp312-macosx_10_13_universal2.whl (5.3 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

cytimes-3.1.0-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.1.0-cp311-cp311-macosx_10_9_universal2.whl (5.3 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

cytimes-3.1.0-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.1.0-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.1.0.tar.gz.

File metadata

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

File hashes

Hashes for cytimes-3.1.0.tar.gz
Algorithm Hash digest
SHA256 f6b17e019293202fb2dbfe4eab74b7db45e35434c207b157973b7ff541d64ca9
MD5 1956e2266516e30378ec698911c26cdd
BLAKE2b-256 b40d346b627ee434656975c9e1109a56f1c3722c218cb4dbf17675d3cb195276

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 440524bfa82e08695555e8592c2060c4433b6357cd30f367cda769151d2c2d95
MD5 cc58eafb07d8a9c438fab41fbeaa2c82
BLAKE2b-256 9fab2fb8f1722cb25fc949656cdd3bc11b05e8a453c44f68984b0ff6ea13b086

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c1af164c8b332d00f83b411fb2ca9a4a62c4aaa854ac6f21aba7f793942db8fd
MD5 3ba6067a514212dd734eb5e8030116aa
BLAKE2b-256 7c2bc1f662a25e13dee835e14a4d31cf83817f11c72d844c223f4d3d7af1a893

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b7e410a3f7e70ea47b1e88440b15f07bace982161b838fff1e695b2f59be86c8
MD5 602edbe225fd316ced86c7241817536b
BLAKE2b-256 cab80cea936ff075d8e2763c7fd1d61a579f8b7591ee54d9535012020b839b3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b433db8c23be4a7cb2cecbd4ac1ab79bb86f45a2cd70bbd96757ad5492a5a309
MD5 48ff0c52af3bb133f58a49f80526d0a7
BLAKE2b-256 bd39a14b93d3764e359e45a88609d5501bc2979e6409c221406335d3986e6484

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 5ba8d9556271cebd8d52fcab592866ce26c84e68cc4794cd01b2e637f0894a19
MD5 bbe2b100e2a5d0793cc1208e20a92057
BLAKE2b-256 c6760840fe7008c1e8bbea8c90af479e9a4b17f708962017bae5053293d2163a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f1a20a28368498eca198bd471b2da8abac4b09555d794c100ac5772b9bd9f18
MD5 723255b73f03cc7d7f062ae6b62dde05
BLAKE2b-256 a99dd76e165670d477d0dc2435fba40bfd0ede74faa3a8028177529997a6e28e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 9a390d351f02e94652665d61eb91ece8b8c7af34b955088ca9a4c44916f46890
MD5 dca1b992daf2dd03f7b79b2839bca22f
BLAKE2b-256 e5385101a80f653cb29da1c83072aa331bb7b50e284d7d8da3176b9f80c31936

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a9a919444a907fb3797fa1a0216b518ce9acef061da19eac1ee2884698e8edb0
MD5 c7b2f1e464af2cabbfaf6b775c2edd97
BLAKE2b-256 efe300fbefcf79482eae30a256a41f094ddfa324fe7562b0014467257285d4e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98947187747e9b826e7a7e549056306c4ef5bb37ba6c7c9d340e1d68eb0c58c2
MD5 4b406e87d2412a9269bf917043ed3e11
BLAKE2b-256 15e730e2a071df4ccba1084670724440c9d9e8f1ea671998a2e1fd35479ee219

See more details on using hashes here.

File details

Details for the file cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 280b9d9b19dd727530471690db396e568598a638451573725586275a7f91fd74
MD5 665c371ecb5dd02558fc966620b3f293
BLAKE2b-256 575c93e1e9832599fb96e8c6fac726784389ed91fe1877e5c50047442954aeb2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f37f42e16e4cf8a906d4047a87312e6f64e82e9571a5de4e5242a3c110760f43
MD5 2bb5994963301e7bb3f3f3e136e3bcf6
BLAKE2b-256 cf5baece9655cfdb9636e4633e63ef504fc3d1ba1c7807b4814ef3a46d4ea0d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c8c6039dc3da2b29ab9d28063aa17bae92dffb603418744cda4257a09ad353a2
MD5 8ab68b3112c23d84c1dc775d0bcaf7c6
BLAKE2b-256 00feb932d64f01a733899425b7c93f32936369aec14e04217433826da43637e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1c48c754a36f21f9c67e01e1327dfb6fc985419915d6d36f41a3f8812ff419e
MD5 8526eac00eebf747f0a6b2018bfba8e5
BLAKE2b-256 8952e9aedb91c84eed5c9b54da68d0e855908cc32bd98eb2741decc0c969781a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc7e06f06fbb2c4e53762ba50abf36463da0a270fc74d840fd5bd852fe5a82ba
MD5 9396c05cc03d9adc16d9459e352a69fb
BLAKE2b-256 c49f72445fda0c1ab9ac612f8d3208819486431d9b295e4ed80928b1e09e00b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1365d5fb4eeee1df43e43d616699eed78e3e51708d6ea75e1ae8b049d8b88283
MD5 3cf8a95aa4d85991b8dc0490b01dab26
BLAKE2b-256 e6ad2ed9501da675da6dce33be6e897cebfaccd8da006b0fd431a4656505eb59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 95cd65aea69620e99921c7230cd120c2822471320acd1382048ea1e79d1a61c9
MD5 3176204a1d3e09da5d800918eaeb8766
BLAKE2b-256 56c564b63b1982dfdf8d33a3eb9f1ba4474ebc46624c4d1ecfaad5535e434027

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cytimes-3.1.0-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.12

File hashes

Hashes for cytimes-3.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9dce9033999738525812ad08b24adc2e8d07d4e1d79f4a5b332f73370a7c0ba7
MD5 c2505ba086e3bac6385d8721960ebbe4
BLAKE2b-256 febdc7c63c021b0bf623bbca4161c08462ab1c8a759019e41c2d50098218cebc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9114a35cde7c9e3e6ec54ac0487c2f9871ba02390b24f306c667666cbec4298e
MD5 572ca4bb2a87ed38941efb1061063e99
BLAKE2b-256 e92384b8d4dd3dbfeb2310c9973b27162d984a5cea5076fc7b489c9a33f444aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07074685915a4703cf3a208168b0699d87007e1873a6cf2553c9073f989cc160
MD5 519b6ad9e3dfdc0ba0945aa4dc2958e8
BLAKE2b-256 66cf186eec601b8c09893b6f27f6ebd404ac8dfc9bda6a6924446da34aaa6ee9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytimes-3.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f4a9bcf9dd2c824950f566e73361c264391feab40afd8449a5900253f2be226a
MD5 37f35030495fa5c942d2055e41d5207f
BLAKE2b-256 62ce15fecd04d6f0bee12350e7942975d1432ed701ca869013ada8bf0c1197d1

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