Skip to main content

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.

Metadata

Release files for cytimes 3.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cytimes 3.1.0
File Size Uploaded Provenance Actions
cytimes-3.1.0.tar.gz 2.8 MB Without provenance Details for cytimes-3.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for cytimes 3.1.0
File Actions
cytimes-3.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for cytimes-3.1.0-cp313-cp313-win_amd64.whl
cytimes-3.1.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details for cytimes-3.1.0-cp313-cp313-win32.whl
cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
cytimes-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for cytimes-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cytimes-3.1.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for cytimes-3.1.0-cp313-cp313-macosx_10_13_universal2.whl
cytimes-3.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for cytimes-3.1.0-cp312-cp312-win_amd64.whl
cytimes-3.1.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details for cytimes-3.1.0-cp312-cp312-win32.whl
cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
cytimes-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for cytimes-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl
cytimes-3.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for cytimes-3.1.0-cp311-cp311-win_amd64.whl
cytimes-3.1.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for cytimes-3.1.0-cp311-cp311-win32.whl
cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
cytimes-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for cytimes-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cytimes-3.1.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for cytimes-3.1.0-cp311-cp311-macosx_10_9_universal2.whl
cytimes-3.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for cytimes-3.1.0-cp310-cp310-win_amd64.whl
cytimes-3.1.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for cytimes-3.1.0-cp310-cp310-win32.whl
cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
cytimes-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for cytimes-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cytimes-3.1.0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details for cytimes-3.1.0-cp310-cp310-macosx_10_9_universal2.whl

Total release size: 146.2 MB

Release files / cytimes-3.1.0.tar.gz

Download URL cytimes-3.1.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f6b17e019293202fb2dbfe4eab74b7db45e35434c207b157973b7ff541d64ca9
BLAKE2b-256 checksum
How to use checksums
b40d346b627ee434656975c9e1109a56f1c3722c218cb4dbf17675d3cb195276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp313-cp313-win_amd64.whl

Download URL cytimes-3.1.0-cp313-cp313-win_amd64.whl
Size 3.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
440524bfa82e08695555e8592c2060c4433b6357cd30f367cda769151d2c2d95
BLAKE2b-256 checksum
How to use checksums
9fab2fb8f1722cb25fc949656cdd3bc11b05e8a453c44f68984b0ff6ea13b086
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp313-cp313-win32.whl

Download URL cytimes-3.1.0-cp313-cp313-win32.whl
Size 3.8 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
c1af164c8b332d00f83b411fb2ca9a4a62c4aaa854ac6f21aba7f793942db8fd
BLAKE2b-256 checksum
How to use checksums
7c2bc1f662a25e13dee835e14a4d31cf83817f11c72d844c223f4d3d7af1a893
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL cytimes-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 11.4 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b7e410a3f7e70ea47b1e88440b15f07bace982161b838fff1e695b2f59be86c8
BLAKE2b-256 checksum
How to use checksums
cab80cea936ff075d8e2763c7fd1d61a579f8b7591ee54d9535012020b839b3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cytimes-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 11.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b433db8c23be4a7cb2cecbd4ac1ab79bb86f45a2cd70bbd96757ad5492a5a309
BLAKE2b-256 checksum
How to use checksums
bd39a14b93d3764e359e45a88609d5501bc2979e6409c221406335d3986e6484
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL cytimes-3.1.0-cp313-cp313-macosx_10_13_universal2.whl
Size 5.3 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5ba8d9556271cebd8d52fcab592866ce26c84e68cc4794cd01b2e637f0894a19
BLAKE2b-256 checksum
How to use checksums
c6760840fe7008c1e8bbea8c90af479e9a4b17f708962017bae5053293d2163a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp312-cp312-win_amd64.whl

Download URL cytimes-3.1.0-cp312-cp312-win_amd64.whl
Size 3.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3f1a20a28368498eca198bd471b2da8abac4b09555d794c100ac5772b9bd9f18
BLAKE2b-256 checksum
How to use checksums
a99dd76e165670d477d0dc2435fba40bfd0ede74faa3a8028177529997a6e28e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp312-cp312-win32.whl

