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

This version

0.8.5

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.5.tar.gz (234.3 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.5-cp313-cp313-win_amd64.whl (343.1 kB view details)

Uploaded CPython 3.13Windows x86-64

whenever-0.8.5-cp313-cp313-win32.whl (348.6 kB view details)

Uploaded CPython 3.13Windows x86

whenever-0.8.5-cp313-cp313-musllinux_1_2_x86_64.whl (605.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

whenever-0.8.5-cp313-cp313-musllinux_1_2_i686.whl (653.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

whenever-0.8.5-cp313-cp313-musllinux_1_2_armv7l.whl (716.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

whenever-0.8.5-cp313-cp313-musllinux_1_2_aarch64.whl (595.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

whenever-0.8.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

whenever-0.8.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (463.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

whenever-0.8.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

whenever-0.8.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (453.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

whenever-0.8.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (418.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

whenever-0.8.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (481.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

whenever-0.8.5-cp313-cp313-macosx_11_0_arm64.whl (390.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

whenever-0.8.5-cp313-cp313-macosx_10_12_x86_64.whl (401.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

whenever-0.8.5-cp312-cp312-win_amd64.whl (343.1 kB view details)

Uploaded CPython 3.12Windows x86-64

whenever-0.8.5-cp312-cp312-win32.whl (348.4 kB view details)

Uploaded CPython 3.12Windows x86

whenever-0.8.5-cp312-cp312-musllinux_1_2_x86_64.whl (604.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

whenever-0.8.5-cp312-cp312-musllinux_1_2_i686.whl (654.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

whenever-0.8.5-cp312-cp312-musllinux_1_2_armv7l.whl (717.0 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

whenever-0.8.5-cp312-cp312-musllinux_1_2_aarch64.whl (595.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

whenever-0.8.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (432.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

whenever-0.8.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (463.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

whenever-0.8.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

whenever-0.8.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (453.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

whenever-0.8.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

whenever-0.8.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (482.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

whenever-0.8.5-cp312-cp312-macosx_11_0_arm64.whl (390.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

whenever-0.8.5-cp312-cp312-macosx_10_12_x86_64.whl (401.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

whenever-0.8.5-cp311-cp311-win_amd64.whl (341.3 kB view details)

Uploaded CPython 3.11Windows x86-64

whenever-0.8.5-cp311-cp311-win32.whl (347.8 kB view details)

Uploaded CPython 3.11Windows x86

whenever-0.8.5-cp311-cp311-musllinux_1_2_x86_64.whl (604.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

whenever-0.8.5-cp311-cp311-musllinux_1_2_i686.whl (651.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

whenever-0.8.5-cp311-cp311-musllinux_1_2_armv7l.whl (717.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

whenever-0.8.5-cp311-cp311-musllinux_1_2_aarch64.whl (597.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

whenever-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

whenever-0.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (464.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

whenever-0.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

whenever-0.8.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (454.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

whenever-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

whenever-0.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (480.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

whenever-0.8.5-cp311-cp311-macosx_11_0_arm64.whl (391.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

whenever-0.8.5-cp311-cp311-macosx_10_12_x86_64.whl (400.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

whenever-0.8.5-cp310-cp310-win_amd64.whl (341.3 kB view details)

Uploaded CPython 3.10Windows x86-64

whenever-0.8.5-cp310-cp310-win32.whl (347.8 kB view details)

Uploaded CPython 3.10Windows x86

whenever-0.8.5-cp310-cp310-musllinux_1_2_x86_64.whl (604.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

whenever-0.8.5-cp310-cp310-musllinux_1_2_i686.whl (651.3 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

whenever-0.8.5-cp310-cp310-musllinux_1_2_armv7l.whl (717.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

whenever-0.8.5-cp310-cp310-musllinux_1_2_aarch64.whl (597.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

whenever-0.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

whenever-0.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (464.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

whenever-0.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

whenever-0.8.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (454.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

whenever-0.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

whenever-0.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (480.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

whenever-0.8.5-cp310-cp310-macosx_11_0_arm64.whl (391.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

whenever-0.8.5-cp310-cp310-macosx_10_12_x86_64.whl (400.5 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

whenever-0.8.5-cp39-cp39-win_amd64.whl (341.6 kB view details)

Uploaded CPython 3.9Windows x86-64

whenever-0.8.5-cp39-cp39-win32.whl (347.9 kB view details)

Uploaded CPython 3.9Windows x86

whenever-0.8.5-cp39-cp39-musllinux_1_2_x86_64.whl (605.0 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

whenever-0.8.5-cp39-cp39-musllinux_1_2_i686.whl (651.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

whenever-0.8.5-cp39-cp39-musllinux_1_2_armv7l.whl (717.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

whenever-0.8.5-cp39-cp39-musllinux_1_2_aarch64.whl (597.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

whenever-0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

whenever-0.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (464.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

whenever-0.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

whenever-0.8.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (453.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

whenever-0.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

whenever-0.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (480.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

whenever-0.8.5-cp39-cp39-macosx_11_0_arm64.whl (391.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

whenever-0.8.5-cp39-cp39-macosx_10_12_x86_64.whl (400.5 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: whenever-0.8.5.tar.gz
  • Upload date:
  • Size: 234.3 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.5.tar.gz
Algorithm Hash digest
SHA256 23c7e0119103ef71aab080caf332e17b2b8ee4cb5e0ab61b393263755c377e19
MD5 9119812d156dc8cb056b167b6a46c9bc
BLAKE2b-256 836ed8081fe842dc829662bdb318bdad1256f4f3875cb0441294a6fa39eb9199

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 343.1 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f7b7f1814fd3d216c8ff5d62076a46f21b38d03af71a59887efa3fc3e8d1c5bb
MD5 180f730ff43b0632f16810892a62c2d0
BLAKE2b-256 a934e539f26dff602085c001f15264ca508e3df3cd9a7fd50d0a51c3f9759976

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp313-cp313-win32.whl
  • Upload date:
  • Size: 348.6 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.5-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 f67d1054de92486baf8d48a28c0e2ff5fc78ab2e772b054f69520953727862f5
MD5 57c1eabf77bd8563713099681b8999e1
BLAKE2b-256 8215bf5332b353239af8120db4934fa6e0b1a4f5772a56185070d85f9523c462

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4920995d03e26e225d2a733d9f58e3ed3cce7a33994b0bf2f6d94c9f85059dd4
MD5 543363b7f4dc880b95bc7532951ad18f
BLAKE2b-256 c973935c542a6ec07699773c231871f4fd1a727a2fba995599275bbe5ad0b500

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0a28c299195fdf9082d7fa7d1aa985d709aef8c206160bd50b52d1913261af3d
MD5 67264abf51416d36174bdc4807b56a2e
BLAKE2b-256 20455e1f15b51a7311579d707fac7250e3c5312e7c2491972b85c1e5859b7fa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 17d47930a318563180c06dcf3332db3956658751d2d29b367c8e550fdda34b2c
MD5 5a5e9c21893f63941a711ddd00ff642f
BLAKE2b-256 260cc90389b0f52473cdfb30046ad9369b379ab924d9d2d3be590e09890d49a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a1988f40fe0d28902aa3f132e4fb23a18599cf9ad49a54311265425631d8ec96
MD5 c4004ffab86947d55c796c91cc994010
BLAKE2b-256 95fed427a3e3d6ae9c69690f4c2a1b40e301d7abf45a2c6c21aa3040f25fe642

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef58e82d825a763860bf1de61c28bba7ffa0a7da3a6456381d441caf6693f845
MD5 4bec09d6fdcc6bad9a675fdce235e15a
BLAKE2b-256 35db2f873f0854f577f16f20b651762acd4df279a3fa8b5f855113b609a15465

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4487c7684f7292e66b9a4c2bd6b5efbd7271c48c4410648d90e967dc5e0144ca
MD5 69437da51664b573703996c37c91eee3
BLAKE2b-256 1bf8edc24161c6cd3ee93363bd14b4e5ff679239f1d185a1f588d93b60b90221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 739d608ee0586d0972d6f7789c705016e416b3ef8ae5337c1f73605feb23a784
MD5 23fc330441e87f8cfa6ee08bdfd38654
BLAKE2b-256 5d2aa8c5cc159da33860e709720034bd39b39f94b8c191da2a0eeaf5d75659c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ce9b1b4ef98ee92b80d1d2cf518f0767d631cbcd2df3ad4fd1d863fdad2c030c
MD5 7efbc99781842c8ccde18064ecbfa3e0
BLAKE2b-256 3a7037b98f97a9364999e98ea9074775ca4c1df09fcded85e9bce3738373ad7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4a3dbed6168f68f5bad63c7a543446c530eff102bb24504bc4d87bea29ef62c
MD5 a0a4b4811ee744e7cb42254a8f179c71
BLAKE2b-256 ef0bc964f4842d8dc1f0372199ad9e9ed4276e8a419e2fbdf1f17e417e285cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 f3992f8f3424ff52c5c21a95792b2dfbe537df08ab951ef7a0654ba517b7a28e
MD5 0288cacc6d9cab681cac7658fae23d75
BLAKE2b-256 50df555db022bdab1fa39e7b5d3756da1841f499e569cb7fda74a356dba6b89b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98c58420616b6c5ab824471e89c2fa0aff939ef28163e5bbfb7dfbea3d3f8098
MD5 48771758d668f4dbff80aca9c5830182
BLAKE2b-256 a351b1fba840313edf65083c7afc68f796c9b5b5064db03dc5ccc6029600afaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 08c5c77c0387e3fda2726d312a68e374d441cd21ebe98802d07921ff6c6a7ecf
MD5 4d6886d565cb05fcb4bf3fbf517b6966
BLAKE2b-256 234a70bc93422f129aa9ea9397cc731e3ec9f0332d81642ae19ff2ec7b758abc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 343.1 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0b34ff5837adea1fc44ef23b0253fe5c4ce594e1550cc0a7d58939fc58af87a2
MD5 ce419d356030478cfa63fd8fc55bdb50
BLAKE2b-256 7e520015ae0edaab3e62c797d99dcc04dd21389be0b0328e50c0028b7d7d817a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp312-cp312-win32.whl
  • Upload date:
  • Size: 348.4 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.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1d934ab54bdccc2e2615cc82cb30b491f45473568861931f034a619d830d420f
MD5 b16b2c1b8e1be2f03f0db5884ee3e561
BLAKE2b-256 247b384eaf83fef3fc9d8be158e842b46d74ff08e83861640b16fb89286c7565

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 089888c594882911bf376dbe1a0a97cda74db078dd693f459ab3f59fef31afef
MD5 a37f6da6cf9ff9c3a9ba698d01911d41
BLAKE2b-256 b5ff134ebe36488841beaca4dddc29f27ab347dee9d9f5d8427835ae082a178e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e64617e78bb940549863c5f73318f3e98570c2790458cb97a7a1aa9bc5ba7be2
MD5 17fe9d676db823e31e0b9250832c1c2a
BLAKE2b-256 6834c45d1b43ea0705069f7f5aef83c069dbc35f455201326a9242474e625f68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3dd6c4ce152dae74c5d47c4c16f6c8d228839f38d102bfaacdca1eaa47bdb776
MD5 c608766e79538cb5358945eec6cbd6a5
BLAKE2b-256 540535876e976eff2692416ae436784305dee6eb0d006d112a4efa76fef800a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 33057d7f1fa00fb366b73460699b9fbcb115739d36046c4fdede91d2d0489cc4
MD5 fcadeb4fab0581a93deb8b0d3eb1697c
BLAKE2b-256 fcff57285a63788c8504af25f9ff3d96756f47ba4814c95ef0e532526d35bfe8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92373efba6f14adc5d1a23dfe31500df7f3fb720e9db74ad266baa5071275d48
MD5 51ce2ab1c11793c486ebe814f03675b3
BLAKE2b-256 4d33c1b7c3478c6a3b89ef4dd7682caeaf223e052ee0b457e4d92a172f65c27c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 73c7e17336c112457073fed7d11cfe3b84c1c0ad6dbbb9de87100b0a199788f8
MD5 2bd2d483166a30c89e9ec1134aabdb8e
BLAKE2b-256 25e420ba1ac6ae05fcb7180129a4b25c09d09e7b7e4f5bb21d0adf446f6fc3b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4d8246b9ddbfd1da9f690423948e721cf6a9c0d9be3d0263fab1307d2b4700d6
MD5 4dff5212a6b28a2f545d9de5a341d498
BLAKE2b-256 a9bab6d6a8b02f15457f986a6c86442f292658fe41889695f25b0c6c9da5bfbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 55e39402123c9b0b2536a35a1aaee37d0dd136880564a3ba65c996e0d568fd63
MD5 93b6d8722216064fe38045e9da0446aa
BLAKE2b-256 85ed0f3b020f4a0b7f6625e3da0389a99b12146e2607dbcef4ffe7a92b3bc1ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 75d3934fd08e44c592cea953e4262eba5e091c6580d6b9f752158582399d6b9c
MD5 494015854ac8860bc233d8354ac53504
BLAKE2b-256 f58958872d7ccd304ba7cef574d8d7ecadae32a8089747836ec423b0017392e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 bc007c5639ed5b12d04d162ac0e24665e724cb37a254ec324e303b174feeafdf
MD5 aa36c7d3b6fe59db3d4f3bb901fd3f1e
BLAKE2b-256 4c80fd0380ad515e72df912893552409a936aec12f425a1b9c0224652d20654c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd7a4e37aecf4037beee68565df4f13d565c8dfeed7188a5110783fbb32defee
MD5 c71f7d8f55da719fc6a0218f044e57dd
BLAKE2b-256 5e59991d0e744d730a9061e477cc5da5ab405553522ecd22df04bc4ee837bfb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e8b0ebb3eb5b2cb3c4fad8cedc2ff1a0b06c1f129de6e736e8d5aad001b45421
MD5 1323ab9ee22625fb66014f4cc16622ae
BLAKE2b-256 eb0ed98dbd7048b0c8c9eb9d4cb479249ce86f58882a04e0de4915e28120d4ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 341.3 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 73b268723b98c516510e393f88fa56f3ea58598291c443ea4f975c90d2c4bca6
MD5 c47c65c248107ac893c1f25b26d563e1
BLAKE2b-256 ab0e5c15717d0996e918fb97a1c9579e9efd647bacd4e36143f17f5a7b935acc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 347.8 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.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 297fbe8f4c332156cec93b33bd1efa94604da5c5df85ac54e54fed5dba63fd5b
MD5 c19107d3785373176b8741a90711c264
BLAKE2b-256 28786e1201ee95af7ee369c0dd7f0c1a6e2f32e06a5099303c50be1a127b06ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d19c522f7fbd338a27b9f2e99f3c060a6f4da2a1c96575c82217e95391baa77d
MD5 17f5f112a40882661d9c756e333f0768
BLAKE2b-256 9392146bb032e257030dc670a2c96dc7d42b1117aafecaa6d1bf4374f6426491

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f5b0880590b95ffe665c246d9ec3d6b71725531aec04918cfb4faf1b2588fe80
MD5 4bd49371980ad7204dac7de83ef5c838
BLAKE2b-256 1d803d802338f283bfa062d8f807ad89795d4a411435a02da968aff2e2bda7fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ae36fe4f00b06f21c248437a12dac79a0463882e0aa0f9b36a1ec4cfcf19043d
MD5 b017a21656f5e0c403666bfa980775a1
BLAKE2b-256 58e9d574b315dbf704579761af02a9084660312611587e63f308b321dc81ac6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f4241b9f3726aa9afa92b15048b16570b6351a38b7ec58471bf7d036e954b4ce
MD5 dd27db2e41e7aa619b0dc2aaac01bab9
BLAKE2b-256 4011c3cee39220b5574ba6ea58e2619f2126c17ddff3fec3fe047dfb74622cf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97f7ae292b4930c75033e499e60a23e2d4dc069592c60de59c03f4e80b90da63
MD5 c0a1fa684dcfb7342a26e829c3f1cdcd
BLAKE2b-256 7d993edabb1664bfc90bd069c9655aeb3ea369d6a439f2a0271839b91204e7c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2f47850b5291346107d4327eeb3e7b2974d77121539dce454ded305606116d69
MD5 753b7085c73fcf415e9e47f85e2ac473
BLAKE2b-256 f51daa8903be29dee1944d8efccac9b003a99b41b7536c0eae54d3fa6b31ff4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6ea5f041a32c568349af3804cbd3c5a5acf20528f320472b9a970ad0714bfefe
MD5 91f6570de8d2704c434f6fbdcc2f9f5f
BLAKE2b-256 adc6fcf8a4391e1cc780320aa4741abe646e5e6b03d96da2e5d492542f06f8d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2ff05bc0e8013fb6f75a09dd5c1454c5fa84544d83d7c8e78ee3b3e11fa188c9
MD5 cf3ee363ac494d498c0a394e993df474
BLAKE2b-256 028b8d3ed2e41b26235ea1e6ac2874b07398dda372a3977e1d8bfab1493d0fbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c1881b6f182a6c8082a1f52ded66835c9b79ce5779451f45ef33182490cabfb5
MD5 f3c6480a22d8997ea2121ff1783deed7
BLAKE2b-256 b44fc0e6ed23f1167ce7532aa2c5b852ba9e22d7d85e2e628616ba6de9ae1255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a02ccca2ea7ba2db0b38f70e1fb667d863549d358195bdfbd02315e8b84eaf80
MD5 6161ee60a59f008bd8ccbae58e18f81d
BLAKE2b-256 551e7cec50b74573bf107da337be4eef7d5ded77501a7ef717aabe64003695c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f3604f3a5cc691611fa387d4535e5d5ecca53940ace43ae0c68c7c6edf94500
MD5 f058b58fd3b2bdd2217f193adfd8f069
BLAKE2b-256 4114b5109d9e86127b9f68f57c2247d2f0d962fd66b4a4d2cc9aed91a15ccc13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c46397ed201d339abf4d75ec88b881910586227be80e1f1ef2366278ca3b8b8e
MD5 2efbb23cf638da6eada2f5141ad70cda
BLAKE2b-256 7364f7f2a567d2cc7a1aac8f37601cf4eb3a7cac1dc2bc383c3fef4059c58c8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 341.3 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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 33b353d2773f374f0d58733351cf776235aa1e299aa78a6aacd8a47d6f81ea0a
MD5 077a56ace3ff6ff31915270eb5945717
BLAKE2b-256 c8982ce3bc8135471858c5210157b95f7346a399d8b3d7c2526c60fd79e21d06

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 347.8 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.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2e504fa62b87a9a5d33c9f0f0b63c4c4815eb71cf14e3776260e7eb0c3277aef
MD5 c17e999765343f0c8c1775a02ac5eca0
BLAKE2b-256 d9a32a1dccccdb878767353e7d856c6b2cc80e66d87089c35f33af1022621514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4ec8384b24b2b38a6f6a637be195bc0e1c1dd2024b07260c9d6cd68bb7d415d
MD5 173c16ff2c6ad0539b1aca844c513be1
BLAKE2b-256 402a64d06eebe6f0f3307ded940aad972a86d99c9ff6f9d23b64fad083f9ca6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 472e2dfb13533a1539985a5a3aab1f3753fbfbcdc6ebec63224c51ab16ac736c
MD5 b01b68f14d2f2e829d2baa3bc8969624
BLAKE2b-256 5c42d2bcae605bf0b553759a74309fdd3ec536e4f2707bd6e472762989c004ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2974c2a49203d96a505daf3242bdc5181eaac9d006c03dbbeddbf089dc366a83
MD5 3af82ae059956043183222b12ff12fc6
BLAKE2b-256 21ed39ac7844b8e4894fb0caba53ae1b60b4b75b6563025a98cd7b7bc0a78750

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4bf12a8dc438312793673abe7010c64384f1840d4a114ca5e9da7980883558b0
MD5 0db9dff4580732e025f1f55c1e5f9028
BLAKE2b-256 082ce7703b2681b2df4412df95bc6af225dd250af38f10d428def2b367510f8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5144ba45a8645799e46e4ae96e608e390fe3ddd43195c669b04f8983a60fe9de
MD5 abca50ca198457bf3295afc091eedd6b
BLAKE2b-256 7e43a24af7a674af74014ce62dcbf7044875354d1907285b7eb18797a2ae3b41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 535cf60d0509d87288024862fcb1560a619aaab5a21b1457e56d966d70cfa30c
MD5 de15a66ddc8583b9faccb4aefe1af6b2
BLAKE2b-256 e800583e13c9d160304b0a912373faf76afdb5318ea14fdffa020cac7eb10b0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 29d7ceb8e6ab5417d4de2c175bcb7bab454182aadea0b8cee1b68c089e4f47cb
MD5 0a6b9d341e8f4cbaec781fb3b5ff63d4
BLAKE2b-256 bfa73e48f8113bfdf8eb50aa6abdb23fdacaf39a1823bf9feb64bbcea715dc28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4836dc4f2b6e531c90c1fcfa89bc4aa7934d31fab44ced8f9a18b0d1d975fcd0
MD5 c5ae5f68d60a9662b6250f4599253d41
BLAKE2b-256 d8f6811c9a487a93dc06c3b69732dfd89e4fcd112eee6137dccd472b25de3423

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ed2db6f011df509fd40b2298f35d0e229843c1132aed62f9e0e6535bf32f3612
MD5 0d7d453e4a73c3885d9eb7c72373feb7
BLAKE2b-256 3b287f17c9ac7e53ea26b92ea5f1ea8b39151789c413598818766c2f62754e0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3dce7e88a7d9af6b7f56cb48ebb2ce9f259ff71a9f97457ffa410b13b314a573
MD5 dfac7552189dd0c053be4286c4dff791
BLAKE2b-256 a4c66cf728ab8963b945215e4e49a46ef166cee814054630d97b952620cebf3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8d46f609473ee402db4346f830ae0a037e4091c8dd758ca71081eef46d68164
MD5 618ed23714384fdf807569d9005d43f4
BLAKE2b-256 d6f041ed5132046e2d452ad0a19bb7c041f727c7ead99e6a10e5168bb5ff5828

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dd3598703bde924cd87b9b727a1538979a5be1993ea10e1811cc38f7d6c21467
MD5 c946cb07c0330c1be3e5eae30f94c0d1
BLAKE2b-256 4e0cba7149e75f0b3b712430ebb43fcc66ece13558b78afb7e2d3d53451dd4d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 341.6 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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bdb69edd559930e0da67bd3ded819015353b75ac642d92fb343c92af1cb24e7e
MD5 009127d23d558cd90dd0cb07405910d2
BLAKE2b-256 31d5fbe56c18110e65916cddefd45ec6ff7038b30fc6223e2675cbeec3f3ad47

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 347.9 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.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 5fe9d6f8799ce8a45a412c382e2e6a92f80ab41f043aa09447c6253e3a283711
MD5 6caaf192b8b34f188185c1032b08e2b2
BLAKE2b-256 499a45c859ed6bbd3bd1c9bd73471fa067bab352f1e4cf56860b2f19af9a6f56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7db751de31f5e4f901c9909327285f46b71d8f1a3c3a9621d1270938187d4cc4
MD5 5f6c98c7ad3d4f4c2b32e146886826df
BLAKE2b-256 389b316350295624ee37b2eb801cffe98c64f06a6e842b9d7aeb8c175a727bc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8d3bc1eabdf12a65eb7acb30d5b51e5a53820b5a4ee5c42e8b642f9019942275
MD5 a6b670c9b2a0063f17f8d989d23a1ff3
BLAKE2b-256 31a7c3f83a8360ef8738244eb44ba703d4e0a7066c9f8c055f60f2f83ee8ad22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4d416dcd573bf4eea0d0df4046cd3fea8f6961708e3ead962f5b31cc87cb7dfc
MD5 dbafb5586a175a095e044af8c12aae9d
BLAKE2b-256 b64be7c8fb8caef3c5ccdf0ab7a504501b8914a63b108ccdf88dcbdd6f16ce17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4790dbc294c636fab6199dcf661477ce8f60d633e0d8e351f435570f0a1ae4be
MD5 d83e9001b47964e1365856daa5185732
BLAKE2b-256 1748881f72fefb84c13f0441da5b19c508298500b7ce5eeb15833773bdd6666e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c51e9786f750fa78988440ee5f45498c1383be641c2b8531a40f0dec472a674d
MD5 2bbcfec8a2d944917d3d557f754a9e44
BLAKE2b-256 98d068d52613a2e601675665230e69ad784d5cba23b4b6d0777112ebfa343273

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e20768779c3b6376b30a462c925778486be7e7815b41c72adbb3d667c832232b
MD5 5e48275b1023fcf780250603c563710b
BLAKE2b-256 1f650542402b52dfb4a9292ecc995d4cadc7c73c5ad38a9a3fadbaa5147702b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e59128c7031f3513066571fbba436b7bd01c36391f3d5a206f24b8a897096a9d
MD5 7e2228e71401e165572af4a58d65b2c4
BLAKE2b-256 acbfd95b899c11d32da7abad2a84fd80ae374905f8094fae09f3a3d337686e28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1a3904c056c5d5394fd3dfa170ad2a293f7ac7c6333b9b1ab4115e112f8f167a
MD5 37326505b61fe1c5cfc4fabadc3620c2
BLAKE2b-256 ee734e9165af312e267c44519e3c9b34254c0564274c8a24315f87a79b54116c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a74633784b73e08f4d60c93c10077ea85bc23606a9e94bb3832400f9ea44645f
MD5 bbdc8e4825bf3c76068a309087d04e53
BLAKE2b-256 ce770521ebd9bd5d896fb65a64707d693667031e64f8cc8681db1185c7162822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 6097f8ad07a634c1a70743ccca88df2da033fe9f19c11208db265d223178bc25
MD5 2756a10919bc03c61bb9655a8be0afa0
BLAKE2b-256 6d5ebc005afa05585e09600628e70773ac936a8aa9f9da55e0bf60336743b757

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a746f6f08418f4ed74b813fa6a29baf32ca56f4dfee951385d465d5ec6e5a19d
MD5 679ff6420ab902e167396e28a9aa0c33
BLAKE2b-256 a27c46f89c1b9a5df09d54075df2330bcc7d883e767298332d321632df4c8030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.5-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4aac6064820e66d9e73ce7b3c22496cd590687432d337e7abbe2eef970a5f494
MD5 f18634571ae6150ae8ed1c69fa009c95
BLAKE2b-256 47f7faf74146e0d62c4ba71302c0ba52f6102210ecd5b57af156608ef3c2c728

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