Skip to main content

Modern datetime library for Python

Project description

⏰ Whenever

Typed and DST-safe datetimes for Python, available in Rust or pure Python.

Do you cross your fingers every time you work with Python's datetime—hoping that you didn't mix naive and aware? or that you avoided its other pitfalls? There’s no way to be sure...

✨ Until now! ✨

Whenever helps you write correct and type checked datetime code, using well-established concepts from modern libraries in other languages. It's also way faster than other third-party libraries, and usually the standard library as well. Don't buy the Rust hype?—don't worry: a pure Python version is available as well.

Shows a bar chart with benchmark results.

Parse, normalize, compare to now, shift, and change timezone (1M times)

⚠️ Note: A 1.0 release is expected this year. Until then, the API may change as we gather feedback and improve the library. Leave a ⭐️ on GitHub if you'd like to see how this project develops!

Why not the standard library?

Over 20+ years, Python's datetime has grown out of step with what you'd expect from a modern datetime library. Two points stand out:

  1. It doesn't always account for Daylight Saving Time (DST). Here is a simple example:

    bedtime = datetime(2023, 3, 25, 22, tzinfo=ZoneInfo("Europe/Paris"))
    full_rest = bedtime + timedelta(hours=8)
    # It returns 6am, but should be 7am—because we skipped an hour due to DST!
    

    Note this isn't a bug, but a design decision that DST is only considered when calculations involve two timezones. If you think this is surprising, you are not alone.

  2. Typing can't distinguish between naive and aware datetimes. Your code probably only works with one or the other, but there's no way to enforce this in the type system!

    # Does this expect naive or aware? Can't tell!
    def schedule_meeting(at: datetime) -> None: ...
    

Why not other libraries?

There are two other popular third-party libraries, but they don't (fully) address these issues. Here's how they compare to whenever and the standard library:

Whenever datetime Arrow Pendulum
DST-safe ⚠️
Typed aware/naive
Fast

Arrow is probably the most historically popular 3rd party datetime library. It attempts to provide a more "friendly" API than the standard library, but doesn't address the core issues: it keeps the same footguns, and its decision to reduce the number of types to just one (arrow.Arrow) means that it's even harder for typecheckers to catch mistakes.

Pendulum arrived on the scene in 2016, promising better DST-handling, as well as improved performance. However, it only fixes some DST-related pitfalls, and its performance has significantly degraded over time. Additionally, it's in a long maintenance slump with only two releases in the last four years, while many serious and long-standing issues remain unaddressed.

Why use whenever?

  • 🌐 DST-safe arithmetic
  • 🛡️ Typesafe API prevents common bugs
  • ✅ Fixes issues arrow/pendulum don't
  • ⚖️ Based on proven and familiar concepts
  • ⚡️ Unmatched performance
  • 💎 Thoroughly tested and documented
  • 📆 Support for date arithmetic
  • ⏱️ Nanosecond precision
  • 🦀 Rust!—but with a pure-Python option
  • 🚀 Supports per-interpreter GIL

Quickstart

>>> from whenever import (
...    # Explicit types for different use cases
...    Instant,
...    ZonedDateTime,
...    PlainDateTime,
... )

# Identify moments in time, without timezone/calendar complexity
>>> now = Instant.now()
Instant(2024-07-04 10:36:56Z)

# Simple, explicit conversions
>>> now.to_tz("Europe/Paris")
ZonedDateTime(2024-07-04 12:36:56+02:00[Europe/Paris])

# A 'naive' datetime can't accidentally mix with other types.
# You need to explicitly convert it and handle ambiguity.
>>> party_invite = PlainDateTime(2023, 10, 28, hour=22)
>>> party_invite.add(hours=6)
Traceback (most recent call last):
  ImplicitlyIgnoringDST: Adjusting a local datetime implicitly ignores DST [...]
>>> party_starts = party_invite.assume_tz("Europe/Amsterdam")
ZonedDateTime(2023-10-28 22:00:00+02:00[Europe/Amsterdam])

# DST-safe arithmetic
>>> party_starts.add(hours=6)
ZonedDateTime(2023-10-29 03:00:00+01:00[Europe/Amsterdam])

# Comparison and equality
>>> now > party_starts
True

