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
  • 🪃 Pydantic support (preview)
  • 🦀 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

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.1.tar.gz (126.2 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.1-cp313-cp313-win_amd64.whl (338.4 kB view details)

Uploaded CPython 3.13Windows x86-64

whenever-0.8.1-cp313-cp313-win32.whl (342.7 kB view details)

Uploaded CPython 3.13Windows x86

whenever-0.8.1-cp313-cp313-musllinux_1_2_x86_64.whl (601.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

whenever-0.8.1-cp313-cp313-musllinux_1_2_i686.whl (651.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

whenever-0.8.1-cp313-cp313-musllinux_1_2_armv7l.whl (711.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

whenever-0.8.1-cp313-cp313-musllinux_1_2_aarch64.whl (594.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

whenever-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

whenever-0.8.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (460.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

whenever-0.8.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (548.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

whenever-0.8.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (448.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

whenever-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

whenever-0.8.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (479.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

whenever-0.8.1-cp313-cp313-macosx_11_0_arm64.whl (388.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

whenever-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl (398.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

whenever-0.8.1-cp312-cp312-win_amd64.whl (338.7 kB view details)

Uploaded CPython 3.12Windows x86-64

whenever-0.8.1-cp312-cp312-win32.whl (342.5 kB view details)

Uploaded CPython 3.12Windows x86

whenever-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl (601.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

whenever-0.8.1-cp312-cp312-musllinux_1_2_i686.whl (651.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

whenever-0.8.1-cp312-cp312-musllinux_1_2_armv7l.whl (711.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

whenever-0.8.1-cp312-cp312-musllinux_1_2_aarch64.whl (594.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

whenever-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

whenever-0.8.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (460.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

whenever-0.8.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (548.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

whenever-0.8.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (448.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

whenever-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

whenever-0.8.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (479.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

whenever-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (387.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

whenever-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl (399.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

whenever-0.8.1-cp311-cp311-win_amd64.whl (335.9 kB view details)

Uploaded CPython 3.11Windows x86-64

whenever-0.8.1-cp311-cp311-win32.whl (341.7 kB view details)

Uploaded CPython 3.11Windows x86

whenever-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl (601.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

whenever-0.8.1-cp311-cp311-musllinux_1_2_i686.whl (646.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

whenever-0.8.1-cp311-cp311-musllinux_1_2_armv7l.whl (713.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

whenever-0.8.1-cp311-cp311-musllinux_1_2_aarch64.whl (593.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

whenever-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

whenever-0.8.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (459.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

whenever-0.8.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (547.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

whenever-0.8.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (449.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

whenever-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

whenever-0.8.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (474.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

whenever-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (387.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

whenever-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl (397.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

whenever-0.8.1-cp310-cp310-win_amd64.whl (335.9 kB view details)

Uploaded CPython 3.10Windows x86-64

whenever-0.8.1-cp310-cp310-win32.whl (341.7 kB view details)

Uploaded CPython 3.10Windows x86

whenever-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl (601.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

whenever-0.8.1-cp310-cp310-musllinux_1_2_i686.whl (646.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

whenever-0.8.1-cp310-cp310-musllinux_1_2_armv7l.whl (713.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

whenever-0.8.1-cp310-cp310-musllinux_1_2_aarch64.whl (593.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

whenever-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

whenever-0.8.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (459.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

whenever-0.8.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (547.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

whenever-0.8.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (449.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

whenever-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

whenever-0.8.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (474.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

whenever-0.8.1-cp310-cp310-macosx_11_0_arm64.whl (387.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

whenever-0.8.1-cp310-cp310-macosx_10_12_x86_64.whl (397.9 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

whenever-0.8.1-cp39-cp39-win_amd64.whl (338.0 kB view details)

Uploaded CPython 3.9Windows x86-64

whenever-0.8.1-cp39-cp39-win32.whl (342.5 kB view details)

Uploaded CPython 3.9Windows x86

whenever-0.8.1-cp39-cp39-musllinux_1_2_x86_64.whl (602.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

whenever-0.8.1-cp39-cp39-musllinux_1_2_i686.whl (647.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

whenever-0.8.1-cp39-cp39-musllinux_1_2_armv7l.whl (713.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

whenever-0.8.1-cp39-cp39-musllinux_1_2_aarch64.whl (594.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

whenever-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

whenever-0.8.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (460.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

whenever-0.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (548.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

whenever-0.8.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (449.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

whenever-0.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

whenever-0.8.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (476.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

whenever-0.8.1-cp39-cp39-macosx_11_0_arm64.whl (388.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

whenever-0.8.1-cp39-cp39-macosx_10_12_x86_64.whl (397.6 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: whenever-0.8.1.tar.gz
  • Upload date:
  • Size: 126.2 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.1.tar.gz
Algorithm Hash digest
SHA256 6753130cc84a569381ac7df48a71ebb9949985b30f21616b3a95f20b19993723
MD5 3d3e17160d5721634f12a5c085a55853
BLAKE2b-256 b6d20b407a1925400a4a35a6e43644a415ac5840c04b2cef9298285d3f312e6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 338.4 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 48fd30ed7372a121d233f8aad8805cbd1ab70507e80ea0047fb4d72f817ce2d1
MD5 268e576365254a1a38688efae3c15b0b
BLAKE2b-256 94cef3e06b017133ff9c6e2407eef94dacf69b464be8bedc52e410a781d423a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 342.7 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.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c4b2c27b40d805c28b554bdb82a3a8a65abea888f10af57a927465d4a527d43d
MD5 a5a60c9914983c20e4a03fd2328d3396
BLAKE2b-256 befa71e75552b4b2800a523c153839181e7c69abefa202b51f49c7dc11f369e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12a3a40327b2ef2ebe7561e5df192e34f4f2c411966693afd4ad81fd14a5a569
MD5 83cd5c0261fc249d9ad4776fbac59877
BLAKE2b-256 0d487d0f04e9abe745d6a36529766b07ca4ece7be21990b0be65458c0dfb9746

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cc6f8ccf6c380c72e8a2ecfb5a2dbaf9c88289839c84d26c1e842a706c0a1fbc
MD5 8e875915bd5ff5adcd3cf1b20a8f5e6b
BLAKE2b-256 44d90216daa78c12f3d60f37c3819d532a8ed7706d6e19082993be1c801d9783

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f9983a8b02e54d4597aef28d554a3e573f246b1993635d89f51a660285378208
MD5 8b11d2a0903b8a7daf113c57383dc342
BLAKE2b-256 2c8a9cc0371e4195184de0fe302dd4b8b496bb6f5e2d87e84fa9567674974fe5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 293852420826e7a869501b4bd3ef38a9ba92598f8bb98bf14996f9f0f3b38340
MD5 a62452ed3192adf55d661dc03f060323
BLAKE2b-256 d42236f19c995afbdfb4bd87e3a3af59c36aa24065639bba60f11eb6234f6b9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b194da76291ce8dfe74680b06408703e49fcbc71e6761ac9ce7ad23508fbe600
MD5 55cd44df5ccae1512e63cc9abd422b31
BLAKE2b-256 484678a87a93df9ed18ae6a7b4b5a797b86f5942a769b8943c3a6bbd52c630ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1f30d8c99ffeb83536370bdd1b10c39cc1842e51b1009c211526426af196a1b4
MD5 9187bb703632145e4727a579e47c2821
BLAKE2b-256 296c974178250d20a15e6708f3170b5c32aac6f284deb0d2216f52d7472095aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 28d8109b9be2ef015312751957bf2ca16e029b8511aa32f33798b34205970da4
MD5 73e9d31fbee3822042e936d78059bbd5
BLAKE2b-256 4efd9c05ee32802e337fe102e608f013c4450003191be33807bfd1d4ef5e8f3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 69abc23da3ab3259c13226972944057919003b30fd4de7e719f690219f5c7ac9
MD5 f5e24d57ed797a4b8639b79d60cfbdcb
BLAKE2b-256 ff6a32838bfde0e339b9bced67480dd5cecb5e498345c5bd47708d62fa49b13c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60e0d0539a6458609fce72dd186148e65a019b5af4d777c88322a3612f7fd401
MD5 1ab01fb8c3a1af866c4f15924b495dd9
BLAKE2b-256 dd41533b205260def17d606f6497ba131c1dd9552827a158d2f0c00ddb51f865

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 5ec095500eaa3e6b660452ce32498e43060f7e3d30dcbbb03ba83e978d42bd5e
MD5 bd3aea899f5b4d64b4ed73f68e7509c0
BLAKE2b-256 38ecf23db458ea9b67799b5284e1ef45d474054c2d8b436326e1b463bf5444e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3bcbe25f9471a84fca16329ea1961ee582cf136e508b9244e971fcbbeee6775d
MD5 4411501ff57b9a5a09bd1c75a5c3b424
BLAKE2b-256 aac1f28e29e095d95d8437df7b471eb1bc2edcef8548f492c5428c4607efabe9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4c55ec8561d7ab3ffe83a0253df536aff79e76f97f2a5347da1a2b50c6ca403f
MD5 ad9ebb6dfe4e884d0d8b06b4d5d0d169
BLAKE2b-256 f175c500be57335845815bb09fa250f49c19fc3d3506d865bfd8f75adafc228b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 338.7 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c27504d7f1ad7fa08583a3d026b140d76212cf146d8ee0472d8fc52845d41d0d
MD5 41ed128818626fe4839065463467bf27
BLAKE2b-256 87dda2bcd528947c954bfa9c5df7915f82e340b94bccf7b341a19fbb846b7386

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 342.5 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.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 2a752f7d2f96127504cc3989052d21944cb5be9aa55e29d412e01a8ea9f51769
MD5 4f80362ee6bdb8eca46fb92bf4612a28
BLAKE2b-256 681d978bb1c6bc28123c4d25c024436f7cefd47e42c2d27b3321b3ebe0156a02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a267d6aebdf017029b0671e7cffc37e53da1dde4860da99b7a4671f33a24896c
MD5 7a9879ac36837f966062e7608cb734d1
BLAKE2b-256 6b2bf19042ca50427711f64c06c2e91835014f675e69e20a8e1e49493d4db2d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5123c8b57febd47714724dbfb7e46264420feebf1edfd77c03470b7cd41afbb1
MD5 3d4f1a8d278bdc5f5ecb76ef9e6fee43
BLAKE2b-256 36fdd1d6572792b4dca8e4031c558464fdc4ba78a4d3432862152875f674e8fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3e58a6e68c51c78ba9b72c17c8412b620581a077d614f88c4ed96fbb6ae9ee98
MD5 1f5e7f49d8686504297f6d9066cd0605
BLAKE2b-256 3accea9d3461227d2dbb9cb1f910a956816c19ac50afadaa54b112324646deee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f8bc977e04f8daeb8d87f35569321a97a2e2034f1abbb1831ea6cee4b2accaf
MD5 7b0c8d8000d239838a0dfb86d2a139d2
BLAKE2b-256 7f1e00723630bc15e2b0bcbef500b6a523600fb4b4349954b37bb54daf8af6ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbec46273e8b6aaa33d98704755e32b4f5bafd81fe9dbca7cd6b2b3a49291cce
MD5 7bcd77eba45a2fb882b278049c2bbf6b
BLAKE2b-256 b875a8a02c8671d5c353f621c7b3a8f9eab3acc5f4e40e8a219d24f6b429bdfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6830b69575fb9e597ab8f97f587002ccde886eae993d2ab4c312ecf77c5adf7e
MD5 0c599a8d4954f120ca6877bafed7eefd
BLAKE2b-256 8265d1de2b9048a1815ab0475ddb7351d099496acb71129e2dda9db01b84e834

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 09763da6bab57fbcd7d59dd0bfb6c0200bcc09dbdfabcffa83766fb60000897c
MD5 a2cddac034df946ea6d5fceae20cd7a0
BLAKE2b-256 afbdca66e2e0d446494b9c94a5ed6490991ef88d6be1d5e323a9c051c8acdd93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3187b080386e1fd046a6f62de6b2e07e9769bbdc235eedb907332b2df19540d2
MD5 e061c43c37f878aa3cf60cf154034443
BLAKE2b-256 163314aa74d4081be004ab348bb848c2be634b45874d4c05b0ca4cf7673c5f2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 887c88c51bd076a2f16359b42b118b38eba068248d4ed8cc370a168eb1c6482e
MD5 47249be57d19789c49ed81d995286a47
BLAKE2b-256 7b03089ed1d889b43dbb0d7a348b96719174bea1e2d2981be00133bd8f7258a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 51e9684057d3f4ee2706089bb926cd9030e676907279603762e4eb4b0c0ab546
MD5 6fa12e890edb54ebbff19574bf163eac
BLAKE2b-256 2b0d9b05340ee4c5724d5784a8f3e4cedb92b21865c8f1ebb0cf0d66b92f1955

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc3648502cccaec711d473ce2326534c7b04f8fada4f2625359a80b1ac6affa1
MD5 4da13090d8b10b7226b082dc405760ff
BLAKE2b-256 02362aa0f0c2519d61743506097238e313724304a37387ce06210bd0295bdba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a51793f79aa1bf87dc92c2557178eb75db4629eb166afbd42bb29d1980517a5
MD5 41ae82e847fe15f823bc8c44a5f0b488
BLAKE2b-256 be04ac086165217d6fdd6a37f20276b93d5a4faf72cd96ce242a94744fd359ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 335.9 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 37ac129b59748b844daf04408f57d8cd20393eb181df47055360baedfdc904a0
MD5 0b44e70cc525f9c1f3ae5df83d585964
BLAKE2b-256 2d797ae7311615dbadd912b0d6a757a5814218d77ea4f79a6aa8c2ed052cd7e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 341.7 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.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7dc964ea5ed0a23336a02c236eb2792226d452c0c4a5e1c81f46d3f3b6a52923
MD5 52c0166c2551eb53e42c168be0a7817e
BLAKE2b-256 c34ea744cf13363d66593cf04025de9d00b68696d9069dd9bb6ab8a95626a41a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78a4400b58946adc812abae821824be2e67132fb0fd80a6197c440f62d55039b
MD5 398d02689774f276b8899c68e643adfc
BLAKE2b-256 e0c58a4bc95753aef8a9c71c07a0feb2a5faf068f4218cacf4af23f5f5ef7379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 194db13658664b083ae4a1c1b9f31bec515f6d29386166420819b928a8ba8c59
MD5 2225bf81b307f6aef6be313f5056a052
BLAKE2b-256 d524f99c8f1ed0b68ce7785c534a43236fae24071b6b9fa2a68b7b33caa3c78b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f02fc04fb26038a87a0add92d25d47e29690814d5e0cd494eb0073d3d5e4668f
MD5 18c54a0645a326b698ddbcf7220332bd
BLAKE2b-256 9060e72d7791afcce72b5a41bb3250ad8bc664dac3b36572c84177762d6bba0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e614ccfc9a5560a05fe7ff64b1aa26f034ad883f0b1a8ba3a5013044614282b
MD5 270d125a79b57e111d9983f270ace82b
BLAKE2b-256 f828cb7374d14520ee06c8a1682aeed3a46cc18509b95edbcd7906db4388d298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40046f0e0b2f013e012d17b010e5c1354791f3b1d1c184580128968c897a6f13
MD5 e80b27a1edfbefd26ba0a4fc42d8d549
BLAKE2b-256 459294f64855526eb7f01d104f43774b8c97faf54e0e08831470603b8380f23c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2322ce84bc15e42c914e023f01b7b4c5a01b87c05d0ee34589be2805539f96e5
MD5 d2baf989bd117a07c0ebfd2b985f7d70
BLAKE2b-256 06bb4bd80d33346430774e1f402a0d8ecee01007045819725787c88ea15a5971

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 64726c46010e0ac2728aa6cd6f3ebd28ebc5640c912a48729072bd3b6b13228b
MD5 644f92ae29da039c011619fe918ed87c
BLAKE2b-256 371ccd39978ea2b1064e9220b3da9213a7201993d76e665d361dd9705f727948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0a6f6f8350ee67b926b2280abd2def69b0bc8c83ffe6a1c6a4e99422a4488302
MD5 06469d8cc8e5830085b3d838452acfd8
BLAKE2b-256 dcb848a19bc691ff7d61cc30cae58c97a734bf36c74b3df9bfbda4fa381f6ff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fa83569ec75c8872d9183594d3856dc0b56586d17c2c09316e474180605f8bb
MD5 096994c58ce8cc195517dbf035d5cbfb
BLAKE2b-256 4cc4ca6115dc122d3b2486ec13888c416ae3731119541677cd602a0db9b198e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 60dd9c581a24251130aceb02795bd9333816c6f62c62728734c1242642edb904
MD5 8423e44e5a2dbff2d79a5c1db17bb7b9
BLAKE2b-256 3733275f7a655be8a2904c2333a835940770c11d51f00648bf5cbe1932fa8370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f4160d13976c9606ed26430b989de044ce1f6051500c023800e0a05c79febd8
MD5 a4b294c44b3fa64e77a6f78a0e583276
BLAKE2b-256 1d68609704b0e69a19dea2106513730a2c1f3dc4d865ed44d56ee6e0b44cf19d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60368724fef7c80c9b77c381aeefbf78442a27a40a1539c1fdb72e9c70a097bc
MD5 aa2710fb534b817ef745f7bdc779e7b1
BLAKE2b-256 829b9283ad711a8099241dcc754725d952b99b34450c8c6e7359681acac6b0f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 335.9 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fb0ec9fbb84f76320788e26fcc645d799e1a0d8ea9e6f4f8651e41f190b6e9a4
MD5 4d5b48e5b20f5c283e14d9e3e2dc7c15
BLAKE2b-256 fa3f2b19ce5d44c2a6d1b2e056aa3604f79ed5df066e8563fa38f6a805aba208

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 341.7 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.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 807552c8459c2936eaeae962a671e9bafbf67477bd5837b9725fe607fc9c94dc
MD5 4d8ef5fc22045811161e5ca602b68041
BLAKE2b-256 bba589d715981449869ad33d6851f476b3b2bce36f5f4de961a2b08f1d087548

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5aba2912c3d13c624ea95cc5d8877afec460130bea2091d17822ed0449ead238
MD5 c23e4f148ac22064bf8ef0ad53cb4d9d
BLAKE2b-256 e46564399c1858ff0a29450070ae225817a0d512920cb0e7356789db5cfefcf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7d4361cb4fde7ce6022c7a63818657bf525892a2be00a02b8d9dc0cedeba829d
MD5 628c3f1739c681c0da6b540ef8af4287
BLAKE2b-256 7dc97433d60450c8f5eba0df8a0eb5382c5dbbd98616a613a41041675ef2fc60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7fed428bbfc0d3b9e38f9cff44c390d04976b052abf47476a2083e9b8d7933cc
MD5 2f928ff8d63a558ea4a7a397088ce18e
BLAKE2b-256 763c3e6a1deecaa187531e8364e5dce5aecb1b6523d04a1afe43a3d6de4331c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 28156849eaec57197e6521783cc0759fc17947999c43de4237e24978bf29110c
MD5 1ea854839dd9c8fef0ec82585ab3b05e
BLAKE2b-256 3c8ef1562475c7c537a8251d86285a827feac2f890e7996f5abf63c5ac076d7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cab0f57f0ec4969855ba91298a2c0c9ad1a0de08ae1d9a91d7008199f20fa1a0
MD5 276d69bc3229116496301860a640f460
BLAKE2b-256 6533bf7fb0804ddc427b2dcb4c40732bbccc0c5cacae1fde8f2943a8a485fb2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 fc54822a37b712478666b4f22f124d3e396b39a7e763dcc0666e54466f718b87
MD5 0f929d557a9e1008ea3291d73ca8df39
BLAKE2b-256 de6a5a4dd29a5163d7a5527bfcc6750ec5e22e2e2b2a6c7bae9f5a102d6f6e41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7fac558d317caa9ded948b847441aec2fe71f8fe54ec5aabfe086b26f3d23cde
MD5 c62b360d94e9e79849b457bccc0dc9bd
BLAKE2b-256 16f01637bc728cb4c001d8730239dcaf7df14849acb5011f3b1f3dd1f62797b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3e437b380fc942d75dcca34f8335eba09d58057ac01d08096f731af7a4831e10
MD5 7b8912a5c72d01b9a01084230bb37867
BLAKE2b-256 14d52c9858c5efb0bd32439c19cf8c508d2299e29b80c9cc6eff99752c4c167a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6ba82f1a7da2d0e11b488123e3b5c62ef506118870e06745f377f36825a187d2
MD5 3ce696da142c626cb41d01fd653b180c
BLAKE2b-256 2738aa93526dd70a04a871fd1a38c07834b5ee7ead7edbd4a74ac208d8cf4e74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 1710110eb09c877ad751654c5828f129a95e245e8112bd233fd688d85dd9e614
MD5 8adfc706777828db91f48447afbaf522
BLAKE2b-256 cc86a3c61a662ada646b80e320eb97766e5aa6688bb01dd6b20edcf2c7661907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48e517c688e2eedf00c1324b4d912452f75665aba5257174c58ca63368f71db5
MD5 c45aabdb021bea4407ab372fb5624697
BLAKE2b-256 0b3d772625c0839160f86493032b91a20b96a84c89a916aa93230b07eda2bb86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 570d9ac743412f8ac0a5ed84a03ed5d0f675d16b984d2d280d5e89037ac8d324
MD5 cdeb37e81a6ca322caa5ef1cf16a2a41
BLAKE2b-256 73e9b181088bd28c5bd71b317277ee62d999c81948f92b420b8becb888f44487

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 338.0 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0c777f919f6324c63e10bc68c03fc0e528d1705d51eda63fa9fcb0bac641f0fb
MD5 30702edc37d4f7273e770f8f3235dbb8
BLAKE2b-256 6d2fc6c760dace7e7f687d55104ff4854c1f7ac54804bd1426a3f22059849566

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 342.5 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.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c429ecd2d8e68ea7a7b975b57ebcea94d5ba4fc6bea4682cf2b9f80585749f2a
MD5 91ddc9481534ecc9fedb98dcacebd3ae
BLAKE2b-256 caec7d82e47316d2a5684d50de269315f922a3455e114da1ebda6118b66bf0a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02a678c126e6eb9cae66da6222f9da1297932ee55d9b6e6396b568a42a6e93e9
MD5 ae09e6be14514366cbf4fc5865fe6e65
BLAKE2b-256 b7ccabbcf6bda9bc156796b418236b2c9abb2ff6c6a7aa10ff45472c83176229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9be053ec099035315bfd4a071f548c27ef9daf49a6e227af706f931ae7ac7a7f
MD5 420186b2991430dfd204187f329e3c7a
BLAKE2b-256 fdf6df11f4025536d8ec362c6d321bbab82a3f5a916c5dbe1a00e6ab6bcc3b93

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 83ef6dee1e90e52c374beacc44ec303ef48ac702d814c924096f3f30a5e4599c
MD5 ee8b6b9673713b8fd149ee5352c6574f
BLAKE2b-256 6c74575b88b631b44128b26b537bc80396dd2611162c7ddeeef5a298a8bd8243

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 552c58617d5f80d5358c82001374b551bce73b661336cddc38435db6b1ce45db
MD5 1f748ee61fea3fdb46b2f9558259d05f
BLAKE2b-256 8b035b4c638e28b9c9c1f489e54955bfe6b612b6c5994338636ebd1de1fdaddb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d580bc8a109d193a0b26d3a4c8b0a7f1d46cd850a0eb0ec672c7b4170b9830f
MD5 5a06e56a67b4bb9c2d01531c795f93d3
BLAKE2b-256 a083d3fd2187ddbb75c85667c9c39af639b8a34d8a25a911609f4cb4a741b938

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 54756a0bc380ada73b12a98a88b14e8f8da09079e48df9f5b216f70f7d0d20c8
MD5 67b5b1de3170b6836409ef5018d2d3db
BLAKE2b-256 d6feee56de60eb014519b103ace781857a5d9965dc75fc7d159cbc76aa01324c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2c33cee84f4aadf0d7d37beec43aa6e74611d986defc223b3e390a769aace1bb
MD5 ddefbb2ad0eb6abd0abf233888864dbc
BLAKE2b-256 c2bbd6ce0252bd92220ff7ed71e85493054f9b2aee62c59ad41bbde219be7c3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4cb2a8867bcfff24a346b84f2dd06d3932f238836edb493e2affc0919c24ce60
MD5 bc324892a9a9f7f4fb7b60565e3cfde6
BLAKE2b-256 162cb037eee4df22cbbbc7e81095882652fa733088c58cd2747c8e04bd99eed4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc5c81e406d53ba0ea5361de44f31fc85c158b00131880a35eae8550e11206b7
MD5 a5000d7a32103a27f91e0905bda5d8a3
BLAKE2b-256 d50778f3acb79d098e8f2ee50cde3aba1811c843ce0a4b25f0394aced73c284b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b77ed80c05e8230cb031e9e7a5847c93adcf9df43e8142c0015b9b16dd10bc33
MD5 4975186f59fe0c2f39cc552368407862
BLAKE2b-256 21c1360d2ad3723f6739a44eae66bbe1ee5b5abb7d2d33646cac069f83b617bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d17074b54ccefbc27199e5ef3de988a669e130b529cdb95cc1bf7a0410a8a828
MD5 db887af9de75a8f8bc263686cb4e64d4
BLAKE2b-256 49e4fbb2e766fe0c38ee8586589f723f1f3622fbc3a7f88d5cddc9daaa97ea9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f73dd7784b0697015706fe19e94fdbcac6a651d8bb00853a4c2d729106d13937
MD5 260e8f67b8262bc7b707a5e63a2b051d
BLAKE2b-256 3395f51d6f2d0bf43a39dbaaba36715031551210db4cc485554e6216f36d450d

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