Download URL cytimes-3.1.0-cp312-cp312-win32.whl
Size 3.8 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
9a390d351f02e94652665d61eb91ece8b8c7af34b955088ca9a4c44916f46890
BLAKE2b-256 checksum
How to use checksums
e5385101a80f653cb29da1c83072aa331bb7b50e284d7d8da3176b9f80c31936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL cytimes-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 11.5 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a9a919444a907fb3797fa1a0216b518ce9acef061da19eac1ee2884698e8edb0
BLAKE2b-256 checksum
How to use checksums
efe300fbefcf79482eae30a256a41f094ddfa324fe7562b0014467257285d4e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cytimes-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 11.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
98947187747e9b826e7a7e549056306c4ef5bb37ba6c7c9d340e1d68eb0c58c2
BLAKE2b-256 checksum
How to use checksums
15e730e2a071df4ccba1084670724440c9d9e8f1ea671998a2e1fd35479ee219
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL cytimes-3.1.0-cp312-cp312-macosx_10_13_universal2.whl
Size 5.3 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
280b9d9b19dd727530471690db396e568598a638451573725586275a7f91fd74
BLAKE2b-256 checksum
How to use checksums
575c93e1e9832599fb96e8c6fac726784389ed91fe1877e5c50047442954aeb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp311-cp311-win_amd64.whl

Download URL cytimes-3.1.0-cp311-cp311-win_amd64.whl
Size 3.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f37f42e16e4cf8a906d4047a87312e6f64e82e9571a5de4e5242a3c110760f43
BLAKE2b-256 checksum
How to use checksums
cf5baece9655cfdb9636e4633e63ef504fc3d1ba1c7807b4814ef3a46d4ea0d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp311-cp311-win32.whl

Download URL cytimes-3.1.0-cp311-cp311-win32.whl
Size 3.8 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
c8c6039dc3da2b29ab9d28063aa17bae92dffb603418744cda4257a09ad353a2
BLAKE2b-256 checksum
How to use checksums
00feb932d64f01a733899425b7c93f32936369aec14e04217433826da43637e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cytimes-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 11.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
d1c48c754a36f21f9c67e01e1327dfb6fc985419915d6d36f41a3f8812ff419e
BLAKE2b-256 checksum
How to use checksums
8952e9aedb91c84eed5c9b54da68d0e855908cc32bd98eb2741decc0c969781a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cytimes-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 11.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cc7e06f06fbb2c4e53762ba50abf36463da0a270fc74d840fd5bd852fe5a82ba
BLAKE2b-256 checksum
How to use checksums
c49f72445fda0c1ab9ac612f8d3208819486431d9b295e4ed80928b1e09e00b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL cytimes-3.1.0-cp311-cp311-macosx_10_9_universal2.whl
Size 5.3 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
1365d5fb4eeee1df43e43d616699eed78e3e51708d6ea75e1ae8b049d8b88283
BLAKE2b-256 checksum
How to use checksums
e6ad2ed9501da675da6dce33be6e897cebfaccd8da006b0fd431a4656505eb59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp310-cp310-win_amd64.whl

Download URL cytimes-3.1.0-cp310-cp310-win_amd64.whl
Size 3.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
95cd65aea69620e99921c7230cd120c2822471320acd1382048ea1e79d1a61c9
BLAKE2b-256 checksum
How to use checksums
56c564b63b1982dfdf8d33a3eb9f1ba4474ebc46624c4d1ecfaad5535e434027
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp310-cp310-win32.whl

Download URL cytimes-3.1.0-cp310-cp310-win32.whl
Size 3.8 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
9dce9033999738525812ad08b24adc2e8d07d4e1d79f4a5b332f73370a7c0ba7
BLAKE2b-256 checksum
How to use checksums
febdc7c63c021b0bf623bbca4161c08462ab1c8a759019e41c2d50098218cebc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cytimes-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 11.4 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9114a35cde7c9e3e6ec54ac0487c2f9871ba02390b24f306c667666cbec4298e
BLAKE2b-256 checksum
How to use checksums
e92384b8d4dd3dbfeb2310c9973b27162d984a5cea5076fc7b489c9a33f444aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cytimes-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 11.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
07074685915a4703cf3a208168b0699d87007e1873a6cf2553c9073f989cc160
BLAKE2b-256 checksum
How to use checksums
66cf186eec601b8c09893b6f27f6ebd404ac8dfc9bda6a6924446da34aaa6ee9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / cytimes-3.1.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL cytimes-3.1.0-cp310-cp310-macosx_10_9_universal2.whl
Size 5.3 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f4a9bcf9dd2c824950f566e73361c264391feab40afd8449a5900253f2be226a
BLAKE2b-256 checksum
How to use checksums
62ce15fecd04d6f0bee12350e7942975d1432ed701ca869013ada8bf0c1197d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for cytimes 3.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page