# Rounding and truncation
>>> now.round("minute", increment=15)
Instant(2024-07-04 10:30:00Z)

# Formatting & parsing common formats (ISO8601, RFC3339, RFC2822)
>>> now.format_rfc2822()
"Thu, 04 Jul 2024 10:36:56 GMT"

# If you must: you can convert to/from the standard lib
>>> now.py_datetime()
datetime.datetime(2024, 7, 4, 10, 36, 56, tzinfo=datetime.timezone.utc)

Read more in the feature overview or API reference.

Roadmap

  • 🧪 0.x: get to feature-parity, process feedback, and tweak the API:

    • ✅ Datetime classes
    • ✅ Deltas
    • ✅ Date and time of day (separate from datetime)
    • ✅ Implement Rust extension for performance
    • 🚧 Tweaks to the delta API
  • 🔒 1.0: API stability and backwards compatibility

    • 🚧 Customizable parsing and formatting
    • 🚧 Intervals
    • 🚧 Ranges and recurring times
    • 🚧 Parsing leap seconds

Limitations

  • Supports the proleptic Gregorian calendar between 1 and 9999 AD
  • Timezone offsets are limited to whole seconds (consistent with IANA TZ DB)
  • No support for leap seconds (consistent with industry standards and other modern libraries)

Versioning and compatibility policy

Whenever follows semantic versioning. Until the 1.0 version, the API may change with minor releases. Breaking changes will be meticulously explained in the changelog. Since the API is fully typed, your typechecker and/or IDE will help you adjust to any API changes.

License

Whenever is licensed under the MIT License. The binary wheels contain Rust dependencies which are licensed under similarly permissive licenses (MIT, Apache-2.0, and others). For more details, see the licenses included in the distribution.

Acknowledgements

Whenever stands on the shoulders of giants:

  • Its core datamodel takes big inspiration from Noda Time, which in turn is inspired by the influential Joda Time.

  • Whenever also takes a lot of inspiration from the Temporal proposal for JavaScript. After years of design work and gathering feedback, TC39 has come up with an extraodrinarily well-specified API fit for a dynamic language.

  • Whenever gratefully makes use of datetime's robust and cross-platform handling of the system local timezone.

  • The pure-Python version of whenever also makes extensive use of Python's datetime and zoneinfo libraries internally.

  • Whenever also borrows a few nifty ideas from Jiff: A modern datetime library in Rust which takes inspiration from Temporal.

  • The benchmark comparison graph is adapted from the Ruff project.

Project details


Release history Release notifications | RSS feed

This version

