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


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.6.tar.gz (235.1 kB view details)

Uploaded Source

Built Distributions

whenever-0.8.6-cp313-cp313-win_amd64.whl (342.5 kB view details)

Uploaded CPython 3.13Windows x86-64

whenever-0.8.6-cp313-cp313-win32.whl (349.4 kB view details)

Uploaded CPython 3.13Windows x86

whenever-0.8.6-cp313-cp313-musllinux_1_2_x86_64.whl (606.1 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

whenever-0.8.6-cp313-cp313-musllinux_1_2_i686.whl (655.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

whenever-0.8.6-cp313-cp313-musllinux_1_2_armv7l.whl (717.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

whenever-0.8.6-cp313-cp313-musllinux_1_2_aarch64.whl (597.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

whenever-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (434.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

whenever-0.8.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (465.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

whenever-0.8.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (551.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

whenever-0.8.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (453.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

whenever-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

whenever-0.8.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (483.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

whenever-0.8.6-cp313-cp313-macosx_11_0_arm64.whl (391.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

whenever-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl (402.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

whenever-0.8.6-cp312-cp312-win_amd64.whl (342.8 kB view details)

Uploaded CPython 3.12Windows x86-64

whenever-0.8.6-cp312-cp312-win32.whl (350.4 kB view details)

Uploaded CPython 3.12Windows x86

whenever-0.8.6-cp312-cp312-musllinux_1_2_x86_64.whl (605.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ i686

whenever-0.8.6-cp312-cp312-musllinux_1_2_armv7l.whl (717.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

whenever-0.8.6-cp312-cp312-musllinux_1_2_aarch64.whl (597.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

whenever-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

whenever-0.8.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (465.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

whenever-0.8.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (552.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

whenever-0.8.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (453.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

whenever-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (419.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

whenever-0.8.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (482.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

whenever-0.8.6-cp312-cp312-macosx_11_0_arm64.whl (391.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

whenever-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl (402.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

whenever-0.8.6-cp311-cp311-win_amd64.whl (341.7 kB view details)

Uploaded CPython 3.11Windows x86-64

whenever-0.8.6-cp311-cp311-win32.whl (347.9 kB view details)

Uploaded CPython 3.11Windows x86

whenever-0.8.6-cp311-cp311-musllinux_1_2_x86_64.whl (605.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

whenever-0.8.6-cp311-cp311-musllinux_1_2_i686.whl (652.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

whenever-0.8.6-cp311-cp311-musllinux_1_2_aarch64.whl (598.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

whenever-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (434.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

whenever-0.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (464.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

whenever-0.8.6-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.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (454.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

whenever-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

whenever-0.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (481.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

whenever-0.8.6-cp311-cp311-macosx_11_0_arm64.whl (392.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

whenever-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl (401.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

whenever-0.8.6-cp310-cp310-win_amd64.whl (341.7 kB view details)

Uploaded CPython 3.10Windows x86-64

whenever-0.8.6-cp310-cp310-win32.whl (347.9 kB view details)

Uploaded CPython 3.10Windows x86

whenever-0.8.6-cp310-cp310-musllinux_1_2_x86_64.whl (605.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

whenever-0.8.6-cp310-cp310-musllinux_1_2_i686.whl (652.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

whenever-0.8.6-cp310-cp310-musllinux_1_2_aarch64.whl (598.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

whenever-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (434.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

whenever-0.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (464.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

whenever-0.8.6-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.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (454.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

whenever-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

whenever-0.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (481.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

whenever-0.8.6-cp310-cp310-macosx_11_0_arm64.whl (392.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

whenever-0.8.6-cp310-cp310-macosx_10_12_x86_64.whl (401.4 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

whenever-0.8.6-cp39-cp39-win_amd64.whl (341.3 kB view details)

Uploaded CPython 3.9Windows x86-64

whenever-0.8.6-cp39-cp39-win32.whl (348.4 kB view details)

Uploaded CPython 3.9Windows x86

whenever-0.8.6-cp39-cp39-musllinux_1_2_x86_64.whl (605.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

whenever-0.8.6-cp39-cp39-musllinux_1_2_i686.whl (652.9 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

whenever-0.8.6-cp39-cp39-musllinux_1_2_armv7l.whl (717.8 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

whenever-0.8.6-cp39-cp39-musllinux_1_2_aarch64.whl (598.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

whenever-0.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

whenever-0.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (465.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

whenever-0.8.6-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.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (454.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

whenever-0.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

whenever-0.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (481.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ i686

whenever-0.8.6-cp39-cp39-macosx_11_0_arm64.whl (392.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

whenever-0.8.6-cp39-cp39-macosx_10_12_x86_64.whl (401.7 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: whenever-0.8.6.tar.gz
  • Upload date:
  • Size: 235.1 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.6.tar.gz
Algorithm Hash digest
SHA256 aec343ce4b3e2c5981d6ede89b076dcd1a05cb00485f944e494464b93e559f38
MD5 cf894d67dcdad2a2e1f89a188400b237
BLAKE2b-256 d601167a40a106e5114f897aed2d9ddf7239495f29cf248c905b8681af9b4943

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 342.5 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ab4d90ba06173e8eba438b752e21172f5854e33ef65ac0f26a62a2d95487cce
MD5 27325dc1180fe4aee507dfd8c9d3d5c5
BLAKE2b-256 3d87e6b2f7b8c5b3cf8184958501c100b4b0d7e4da174729f24663171023406c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for whenever-0.8.6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 afd70e71cc8ae2e83a4182bcce9afa5d8c11c29ba948c15afc1387d6c01e4693
MD5 d86d63b9fcd7c63e5a93224a7b767032
BLAKE2b-256 a442db87cf1a1e4776528cd97b3d9832dac6ece3fb7db7ba8561769fcb99af3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c61b7036da21d3ed047710ac9ffff2ebd36dfcbb24ab32f37a675b850b781da7
MD5 4f5aa0b7cd26243702d9bcb4c932ed14
BLAKE2b-256 ff4afcfe2059fbf99c5d1064d58c4302d280b49776b1e78e2deabe824391f42d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 98ef19e47e83f03c391ddb5d031ec40c4769f34d4e09a6297e9551d8feb67e1f
MD5 899d49825259016b6e432e6f0fb44c89
BLAKE2b-256 44ffa4ef550e140568c082bb4e82f379afa3ff6d4a9259971d4f8d21938ae20e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8c481abc2c58b36e9c7f817e5af04b49a99bbf6fc8181f336d9b5a8825bf849b
MD5 c2799da5745fcc6f78ea394cbf7f724d
BLAKE2b-256 7ccf21caaf9d81cce97e52ff16c4cb8cecc9d872d417f56f6c0cbddece1590a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 80622a4e78c34f1d6f5cf62d70aef0c20fc8bbf546f85644eb50c40330a46415
MD5 ada36643cbac8f71633c042a099e2c28
BLAKE2b-256 5b802ed562bcd35543776de1d84e16564b51ab9fef506c90cf7257c98d51e593

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 954bcee4c53275c411a7f08d8f403c327df29a1acdc13508e954aa902ed313b8
MD5 dac0a352a1dcc7333473cb6fbe669977
BLAKE2b-256 c30ed9ef30fc38556c78a54be2083caf7cf88828a8cc38917c3b770a025ba4c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8219f90ba29c40e8b66cb457ae75cc0df2330ae88c17efcdcd8d86001aeb1223
MD5 5dec0487402d7f5f7fa652d1df267e8c
BLAKE2b-256 09cb4f54b7a8eb7b1d775910b6c60f9f07ab57255a3a5019d6cc7cf05e6c0bb4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 383402429e0b0b7eb87ca0dacd91c3921d2edaac4a46cbcf2cfe581646567cee
MD5 d7182d7bb6f3fa38f4670a83c94be4be
BLAKE2b-256 31b24d64836fd71b89e59c746acfb8f3d4a9d7080692884114be2bf0ffb2dfcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 303c7957e5936cb7fbfc1b40e11d2b056e5b55a7658d582c97538a0c0160315d
MD5 55082508725b0a9d719b01180a09a656
BLAKE2b-256 b2bf1d6776537e41da73e12d1852f54771ecefecc81ea5212695edf9bd10e587

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e891ea13eeccd3124393410894cbba1c4ebabae88b8e37bc1d25e484f7c3e822
MD5 57878ff579aed8fd324857b21f6b109c
BLAKE2b-256 ceb43da447ccf2e564d98979a6bdb812a04ff8d2407cf66405d11e77811a0cf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 580320167292b1ed6c6d0377c0a94453cc1577509f5303ccbf464a31817d3f64
MD5 3258338bb4da6cf82e4073ed8271b27f
BLAKE2b-256 39e9d7455eace45e50ef8624fffd6094a6f062fa550e08db99fec2a368b83ce1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cc7a2f12993011b2f86ab7ce2fe0184916a811ac671e7b174adb3e5873d3b9b
MD5 eb32e24f9b1905aac1b1674dd84099bd
BLAKE2b-256 8100d1e9007fc4005a7dbaaa3ebc4c198d83fd029ed8c0641486dc5612093056

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a577db34d5fcaf6625d60120ddf40e029c53b02d0bc284202a698bf5711c3d4e
MD5 a3817b6b7a927d1e9c49cce94cd85c11
BLAKE2b-256 51a72de0116209aec2955f1a28b9ce7b3da6d93836e1d54e19eeb8eb7dcd5535

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for whenever-0.8.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 73df9cbed47b2e35734b88402aa924d9ec02eb8fdfb2b0b51d97fc41f5ca1761
MD5 b4430e36d560949a1ae62a4f5e3fa093
BLAKE2b-256 056645a47add0f0be114edb8f667510e3d73b9b87f80bba21e3ceb91d779a895

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp312-cp312-win32.whl
  • Upload date:
  • Size: 350.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.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 3abda82efe5374ab9a2daee3503d0a4b7a5e79a4cc98277225a396ff78fc86e9
MD5 344a1b228431b7b38077a050cad9d1a6
BLAKE2b-256 229e72fd780c249c6ad39c365a35e557537c1cf9c275554493559712b3dc18f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b18f35d1162bd7420cb2b92595c695c0fca9270bd272bd934b0e9e644cb787f7
MD5 3db376935d294e817a7112e48962cca4
BLAKE2b-256 9f7f1f7c01011688da6f9ec2787c905be7d447e44cb3061131e61c5a4a73e5cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d15a7983a9704470749ab0ed69683688789f0c2015bc5725aa822bff88a81fff
MD5 701fcfcad6eb192d55440498ec4c61e1
BLAKE2b-256 ca638c7e9bbe73b46da36d89633a676ae911f27990ad4418120244c9f833dfcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 34d3378100eec815ea2fbded4b12d025773e60b242861616df4ae869920fc2e4
MD5 7d7907b45e27c948c6d0a06bc062318f
BLAKE2b-256 ad69b809581c986e0f4055e81c8bab9de43cd1e1e80c66314e4921a40bc4c005

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 29e3fd822b34d068daca44ba6292f18231bc8b56c3271ffbaab82383ec0298fc
MD5 b977e85efa5a4389613338e16efe3f8e
BLAKE2b-256 19ae42c6e91cf391e091eada69aff1e2061500cfe2386990aff708a2d7cf8825

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a32015c17f11848595a9e1f3b998d284e711689bc38440e5a3536fd2ad62d72c
MD5 45c42af3fdfffac0b1d49f1b6c1fcfdf
BLAKE2b-256 ebd6d66ab74f229942cb93c4eb737c9a2027b91bd9f667a523d8c3a5c3acf960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2e9026297670c93fd3f4176ba822c5aff7d82640a1cfa0eb3d418e0228a1f615
MD5 09e778bc9616585bdc3d0c8f2af508ae
BLAKE2b-256 28a4e5ea3c53e4c9143a5eceedab1eb6c24ed544e298ff07de3738549f35ce08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1a336fd9ed1987e60583ae4912014677ea479edbb41c344c3479684d894d724f
MD5 def1b14009e0ea4985e78f9c98cfea57
BLAKE2b-256 20f3b9dbaa3693487f1d63e8c349bd2232c2a1161fe48d59b0451cd2b910650e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0603b6f548fa644bcd7745ca9ff8f7533f240939c716927e0dee15e0258451ac
MD5 96de2f392d74886d5b3bc50e1b5f7f6d
BLAKE2b-256 327786e5b82a6365dc52f72e82d07c33e9f26e153f6777882c66f5d7b454d408

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0bd1ec798b6100f03b5d5ce290e7438c239532e788426a445182f33edf47e27
MD5 c5087502eec2deb56ade07b4dbaeb224
BLAKE2b-256 15bb8dfb8d106ddf96d426132b75bba0481214030afae1db479cdb390cb66c65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3a8da762194f165ac5324649410a1f0e7a9aa74c03e50628291e0e4449228a73
MD5 4608719349adc48db6597663016a1ef9
BLAKE2b-256 2662cdafa0dd3c9931d7ead14ac2d8608a785fd0260f430fee23e0a75e6dede9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73114979ab162bc9583328b1d19ccc8dc7f5a0d1e76c255ffd02852389e3271d
MD5 ab67d4b3695324f41c6f58131f93c88e
BLAKE2b-256 7446f5dcefd32455474ba70f2ded4bd07d7398ecd6ed06e2fc85d3120fc04c08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 456a6c84fe3422ad8a79996b6929c5023569a7bd433b31a4165a6332c2bda431
MD5 04d3658e16d2dffff7981712bc427fa6
BLAKE2b-256 a99aa7a24ff879332e10ebbaaa548bf8bc8af981845a3f1eda8a330ed84da27f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 341.7 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 804929af4ccfa1825c53309138b8f9add16de36790257a0cb5a2a99b0e12c323
MD5 b0d2d58d8d80b69ced3f2933fc5f3e0f
BLAKE2b-256 11b254b25a9836a0654b71e8016ea4a151c36889ca7b5e39a229deb05c798e6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp311-cp311-win32.whl
  • Upload date:
  • Size: 347.9 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.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 07294af62b2584d5c56b87ff25b4cbd0449ecd21279687b75cf5313d33ea31d3
MD5 78ae0d004a881201910cfbe800595619
BLAKE2b-256 ba4e7cebe491f1aae2ee0320cfba231f689d6713fae33b9749ac4fffde5385df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5eba22c6c07047e59183f84d8d0a418d8e739be6acf107dc987aa4658f72b33
MD5 afd44136739c1147564b0335f6fe9ea7
BLAKE2b-256 34ba75de535f8210c1c19bfcfe3073fcc773d241ace2e3d00e58262f94ba2189

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 24cb4fed07016931ba24b3d4ea004dbae8c3a57a784835a79f5cb3a74f505bd6
MD5 3e93863910ebc3855bad985baba90402
BLAKE2b-256 e23e3bec240ea6d08861c45dee971bb4fb2fd41736666e1684fccc82ba3ea9db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8faf5835e0599a0cef916d64a6dbd06fb041aacc3bdb5b516c9b6c160a0c274b
MD5 f6b83881099bc179df39fdc9d90a99e5
BLAKE2b-256 9c8bf6e0fd21c6fedf58bf418a33d5af3932d4e932d4753f39f08a9c9cd80887

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4cd22e57613ad7ba07a46825faefaa0fb280164db7fc94b1ceafab624dcb155f
MD5 092a16d6111f9e890855468ea4bbb1c0
BLAKE2b-256 4e8bd488e23a6366315556594d240d7e1292f1d3718190243cf288003f66a77c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 222691fb057bb846d65a578c902f085f4c1a693d1d05b9df51a1d744eb859041
MD5 788121cf8e0affb2c29994b9aa3407fd
BLAKE2b-256 2eaf8425fd8c38fcde180657eb02631b5e02d4e5ca88352b82ab729528e6fee6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 14c93af99d1d7f7cdbce6ce337fbf94c370a0d008660ed49acc8ce34f8b8df41
MD5 0916f87db99a2a56aa8f72070b610edf
BLAKE2b-256 56051582baaafed03441bba68e89def3774256c2973d269473626abcc7e305cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 47cf78f38fad311a3953b3bf7817fa6795a1df892ded01e1114113d16d2b8e54
MD5 3173e8ecf8d5eba2212a4f414956d0d8
BLAKE2b-256 11b3016e377e6ef8523716b34eebcc5f7c787b96687b0099494256d6ded93951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a1705d1dd7521969fdf9bc7c7aca7211e2b1ddc37fdc12f1ae6e188d14818e23
MD5 24d6044dd42c6ef0ff898fa413949215
BLAKE2b-256 af3b4dc1d2eac2f6fa2f5a62891dd373c47c6b236856b6634530de2a013bd098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fce947db962bab2738198d10ae6d23dcf29546b9f30eadfedfe1071a61b0e13d
MD5 8f7b1781b8ebdfbf3001ba7ac05d8c08
BLAKE2b-256 f76996446090b0bbe85f08f0db89fdcc1fb84a3c106a18a901a7b8586c6b3fe2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 3ff7c47c9f4339be645723b40e89b9564c405bb108e64da2a5cf7aebf03ec930
MD5 4b790d883a06f1190ff19b3b5c3b81bd
BLAKE2b-256 2bb42cbb82f24317737e8ff8c47749c31bec7d48af89469f745fde9602f73b75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32596d1fd1b611babc48b3c02194337c12ba1cb439220e876620761bc6fab022
MD5 94e11f3a590e109734be181840b7ff7d
BLAKE2b-256 ba1af48fe24be4941eb80d6989fef62c408edc103b4d564d6a01d98c15b75143

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53bf7138af5d16edc7195893a6cc839ed7e368574877915cfef2e862106ac50b
MD5 5111949b1e36eb9febeb519bea6595f8
BLAKE2b-256 fefb585e9b446bd76c4afae10d1575dcc8fcccfa830303899681ce97fef97a04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 341.7 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e84d8961c2fc430ccad6a624c3f8f340ec58d9b9c751f70b6436a2a44f0a0c73
MD5 b064742aa51b9ec60e14831f2845fe23
BLAKE2b-256 d2de276d300bd98db0d36b1780e7da804d40806efb37a7c50115a32a7ec849b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp310-cp310-win32.whl
  • Upload date:
  • Size: 347.9 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.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f087eef9113c7d4d19e5204a1d96a6af0719d1f89343bfb39a84f1f2525efa8a
MD5 766a7f454c4e00608c57bf512f37735f
BLAKE2b-256 478c4d042e0779707f6e818a93dfb4fdb4ff0c4995536520705e4bc522a0ad4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 74db74f887e7fedd513e98bf65efc07b119b03319e7c3e12792cc142c6e6ab7f
MD5 e68b1eef21cd9a8483d59ed422d6ef65
BLAKE2b-256 cb0b7113442d2d339d996f269512d3181271ebafb9541ac025e726eb433beb39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 83506baf303e7948bb2c9e20275c7d9e1f450a8299b2503101332f522f88f687
MD5 a617d931aaa679521bf9b8039a2b412a
BLAKE2b-256 aece4505d5e68e7a78f1dc2b87d06c130bcabca564c019f29bea83f016753900

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b489aa00d95cb39dbcefbfe086485c3a20c62f839dd327fd4cf6843902d55bd4
MD5 f595b11ee45f411530b8bdb3e654dde1
BLAKE2b-256 5ed9ad9ef818b14fc926a57b9e6f4d821df8fd834e7e6eabfbe5b546b3d28d69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 401a9d9b5d9cc50e3d8f7c51689978d0dcaa0b3cf75e0cb2465a868d1ea2589e
MD5 5dff50ad931bd2680a86a7baeea0e158
BLAKE2b-256 f5b92446992ee06ae5ec0683d7d9dffc1414a229a718a843943aa69b907e4882

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5add1c3711aa7b1708863877b933b71978fa0497c7d08e7865fb0d5d79e72ae
MD5 3dda1609d4b0577d485c6d33e4c6b72c
BLAKE2b-256 4536aafae84663b7598e4009f4311ad1e1dbe7da2025a60091cdfad72c6fbf11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ae2fb09316e5d7775d78d45b93dc9db75895ece7a9a0604421ac609053105aeb
MD5 aa5041d680c8fffaed02f05df6558e94
BLAKE2b-256 1ff52f99f9f0eeb03792b59fba70c4a58720f75cdc5d5991fb51979ee202ce55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ec8e75083d40fcc849dbb2b4b1941687e040decf9ae62778ad9cd5f0cf8c3e84
MD5 0ed814ec5d5068aea2761dc9b2faf462
BLAKE2b-256 5f744cd3265011f40a77bc561a7d443f8df86e32da3f8cd62df11043b9a171c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c493b33238ceef6a658ed7acde9fc4f113b79e6f159a3ceb850d9279086dc87a
MD5 f4f112853382d2f1e6803aeb4e676591
BLAKE2b-256 53d2cd8530f4edd616daffb087db78d0144d2a3af4244ea9a601de5f23f69883

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83fd5ad2ebd94416ad6aec36725191620134e28a786583565e7dd8cc16bd6804
MD5 d362b32db8ca9ad728b7754466afd7f0
BLAKE2b-256 d40d4f122e0fdeaa950061e4a548bb855ae7426265f458e6ff8625a1c09f31f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 378829e3c4f8679d010264380cf39287725a78bb8485b457ba982ef356925c87
MD5 a5da2c147d0821f842a5f96044f9dc06
BLAKE2b-256 e18c847f8b92fb9dbada79204e6a915666885aadfc682aca55a46e905e6c78e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a8d45da3f2211d13fcc9ed1b8e9a4d6d96e58874a885a765d7b5187772b5cef
MD5 7c478245b0beb081cdae8ad02958dc19
BLAKE2b-256 836ef53b15911338b6a6dbb39687f740d50169969d7957ce47351ea8f32f5776

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 29c75598465549acfe53c9b266b4b7847d021db02745bc7d787e69823f057f25
MD5 5108e8df0ba2aed13e2c2d6bbafead30
BLAKE2b-256 78e10c7de4ccf8a56fd92e799eaf58a6380f8b9c60a888ccd270a29aff0d41f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 341.3 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 660293a40bec426fb682305332ed387033fce71b72ade45bdc305ecba240961d
MD5 8532b726d8b2647737e09b71132abf49
BLAKE2b-256 c287a20990b07a6a0ec7a235691ab054b3615a645ad494ffb67f8d7bd32dd6a1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: whenever-0.8.6-cp39-cp39-win32.whl
  • Upload date:
  • Size: 348.4 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.6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a2fcb17fe23cbc0e38d315ed16738cdb64968a4508f7e8832867768c07a99119
MD5 7cb0935ea2d84092a99f7bcd5b53f343
BLAKE2b-256 184257de184ce63f3ca1503b89290f7c45e1eaf8737bff0364ef3ee3189551c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 caa28cd369849e4d1b0149427d64b50440e5b8792966d26df590a69114e95b47
MD5 4b739e49c779e9187f4f1c36eff80896
BLAKE2b-256 f173624c0e30e3c8976977cfcc995db64b84d8406b5c2a16e74e5b477e3d9505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 dd90462d96fbc3ace937d4676ef2d6e69a74f10aec44138434c0d222e7550ce4
MD5 74337265bf90de7a8d0c6a62b4fccca4
BLAKE2b-256 5337c56e03bb83d7729760d88c8ec7998662b80f5bb25fa29c300ffb7a1b0c2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 a81372aae407aaf77397c68afa78b39fcac04e07f7e722afb436bcf17a08918a
MD5 b36fe8e1b6c5a431d461f96d0e269991
BLAKE2b-256 c66d1a76407d9dd04ec6863f52e8c29e00b1f036cf31ddf15a2f02369afeb635

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3144371260813d0ef5d60846a641beaad790fa42ae4c0c5ed71cee06cb47f91a
MD5 d9c63573048de7c9575c1a671b5df080
BLAKE2b-256 fe6562eb6cd2878812a663254c19e0e0d2379fa00255588ef8763e9fd081c6a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a76272a292ee156d4a5d72f2d66fc4c8ac8c6ab5fdf033a5de2e628bd2ec9cae
MD5 d0aa53eddb0bbfde8958f946868ef422
BLAKE2b-256 a040538543653e863f28f83f9ffd7f0ec90311f53d301d5bb421b884ee0afa05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 70c0dd0cfa6e0ff80659fd668a0aeb9e4ebecbb5dc08cc7be055797d95d5b638
MD5 ae66b90aa3b81d0c267bccbd01c21422
BLAKE2b-256 abf52ab230da0845012a2327ab2632ff8d97e047a20c6e89bbd9a3a3db892d5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 144e46c5dc9065c14d702117262547a30472b22e82c07c005000f35b51667cc0
MD5 c9f1b198941f2e0fa697cafbba3ea17d
BLAKE2b-256 f775e58a86ae47ba0c8661ca90326d3c6f09a32c9dc9d4819f6973a1e0d3d556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 106bc2a8e01b949aa90caba6e0109430d90609092866c5b44530ec472795a209
MD5 42e6008ec0f12262931138f1f14059d6
BLAKE2b-256 5049a106e7c89bea8a4d3eb33aa394df10e7c8874480ae09698b82149c6fd38e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f0c67d21e23c114f61b2b64fd08346cf8d9b798cea1466d64ab857270c8469f7
MD5 ab542d649e51ca7f64f6bb525fd1c3d2
BLAKE2b-256 cd442ca5ee97a979527c94b8b8b5be8531cabbfbf1fe6dadd68d5d97ff751cc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 7ea7a2cc1df32d15b2c629a8643dd68f58baaf3723174fac7e1ef112c9a31337
MD5 1ff84eb607956e1cc9d923e7b1fb91bd
BLAKE2b-256 2014836a0ffd3896d98e34a5587733bf658d7e3eb56381064c475f44432cc815

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f71e5072af2fcc0d31fe02a2a9c818f96f77b73f9b67c57b2b27d156a6e9f88d
MD5 2f18c6bdcc205bf07f866cd35cc3735f
BLAKE2b-256 ac41f4b680429aeb723fd33797ad084988341c75a419c2d895f461e6ac40cda8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for whenever-0.8.6-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7e3a2424e09bb5820886e52e6aa3c10ca31e53248fa2b39b94608c2b8805460e
MD5 5521b99272966077870ae70c267df8bf
BLAKE2b-256 8e969eff1ac50b0366fd892c2809711ebceb9b5ecb9144e1c53dc502a19854eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page