0.8.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whenever-0.8.0.tar.gz (189.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

whenever-0.8.0-cp313-cp313-win_amd64.whl (332.8 kB view details)

Uploaded CPython 3.13Windows x86-64

whenever-0.8.0-cp313-cp313-win32.whl (344.4 kB view details)

Uploaded CPython 3.13Windows x86

whenever-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl (595.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

whenever-0.8.0-cp313-cp313-musllinux_1_2_i686.whl (644.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

whenever-0.8.0-cp313-cp313-musllinux_1_2_armv7l.whl (709.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

whenever-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl (585.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

whenever-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (424.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

whenever-0.8.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (491.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

whenever-0.8.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (480.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

whenever-0.8.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (445.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

whenever-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (406.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

whenever-0.8.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (475.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

whenever-0.8.0-cp313-cp313-macosx_11_0_arm64.whl (384.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

whenever-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl (393.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

whenever-0.8.0-cp312-cp312-win_amd64.whl (332.8 kB view details)

Uploaded CPython 3.12Windows x86-64

whenever-0.8.0-cp312-cp312-win32.whl (344.6 kB view details)

Uploaded CPython 3.12Windows x86

whenever-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (595.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

whenever-0.8.0-cp312-cp312-musllinux_1_2_i686.whl (644.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

whenever-0.8.0-cp312-cp312-musllinux_1_2_armv7l.whl (709.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

whenever-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl (585.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

whenever-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (424.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

whenever-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (491.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

whenever-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (480.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

whenever-0.8.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (445.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

whenever-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (406.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

whenever-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (475.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

whenever-0.8.0-cp312-cp312-macosx_11_0_arm64.whl (384.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

whenever-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl (393.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

whenever-0.8.0-cp311-cp311-win_amd64.whl (331.0 kB view details)

Uploaded CPython 3.11Windows x86-64

whenever-0.8.0-cp311-cp311-win32.whl (342.2 kB view details)

Uploaded CPython 3.11Windows x86

whenever-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl (594.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

whenever-0.8.0-cp311-cp311-musllinux_1_2_i686.whl (642.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

whenever-0.8.0-cp311-cp311-musllinux_1_2_armv7l.whl (708.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

whenever-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl (585.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

whenever-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (423.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

whenever-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (490.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

whenever-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (479.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

whenever-0.8.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (444.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

whenever-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (406.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

whenever-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (475.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

whenever-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (384.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

whenever-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl (392.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

whenever-0.8.0-cp310-cp310-win_amd64.whl (331.0 kB view details)

Uploaded CPython 3.10Windows x86-64

whenever-0.8.0-cp310-cp310-win32.whl (342.2 kB view details)

Uploaded CPython 3.10Windows x86

whenever-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl (594.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

whenever-0.8.0-cp310-cp310-musllinux_1_2_i686.whl (642.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

whenever-0.8.0-cp310-cp310-musllinux_1_2_armv7l.whl (708.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

whenever-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl (585.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

whenever-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (423.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

whenever-0.8.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (490.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

whenever-0.8.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (479.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

whenever-0.8.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (444.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

whenever-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (406.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

whenever-0.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (475.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

whenever-0.8.0-cp310-cp310-macosx_11_0_arm64.whl (384.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

whenever-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl (392.1 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

whenever-0.8.0-cp39-cp39-win_amd64.whl (331.2 kB view details)

Uploaded CPython 3.9Windows x86-64

whenever-0.8.0-cp39-cp39-win32.whl (343.6 kB view details)

Uploaded CPython 3.9Windows x86

whenever-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl (594.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

whenever-0.8.0-cp39-cp39-musllinux_1_2_i686.whl (642.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

whenever-0.8.0-cp39-cp39-musllinux_1_2_armv7l.whl (708.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

whenever-0.8.0-cp39-cp39-musllinux_1_2_aarch64.whl (585.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

whenever-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (423.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

whenever-0.8.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (489.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

whenever-0.8.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (479.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

whenever-0.8.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (445.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

whenever-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (406.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

whenever-0.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (475.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

whenever-0.8.0-cp39-cp39-macosx_11_0_arm64.whl (384.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

whenever-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl (392.1 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file whenever-0.8.0.tar.gz.

File metadata

  • Download URL: whenever-0.8.0.tar.gz
  • Upload date:
  • Size: 189.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0.tar.gz
Algorithm Hash digest
SHA256 afdf81c30b229255398e7153bb94673d2be366397e6a57f44cea51815bbba315
MD5 b814a190fed3a89042654122eb4ee549
BLAKE2b-256 f43393e822a3c114fc8feeac784ebca161b08b494e6147e4aaab5b247aa8addc

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: whenever-0.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 332.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f395336293a79b122bfcbf9e1f5ee154bb5526c122c2f12f545a67d2f8c00fd8
MD5 c934a9d1f9d2b6ccea175e58954f5bca
BLAKE2b-256 0fed191199cefecf92ede1e9c6ed334bada62b784d1ce09b8d62fb9a5c03747c

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: whenever-0.8.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 344.4 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 7a22aa37df3c861dd17fe0a90dd0abc9de5886088457f2d32dd45ebd220d40c3
MD5 16cd19f2b2c6fb8539b936df56e0c880
BLAKE2b-256 51260127415cdd733b42055b8702dd3cf440992c255b4ad47d1b0d3ec72dde47

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a9b743b6f02c6d66af8cb2b5a7d3ce2d23ccfafb7f1046113859364692b2dfaf
MD5 bac55f6b71fbce0b570b1f5f3d59d423
BLAKE2b-256 281f8899a9c8c002841a12e80f398bd28be8ac54b5fe4998ddc996e82b8e0889

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0c9fb1cfcea36518cc724459b19f8f30cfe55c35bb68bb7c3485c19d0ef0c842
MD5 e813e07a1d21b9b69b83a718a3291419
BLAKE2b-256 f5df1e88ca063d1a1831e1de59152c16b631e91f1fa57f686ad55a56ae0f294a

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0a2c231131e3d2bbab77bf9e0c407ef9615fd2aa2b6becfadeb6a80e0fb4cc9d
MD5 67984a0036fd0dd62f7d4cc3f6ed072c
BLAKE2b-256 72deeb70cb95738ed84e2438152aac25df8f5fb2acb7952f6ad45d24c13fe260

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 84484be3c0c2963252c52aed1051c3e7606cf3d08f07269a781b702fa072c40b
MD5 aad0ec7356bfcb5b6c72de5fb1165f70
BLAKE2b-256 61807c2006fbebf381a96243a220fa4428ceb6e6d09f1866b2a755e46fe29b50

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a72e417bd5d7ad8bddd596c4070ea676c9412a071719d2094d502fa1756f2a3c
MD5 da8150d748b29551680cfb35f75eb956
BLAKE2b-256 a4d80bbc1becb8fec9a7cacc9575d5b7a8b632c69cfbad0242704c87f1932a8b

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8ba4a8dd93bf04dbe9616008f5716a24a3956d5174f810d3428d99e86e4a7260
MD5 a22c821064f6e5039d8ca83742d228c7
BLAKE2b-256 b082b48c1d97efc23c0bcf50303b73d831b83aa9cb04b280aeac7a726a518daa

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 72ae74398dfb135129300beb19c3579ac35299064b128e483b45efb58a2f9eea
MD5 ae58013fb601aa6585fce98497e42288
BLAKE2b-256 cac4db874cb6011e019297a011c7ad4cc5ee9fe114fd44f5a51fa0062ee65e64

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0b14f3d3edb5abffcb5abbf222ef26c415e6277d912b33dccad63743081603b1
MD5 1e260a33adfc4fc8cc49fe0f2e28f19d
BLAKE2b-256 46c5e015c7860a9892543cad25876440e24057d1282110c26edbd71ff7151167

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f86ad2954782d054b8186f5f14a26dd17c7d868e380c6494019258e951c01b6d
MD5 ecc6db7d495b8a6b2d94d11a8927a9bc
BLAKE2b-256 dc8729a298cefe6887d36637faaadf6b4b421b2c071780c98eb7aad4919f3f84

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 1ab88ba17aec8a464b8e84557cb645de0cc456e922c2021c973ffb72a2bf4d88
MD5 d1be796d4f6b5e09c7c0fd4d9eb0d87a
BLAKE2b-256 c86e97655205e619a1d1e24fa11fa3160d2e4bc87adaeb15a0d7430d9652e462

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd57b28a6e595e946686049e513fdaba7a6792360354dfa42b6f2b67db8dd09f
MD5 123bec06ac7bc488766756017f45ac0a
BLAKE2b-256 55a0ca898e650d1645927f331ca0b87b3f899dc1ff788b3d894b5a0728c6eb8c

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3c7b2a02922a3f535416e2f56e22f1497914c6e046861760de59f43879a1c197
MD5 31f5eabf255d8b62970fe33084ae8579
BLAKE2b-256 cfcd9d0634b6974ddd0f6fd54bee29cf38b3684b929aeff6b28ae5962feb9966

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: whenever-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 332.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8b6974b25debb652ca23abcf64426dff92761427c34af64de09b1be3f15ed0c4
MD5 f734d55ef5c3c43faac93b15ccd26c91
BLAKE2b-256 a65a27ef07cbd696bdb8192b351c6aeb4a8df5ad8ac8b108ef27b7bd0d95b052

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: whenever-0.8.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 344.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 734dbd12aa03b1224b398ea92c85c88f0ecb13c0cbed0a761b2f5042cd00eceb
MD5 221ff68ede89b5ba494196e549e7e20f
BLAKE2b-256 04b5154f58dca5cc729a44f82dc62867fd042ac6a39abdac04e9eec3658e3691

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d34f6013a5655f2b7a258ee9312b63334c3444ba247414f4c247ad94f24b84e
MD5 aa5e0fc9a8b8e72ffa1c495c60736083
BLAKE2b-256 07022d75fcd2111590dbb3a62a02d81a72f1f21008f6dab58e6c43324299cd75

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d026aee65bfbc4edf8be0ad5cf690543478ada744a006b24614ed62e7c643fc9
MD5 37402d352688ea893b75251235d5cf58
BLAKE2b-256 10d8286f3142f1f564ea8bdbd24eae24c8e7c6a9e98f17a848b1f679f5a5f6f6

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cc2d51a19bfbb5483ce44905f24e4cd32b36aa59b64273f39b97b6be33076a7a
MD5 7785e815cb90e48b8e20d13942318fd4
BLAKE2b-256 f5d832be8a46b994ac0632bebb9fb3755d71cb0b17560dead8ff0bfaf7240652

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0ef2ff504eaaf2a1394840a8c89b5ca6cf6312e08a8d6a90b9a87bf4362cf2e1
MD5 292530e7b58a7fc99719a72bcc613371
BLAKE2b-256 204effaca638dfe1ae26820b6fc77b6e1175e071ad5fa4116d3a1fd12fa8f9ea

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edc7f06fe12f0c56491fde97c8b20b82a8189a400d4a5106331bcbb62acb3128
MD5 a34070065f239abd55595d8defed0bdb
BLAKE2b-256 d8273e2ce16bc3d2bc4c1ee846530fdcc81c2344b2fcd51e7063a665b3f597e6

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0173ab0999e955bc9895a6e5f1548973a4f06fe1c3275c5ca0d14ac34427fb48
MD5 49e7d944ca820dea36c7c0cc782d12ee
BLAKE2b-256 4799adc7d689eeeef0fc7b1c7fa2795c3b65f590db7e7491d36140348993e615

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8b4c995547018a0673f07c3fc0a00ee4e36547db176faf51d45b097571b9ec21
MD5 b4a4b8abefe42a8ae8bc549e9b61f7af
BLAKE2b-256 24c2ecf60943c0c90da6d84c78d48242de6c70f3436998a41f0ed131b9eedef3

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1fc1d829a443d443197b08bd99688a7319c9825694f4430633b4eb94d0dde9a3
MD5 e56c5762fc5985325433a1b48363acd8
BLAKE2b-256 5a3f9dbf682a31c5afd1ffe4ec39e86148c2b50f46ef4813acca32f83bb34970

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c55d69c7ab42eb0c9bfbab171bbf58348c2a283eef3fdae1d1291a726a2b19c7
MD5 e11e32047771b31c8fe318d421313ad3
BLAKE2b-256 9514ad9dc8a3725dcfffa457eecf3c27184e75e504494168590d2c58efa309e0

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 e59fcf7640263e42f8090e0acf8ef52e7995dabe1185ef754d87b1d190d073a7
MD5 68fd6f0d98956e09b16dfc57541c5fc0
BLAKE2b-256 44f35f197caee977b79f9f0e1ab4bd02fd7da031c616e7a3a86d01b4d82c6f0d

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef7bbee8ece01c27c04ce5dd9f8abe69929b8ce3a1b8237f6cd2e50ea7446a13
MD5 23bd394918169a7f588328a73b7c4717
BLAKE2b-256 7cf58ea9398a03178ac94e5f5ad7ca92659778cf644be936723ae6dbf011c9f9

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 77306319a4d3d6b129f506c961461c9984ccd2bc89a62a98d8cd1bacf0581ecf
MD5 cf8063b1a3372e29e85e0ea5c22a2fb6
BLAKE2b-256 f36e500a31b22ee7362c6db956327464254e70a420f6038e0528c7cdee99feaf

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: whenever-0.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 331.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7d48efbf2203888df78d13d64f04ef9fa94ceec03a6ec5c40a41fa0a9dbaea22
MD5 63d95a7018ee0d3b0cf7b2ef53c83ad1
BLAKE2b-256 07345d94abb058054d873b1c0013431e0be7e3cc41401e8954587f7876d713ad

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: whenever-0.8.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 342.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a938c845b972605a742541cc940a04e65ab78a0d79e19703d9ab95c0862656e1
MD5 4982090209c67c7468d17ba5e4fbe0de
BLAKE2b-256 bb4fdfce31f2a4205aabcc1deb1726a73c73b3f0ace51b0352713c608d78f711

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49e9d77cd114bd91676e99c850285b5b8cf94deeac16124d0bbbb366cece509f
MD5 41f3af711b3ce28e78f9abf23a911f31
BLAKE2b-256 31fcae62619585d1d1b150ad3b8e3b75817456780a3b5fc0ba245fe17bc68553

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 260b77dd6071fe85d703aa5ea338b6c7f4c3ecc5422032eb778fe8020ecb37a4
MD5 a0063addaffcfffd7564dd1c2e5bfdf0
BLAKE2b-256 ab4f2ccc30fc99bb54f8ff869599964fa94768ded12a7bef773b8943e3d73cfe

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9a8f4c08805e15bb09fc575003bd553635b322aa23e6693a4483abbf6afed72c
MD5 2c18ecf07c2ccdfe4ffe6fdc3991a8b4
BLAKE2b-256 e5076e32ec977981a90132891f2fddd3784bd11a2b50356e10caf9ba973a04f2

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d20f0f9ebaae628ce033e6e10666e7b854823b108bfed1bac21d7334411c565
MD5 e01f3195a58ba23ea20f42dc32fdd5fa
BLAKE2b-256 8f878e120a77273c0b76a4b36200409788a66a32d6681d370d4e767a15e06c6a

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a8ba63e9768b1835338609524ccdc3629063922b2c10eef6df182fd18958c48
MD5 afcb35be0268e12982ad7198d49bd72a
BLAKE2b-256 920d36626828f4ca79d20c2d0252c44b8a07c45a3250c9eb70ed318f48ea2ffe

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 07889a80c6dacd3d1ffddb45c9b7f7f22dd4fc142e1999adf2ba410435d74cde
MD5 2cb411e5f6d84e176100afe26851b0a7
BLAKE2b-256 0a9964168893589376ed6f04da2429f85051d7445664b8af46746c8c651718b2

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 acbedc19cb1c404b6249be92a2e59dd2ad8baffdad8da491433c3cff30dc6cfc
MD5 5e060bc5737b3df78100cba1a9bcb0c6
BLAKE2b-256 d0c4b38305ee1a20c21fc620e8157eeaf0db58fd8cffea65bcd59bb295f62be8

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fd0508113e2ffe074897088e9076e90d0a69bf78a389db828b75722fba35f174
MD5 2c5e1f3332fda5ac1e2e739593af2e3e
BLAKE2b-256 0fb1ddc0574f71fa20b306eae75f9e53ecb2ebc3eca6490526bc0def3749adc8

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 20349bb158ae1c7404357077a0709f9ef92b66115ec660444adbeb5aa9206cd8
MD5 418ffda606ea0e1f92019dee2cd7ed74
BLAKE2b-256 ec8d023d5ea9806840afc84c0aeba0a7ec93a59c2334eb635f54b52f02202607

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 525940a52256f0366caef4ee7182027a3f061a98751483cf4d6469e0949dd3eb
MD5 776dcec1c3a4d080e8d5f147e0400802
BLAKE2b-256 17dc9c91909561fe7d413f1706a658520f731d231a19ab7888307cbf87976a05

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87d3aa4fbad3670787c4bcd3154ca958d348309f0529e1bcc4923f974292e04a
MD5 0ac0f40fe15778a091a2dd961b578124
BLAKE2b-256 68510ab3956784544ec18c300d372da9e158a39fdddca437200986afa9c08d0d

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 96d31d48cced1b47b3ba6772b6c5f0f519d7faf5321f3887e4e7837d03bb33cc
MD5 9425295a843a0a5dc005f546f0f1279f
BLAKE2b-256 904b1722eb6ab83f9e88b89fb674eacc96222ca9f3444d827d40bb0781c8f48d

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: whenever-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 331.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dabf8a3fc6ec50ffe68b61ae274acd4814e5dd23420485075b53ed64c8585c49
MD5 a2c7ed3c964e8225faec1c5da41b2512
BLAKE2b-256 2a9ad22e34ea1f63e07ab225c339be09e8524fc30ec3f360b23be014a7ef76e8

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: whenever-0.8.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 342.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 83a9821d44aa4bce7c76bda73d009d3a7226e3ba0229e7544f288e3150c654ad
MD5 3f3368b60286931871181d3300108178
BLAKE2b-256 8049f6652779a4bb5f55b678fbea6ebf505c2df02d027118a9b57b7d9956b05a

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f295874fca656f56b410b270dce212abe1e59f4f007a1f8c47fb9ebc7d359cbd
MD5 fea29fa97f4f0fd3f7224b7e2551ce26
BLAKE2b-256 2e5101c3431651a926d03f65dcc9d2e8fc69003524251fd12f1a99313cb48278

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 40fef4dfaf8c7019759d9ac7fd7dcf3d4ea6e7445e29e9f473a22bf4a0b1e8c5
MD5 f86ba90a63828c31b20d19ce484dfa01
BLAKE2b-256 75f0081510081021513ff6b374a9b9382f11cddc98ba8e2aad388b5c8c072c35

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1ebe75507f9a581ecd801acccfe1e92820d5994a30d48110952daade4495fa16
MD5 94abe648fccee47aa72fb3cd948003fc
BLAKE2b-256 8aa57712226d6dad6740c373cd0bd7fb94f4b1a91f8a76a25718a88a64a08999

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05bf000f721d490484e355a2cf60cb3aab62cd9f760064c45e5f51776f500e3f
MD5 ba4783c47092d630453bf072c433cc02
BLAKE2b-256 511966349f571588af901ae8ef0d9ccf6f8271163aceb5b99dcdf3d5af75cd12

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 614648421e6116e51c129b035f8c082ed72d0654d4b3f7af013b937e941a2259
MD5 b59ef3b4764a2dfc5ae355c3ee8982ef
BLAKE2b-256 9c89657e3ba1d4bd711c0c3ea1cc293bfd35f81d8becc2ee16ab888c718f5d34

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 30dd281baa2fbccf85653a227d455413a88b7a526cf593e77b2672b659445d80
MD5 a9541f2d7094157d9859900feaa8bfe0
BLAKE2b-256 9303a65abe51c6ea669ed5d2c7766af34b0a2ae36d8ad6ac7543b925b0767e31

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c929f322532de46309ff78304b49c67e47a15a1dd05951fa7701728162a3dd79
MD5 c4d0948a134253737f9728bddb4e7079
BLAKE2b-256 9a34fe9a7a38fb75d77d41c899336125927108116b4e4296b31ba126bcce7b5b

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 75041f3bd7b63a97a2a8d95edcee1e8e210341227b18f85897c9515a0fd26824
MD5 aa6d523f5501addd822319047618d5e8
BLAKE2b-256 5951ee07ff97044d4d7aea6a88bcde12e3d868514e6b4cbe62ff6288803d6443

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 690da7cc12fc775ba56d5131ad7aa400a396cf53a0e6376db67cb8284270062a
MD5 ec649e0bdbd6cbd77c3f15dfe5e17a05
BLAKE2b-256 416cc99b03d800a661ff8c3e07bcb14f6d221ce5c68570865ed22000ae85ffd3

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 6d50f498a5310762d0cea282bcdd080af95614e9cb7bf3f0a0b6f18bf8d5fe03
MD5 c4b8758d27657b7bfbe9a117aeb63488
BLAKE2b-256 59c466eb7874f8102addfb2c2810f04330ae36583bb69f06f510fd02c16c5fea

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0cf704b26e7b021fb662c72654b6296fd340f45e8bec6f9e3b8b7f03dea9cab0
MD5 7ed304161d19728366e00a2816d42dc4
BLAKE2b-256 b3c099ca0c2308ea93c069aeaa7a50eef638787947fc92ca9e3a055c184264c8

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6dd5a4e604797c18a2d8ec845c548478576b9c955a8115d5e546b8bdbfee80b0
MD5 408762c2e83ed5c8ddda754ad16b1d1d
BLAKE2b-256 aee630c5c6857cbe2fb625ead9d40545a48b2ebede1b851d866c3a446d387e82

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: whenever-0.8.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 331.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b52e0202ad89f2858cd1552c5bfa72fe32a8edbdcff181fe893a657d4ffb036c
MD5 de5ba68846aaf15af8d02444a68fae7e
BLAKE2b-256 3f9051b1372152cf11dab7025d79f93774576a032a1e25fd5bd7020fde79d545

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: whenever-0.8.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 343.6 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for whenever-0.8.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 3493ef0475814bd194b27524a84f08ac10207b77e62567697b0b0e37beabcb3d
MD5 bfdde3983aabd3b8b565d1bec16be989
BLAKE2b-256 444860b639fb6194ac5eaf576fdd842239763ec1c6060cc39b9b86ca7f8e235d

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f64797880c3801cf5fee59154434bc368ae7d46ece0025c20594722bfa5db3ba
MD5 a22f9b19b1c3e9aa66c7534e15169f55
BLAKE2b-256 a3eb629ae50ed3858d31cdfa9cddc3ee70cc8a17acc9c09e977fd0bf35c8ae6a

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 69b629cce58afd9461e43f963d957d942a8b0909be3c8b468fd54026cadb741f
MD5 809ed37665fa87b71e62b8607a42bbc8
BLAKE2b-256 cf77b059ea20cf4e866b651876a5cba537688a8df2c036dc22b3e31550de5b66

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0969c251386e6f878bd807b924b895f86178dabb39e2396f39f257423a671f22
MD5 6471e6c72a57d4624849117f370d587a
BLAKE2b-256 c89fc86922f20cfb24612da5faf85a54b3288282b0237186576cb446e79746fc

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cda96d3f3db9b34dba1d6fa36525eb66e0ee711cb3ab3772b23854b0e535b7ae
MD5 bfcc103f1814732755daff46a0cec8b4
BLAKE2b-256 7955840a3aa17171981f945312787d1a453eeaafc25d6119cf65b2800d7d2255

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88db86cf5abc4891ffe6403b63af3baacc21e6a320d6c72f8f5baf590e955116
MD5 9bbac044d7d98b61f8860f5cbea57302
BLAKE2b-256 3fe965af83299c98f03fa461a47f91ba0bb943d41583caebe69551bc7e84faa4

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 93f456cb7a2e7638b8fdd7261bf3c642f4645ef3723ea7215a93ba0cb04f4767
MD5 fc3b1951beaa0a5506ab09682df2b446
BLAKE2b-256 f793bce8a684fd810357bf6805dfe6912cc84b9d712d525076c9a9dc46d74742

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c71d865220aca8c48bc69f34db3e6cc6a13e7102e613fa0e86d267c680681f56
MD5 2d7b9fcd341fda8adc456155a7defe2e
BLAKE2b-256 d56aef2e5d3d5fa6d6a3c08d13df7f71ac68bb911ae8ec20d818dcd21efa9265

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2ce9e2ec3522055fb785d26c24d204bc92d14e028d1103f18dd5068da27e706f
MD5 7d00b1734f168e2ac66c036271678951
BLAKE2b-256 9f902352a2a5b5db1c267566bb3018b682abd304916a9d19501f9a16c9c093e5

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 517c9ecde8dc6b5613dbf9d68533def41bbcea7fc21d27dc29c60c9a4161f2f3
MD5 6f3560149af850af426160a0cfce1de6
BLAKE2b-256 e02c02398eb9b7cbe6fa019ae7c100c82f802542b6415e485d201fee2c464b76

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 706dac836911342d585969480b52d6510fdddbeb7da63458f909dc19d2ab07dc
MD5 afc754602d2966ab9f43b4b56d12baab
BLAKE2b-256 7d3d8af5e342ad34016520fe0cc43de834c835bf7c2df4ab6420efb49b9b70f3

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25db7c14396eb4b8fe199ebc52156706cf7a35b8803d0bb777b9519ea0ff3523
MD5 d140a96d77a6e9bf35cbf2667a336167
BLAKE2b-256 ed85d6bbdf583f90f60dc56f5a9085c7048e1bd3bad5015514b70b7e5c9fa55b

See more details on using hashes here.

File details

Details for the file whenever-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for whenever-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ccac81f555ce3125c9977ba608c916a734fe86d328427f88380249fb369278c3
MD5 09848a35d42fcb4ef33eb5dbbe1c43d3
BLAKE2b-256 1d043e451c168a015d0cecdca4f69a040f447c906a8c159b097dc58b0ed66ffb

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