whenever


Namewhenever JSON
Version 0.7.0 PyPI version JSON
download
home_pageNone
SummaryModern datetime library for Python
upload_time2025-02-21 07:28:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords datetime typesafe rust date time timezone utc aware zoneinfo tzdata tzdb
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # ⏰ Whenever

[![](https://img.shields.io/pypi/v/whenever.svg?style=flat-square&color=blue)](https://pypi.python.org/pypi/whenever)
[![](https://img.shields.io/pypi/pyversions/whenever.svg?style=flat-square)](https://pypi.python.org/pypi/whenever)
[![](https://img.shields.io/pypi/l/whenever.svg?style=flat-square&color=blue)](https://pypi.python.org/pypi/whenever)
[![](https://img.shields.io/badge/mypy-strict-forestgreen?style=flat-square)](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict)
[![](https://img.shields.io/badge/coverage-100%25-forestgreen?style=flat-square)](https://github.com/ariebovenberg/whenever)
[![](https://img.shields.io/github/actions/workflow/status/ariebovenberg/whenever/checks.yml?branch=main&style=flat-square)](https://github.com/ariebovenberg/whenever)
[![](https://img.shields.io/readthedocs/whenever.svg?style=flat-square)](http://whenever.readthedocs.io/)

**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](https://dev.arie.bovenberg.net/blog/python-datetime-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](#acknowledgements) in other languages.
It's also **way faster** than other third-party libraries—and usually the standard library as well.
If performance isn't your top priority, a **pure Python** version is available as well.

  <p align="center">
    <picture align="center">
        <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-dark.svg">
        <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-light.svg">
        <img alt="Shows a bar chart with benchmark results." src="https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-light.svg">
    </picture>
  </p>

  <p align="center" style="font-size: 14px">
    <i>RFC3339-parse, normalize, compare to now, shift, and change timezone (1M times)</i>
  </p>

<div align="center">


[📖 Docs](https://whenever.readthedocs.io) |
[🐍 PyPI](https://pypi.org/project/whenever/) |
[🐙 GitHub](https://github.com/ariebovenberg/whenever) |
[🚀 Changelog](https://whenever.readthedocs.io/en/latest/changelog.html) |
[❓ FAQ](https://whenever.readthedocs.io/en/latest/faq.html) |
[🗺️ Roadmap](#roadmap) |
[💬 Issues & feedback](https://github.com/ariebovenberg/whenever/issues)

</div>

> ⚠️ **Note**: A 1.0 release is coming soon. 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:

   ```python
   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](https://github.com/python/cpython/issues/91618)
   [not](https://github.com/python/cpython/issues/116035)
   [alone](https://github.com/python/cpython/issues/112638).

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!

   ```python
   # 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:

<div align="center">

|                   | Whenever | datetime | Arrow | Pendulum |
|-------------------|:--------:|:--------:|:-----:|:--------:|
|      DST-safe     |     ✅    |     ❌    |   ❌   |     ⚠️    |
| Typed aware/naive |     ✅    |     ❌    |   ❌   |     ❌    |
|        Fast       |     ✅    |     ✅    |   ❌   |     ❌    |

</div>

[**Arrow**](https://pypi.org/project/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**](https://pypi.org/project/pendulum/)
arrived on the scene in 2016, promising better DST-handling,
as well as improved performance.
However, it only fixes [*some* DST-related pitfalls](https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/#datetime-library-scorecard),
and its performance has significantly [degraded over time](https://github.com/sdispater/pendulum/issues/818).
Additionally, it's in maintenance limbo with only one release in the last four years,
and many issues remaining unaddressed.

## Why use whenever?

- 🌐 DST-safe arithmetic
- 🛡️ Typesafe API prevents common bugs
- ✅ Fixes issues [arrow/pendulum don't](https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/#datetime-library-scorecard)
- ⚖️  Based on proven and [familiar concepts](https://www.youtube.com/watch?v=saeKBuPewcU)
- ⚡️ Unmatched performance
- 💎 Thoroughly tested and documented
- 📆 Support for date arithmetic
- ⏱️ Nanosecond precision
- 🦀 Rust!—but with a [pure-Python option](https://whenever.readthedocs.io/en/latest/faq.html#how-can-i-use-the-pure-python-version)
- 🚀 Support for the latest GIL-related improvements (experimental)

## Quickstart

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

# 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' local time can't accidentally mix with other types.
# You need to explicitly convert it and handle ambiguity.
>>> party_invite = LocalDateTime(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](https://whenever.readthedocs.io/en/latest/overview.html)
or [API reference](https://whenever.readthedocs.io/en/latest/api.html).

## 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.

> ⚠️ **Note**: until 1.x, pickled objects may not be unpicklable across
> versions. After 1.0, backwards compatibility of pickles will be maintained
> as much as possible.

## 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

This project is inspired by—and borrows most concepts from—the following projects. Check them out!

- [Temporal](https://tc39.es/proposal-temporal/docs/)
- [Noda Time](https://nodatime.org/) and [Joda Time](https://www.joda.org/joda-time/)

The benchmark comparison graph is based on the one from the [Ruff](https://github.com/astral-sh/ruff) project.
For timezone data, **Whenever** uses Python's own `zoneinfo` module.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "whenever",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Arie Bovenberg <a.c.bovenberg@gmail.com>",
    "keywords": "datetime, typesafe, rust, date, time, timezone, utc, aware, zoneinfo, tzdata, tzdb",
    "author": null,
    "author_email": "Arie Bovenberg <a.c.bovenberg@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5a/28/6ceaf59664695b53a8af1674568ca132550ac03a692f0eea9e19a3b4859b/whenever-0.7.0.tar.gz",
    "platform": null,
    "description": "# \u23f0 Whenever\n\n[![](https://img.shields.io/pypi/v/whenever.svg?style=flat-square&color=blue)](https://pypi.python.org/pypi/whenever)\n[![](https://img.shields.io/pypi/pyversions/whenever.svg?style=flat-square)](https://pypi.python.org/pypi/whenever)\n[![](https://img.shields.io/pypi/l/whenever.svg?style=flat-square&color=blue)](https://pypi.python.org/pypi/whenever)\n[![](https://img.shields.io/badge/mypy-strict-forestgreen?style=flat-square)](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-strict)\n[![](https://img.shields.io/badge/coverage-100%25-forestgreen?style=flat-square)](https://github.com/ariebovenberg/whenever)\n[![](https://img.shields.io/github/actions/workflow/status/ariebovenberg/whenever/checks.yml?branch=main&style=flat-square)](https://github.com/ariebovenberg/whenever)\n[![](https://img.shields.io/readthedocs/whenever.svg?style=flat-square)](http://whenever.readthedocs.io/)\n\n**Typed and DST-safe datetimes for Python, available in Rust or pure Python.**\n\nDo you cross your fingers every time you work with Python's datetime\u2014hoping that you didn't mix naive and aware?\nor that you avoided its [other pitfalls](https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/)?\nThere\u2019s no way to be sure...\n\n\u2728 Until now! \u2728\n\n*Whenever* helps you write **correct** and **type checked** datetime code,\nusing **well-established concepts** from [modern libraries](#acknowledgements) in other languages.\nIt's also **way faster** than other third-party libraries\u2014and usually the standard library as well.\nIf performance isn't your top priority, a **pure Python** version is available as well.\n\n  <p align=\"center\">\n    <picture align=\"center\">\n        <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-dark.svg\">\n        <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-light.svg\">\n        <img alt=\"Shows a bar chart with benchmark results.\" src=\"https://raw.githubusercontent.com/ariebovenberg/whenever/main/benchmarks/comparison/graph-light.svg\">\n    </picture>\n  </p>\n\n  <p align=\"center\" style=\"font-size: 14px\">\n    <i>RFC3339-parse, normalize, compare to now, shift, and change timezone (1M times)</i>\n  </p>\n\n<div align=\"center\">\n\n\n[\ud83d\udcd6\u00a0Docs](https://whenever.readthedocs.io)\u00a0|\n[\ud83d\udc0d\u00a0PyPI](https://pypi.org/project/whenever/)\u00a0|\n[\ud83d\udc19\u00a0GitHub](https://github.com/ariebovenberg/whenever)\u00a0|\n[\ud83d\ude80\u00a0Changelog](https://whenever.readthedocs.io/en/latest/changelog.html)\u00a0|\n[\u2753\u00a0FAQ](https://whenever.readthedocs.io/en/latest/faq.html)\u00a0|\n[\ud83d\uddfa\ufe0f\u00a0Roadmap](#roadmap)\u00a0|\n[\ud83d\udcac\u00a0Issues\u00a0&\u00a0feedback](https://github.com/ariebovenberg/whenever/issues)\n\n</div>\n\n> \u26a0\ufe0f **Note**: A 1.0 release is coming soon. Until then, the API may change\n> as we gather feedback and improve the library.\n> Leave a \u2b50\ufe0f on GitHub if you'd like to see how this project develops!\n\n## Why not the standard library?\n\nOver 20+ years, Python's `datetime` has grown\nout of step with what you'd expect from a modern datetime library.\nTwo points stand out:\n\n1. **It doesn't always account for Daylight Saving Time (DST)**.\n   Here is a simple example:\n\n   ```python\n   bedtime = datetime(2023, 3, 25, 22, tzinfo=ZoneInfo(\"Europe/Paris\"))\n   full_rest = bedtime + timedelta(hours=8)\n   # It returns 6am, but should be 7am\u2014because we skipped an hour due to DST!\n   ```\n\n   Note this isn't a bug, but a design decision that DST is only considered\n   when calculations involve *two* timezones.\n   If you think this is surprising, you\n   [are](https://github.com/python/cpython/issues/91618)\n   [not](https://github.com/python/cpython/issues/116035)\n   [alone](https://github.com/python/cpython/issues/112638).\n\n2. **Typing can't distinguish between naive and aware datetimes**.\n   Your code probably only works with one or the other,\n   but there's no way to enforce this in the type system!\n\n   ```python\n   # Does this expect naive or aware? Can't tell!\n   def schedule_meeting(at: datetime) -> None: ...\n   ```\n\n## Why not other libraries?\n\nThere are two other popular third-party libraries, but they don't (fully)\naddress these issues. Here's how they compare to *whenever* and the standard library:\n\n<div align=\"center\">\n\n|                   | Whenever | datetime | Arrow | Pendulum |\n|-------------------|:--------:|:--------:|:-----:|:--------:|\n|      DST-safe     |     \u2705    |     \u274c    |   \u274c   |     \u26a0\ufe0f    |\n| Typed aware/naive |     \u2705    |     \u274c    |   \u274c   |     \u274c    |\n|        Fast       |     \u2705    |     \u2705    |   \u274c   |     \u274c    |\n\n</div>\n\n[**Arrow**](https://pypi.org/project/arrow/)\nis probably the most historically popular 3rd party datetime library.\nIt attempts to provide a more \"friendly\" API than the standard library,\nbut doesn't address the core issues:\nit keeps the same footguns, and its decision to reduce the number\nof types to just one (``arrow.Arrow``) means that it's even harder\nfor typecheckers to catch mistakes.\n\n[**Pendulum**](https://pypi.org/project/pendulum/)\narrived on the scene in 2016, promising better DST-handling,\nas well as improved performance.\nHowever, it only fixes [*some* DST-related pitfalls](https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/#datetime-library-scorecard),\nand its performance has significantly [degraded over time](https://github.com/sdispater/pendulum/issues/818).\nAdditionally, it's in maintenance limbo with only one release in the last four years,\nand many issues remaining unaddressed.\n\n## Why use whenever?\n\n- \ud83c\udf10 DST-safe arithmetic\n- \ud83d\udee1\ufe0f Typesafe API prevents common bugs\n- \u2705 Fixes issues [arrow/pendulum don't](https://dev.arie.bovenberg.net/blog/python-datetime-pitfalls/#datetime-library-scorecard)\n- \u2696\ufe0f  Based on proven and [familiar concepts](https://www.youtube.com/watch?v=saeKBuPewcU)\n- \u26a1\ufe0f Unmatched performance\n- \ud83d\udc8e Thoroughly tested and documented\n- \ud83d\udcc6 Support for date arithmetic\n- \u23f1\ufe0f Nanosecond precision\n- \ud83e\udd80 Rust!\u2014but with a [pure-Python option](https://whenever.readthedocs.io/en/latest/faq.html#how-can-i-use-the-pure-python-version)\n- \ud83d\ude80 Support for the latest GIL-related improvements (experimental)\n\n## Quickstart\n\n```python\n>>> from whenever import (\n...    # Explicit types for different use cases\n...    Instant,\n...    ZonedDateTime,\n...    LocalDateTime,\n... )\n\n# Identify moments in time, without timezone/calendar complexity\n>>> now = Instant.now()\nInstant(2024-07-04 10:36:56Z)\n\n# Simple, explicit conversions\n>>> now.to_tz(\"Europe/Paris\")\nZonedDateTime(2024-07-04 12:36:56+02:00[Europe/Paris])\n\n# A 'naive' local time can't accidentally mix with other types.\n# You need to explicitly convert it and handle ambiguity.\n>>> party_invite = LocalDateTime(2023, 10, 28, hour=22)\n>>> party_invite.add(hours=6)\nTraceback (most recent call last):\n  ImplicitlyIgnoringDST: Adjusting a local datetime implicitly ignores DST [...]\n>>> party_starts = party_invite.assume_tz(\"Europe/Amsterdam\")\nZonedDateTime(2023-10-28 22:00:00+02:00[Europe/Amsterdam])\n\n# DST-safe arithmetic\n>>> party_starts.add(hours=6)\nZonedDateTime(2023-10-29 03:00:00+01:00[Europe/Amsterdam])\n\n# Comparison and equality\n>>> now > party_starts\nTrue\n\n# Rounding and truncation\n>>> now.round(\"minute\", increment=15)\nInstant(2024-07-04 10:30:00Z)\n\n# Formatting & parsing common formats (ISO8601, RFC3339, RFC2822)\n>>> now.format_rfc2822()\n\"Thu, 04 Jul 2024 10:36:56 GMT\"\n\n# If you must: you can convert to/from the standard lib\n>>> now.py_datetime()\ndatetime.datetime(2024, 7, 4, 10, 36, 56, tzinfo=datetime.timezone.utc)\n```\n\nRead more in the [feature overview](https://whenever.readthedocs.io/en/latest/overview.html)\nor [API reference](https://whenever.readthedocs.io/en/latest/api.html).\n\n## Roadmap\n\n- \ud83e\uddea **0.x**: get to feature-parity, process feedback, and tweak the API:\n\n  - \u2705 Datetime classes\n  - \u2705 Deltas\n  - \u2705 Date and time of day (separate from datetime)\n  - \u2705 Implement Rust extension for performance\n  - \ud83d\udea7 Tweaks to the delta API\n- \ud83d\udd12 **1.0**: API stability and backwards compatibility\n  - \ud83d\udea7 Customizable parsing and formatting\n  - \ud83d\udea7 Intervals\n  - \ud83d\udea7 Ranges and recurring times\n  - \ud83d\udea7 Parsing leap seconds\n\n## Limitations\n\n- Supports the proleptic Gregorian calendar between 1 and 9999 AD\n- Timezone offsets are limited to whole seconds (consistent with IANA TZ DB)\n- No support for leap seconds (consistent with industry standards and other modern libraries)\n\n## Versioning and compatibility policy\n\n**Whenever** follows semantic versioning.\nUntil the 1.0 version, the API may change with minor releases.\nBreaking changes will be meticulously explained in the changelog.\nSince the API is fully typed, your typechecker and/or IDE\nwill help you adjust to any API changes.\n\n> \u26a0\ufe0f **Note**: until 1.x, pickled objects may not be unpicklable across\n> versions. After 1.0, backwards compatibility of pickles will be maintained\n> as much as possible.\n\n## License\n\n**Whenever** is licensed under the MIT License.\nThe binary wheels contain Rust dependencies which are licensed under\nsimilarly permissive licenses (MIT, Apache-2.0, and others).\nFor more details, see the licenses included in the distribution.\n\n## Acknowledgements\n\nThis project is inspired by\u2014and borrows most concepts from\u2014the following projects. Check them out!\n\n- [Temporal](https://tc39.es/proposal-temporal/docs/)\n- [Noda Time](https://nodatime.org/) and [Joda Time](https://www.joda.org/joda-time/)\n\nThe benchmark comparison graph is based on the one from the [Ruff](https://github.com/astral-sh/ruff) project.\nFor timezone data, **Whenever** uses Python's own `zoneinfo` module.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Modern datetime library for Python",
    "version": "0.7.0",
    "project_urls": {
        "Changelog": "https://github.com/ariebovenberg/whenever/blob/master/CHANGELOG.rst",
        "Documentation": "https://whenever.readthedocs.io",
        "Issues": "https://github.com/ariebovenberg/whenever/issues",
        "Repository": "https://github.com/ariebovenberg/whenever"
    },
    "split_keywords": [
        "datetime",
        " typesafe",
        " rust",
        " date",
        " time",
        " timezone",
        " utc",
        " aware",
        " zoneinfo",
        " tzdata",
        " tzdb"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ed1ffd08137869e91c3b2f294735f7b0714e66a4a3fe0f6031a547fbc44208c3",
                "md5": "0f57b92a20d91d586eab058d6b7eedab",
                "sha256": "e2838852a868eea86c2cc8dc6eed8557621ad9a71063c5106d593e57198d5ba8"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0f57b92a20d91d586eab058d6b7eedab",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 369340,
            "upload_time": "2025-02-21T07:28:34",
            "upload_time_iso_8601": "2025-02-21T07:28:34.261475Z",
            "url": "https://files.pythonhosted.org/packages/ed/1f/fd08137869e91c3b2f294735f7b0714e66a4a3fe0f6031a547fbc44208c3/whenever-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d5fcfc8d4b025f262d119f53ed520a81e6d31cea85c98d4d18bf22b6f5a2808a",
                "md5": "98faeeb17ca1b47b1572efe4218fc924",
                "sha256": "37d7405dd7a2f1db80c77cc3115cd08b537021f04076464a9775b001138b9db1"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "98faeeb17ca1b47b1572efe4218fc924",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 357630,
            "upload_time": "2025-02-21T07:28:23",
            "upload_time_iso_8601": "2025-02-21T07:28:23.423341Z",
            "url": "https://files.pythonhosted.org/packages/d5/fc/fc8d4b025f262d119f53ed520a81e6d31cea85c98d4d18bf22b6f5a2808a/whenever-0.7.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0126dc7aec8ab9de160ac6a6e4ad45fc280c3ddec5500aa93d886fe3ffe2c0c4",
                "md5": "e4ac23efdba034d6542722c9843619e0",
                "sha256": "37390b636efa7e423d5d160ad079e8802280f52b033ef08f056841103e2ed1fa"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e4ac23efdba034d6542722c9843619e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 414563,
            "upload_time": "2025-02-21T07:26:47",
            "upload_time_iso_8601": "2025-02-21T07:26:47.221953Z",
            "url": "https://files.pythonhosted.org/packages/01/26/dc7aec8ab9de160ac6a6e4ad45fc280c3ddec5500aa93d886fe3ffe2c0c4/whenever-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "026e8b438aec411726376b9a6e955b68476e36419f14c601d312907ed70653c4",
                "md5": "e15d544e125f943803e94bb5de9d9156",
                "sha256": "7e03b3c21b36fbcacb486753b1881cb31a35f7f5c1efba70ee37da8fbb5a6117"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e15d544e125f943803e94bb5de9d9156",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 466540,
            "upload_time": "2025-02-21T07:27:07",
            "upload_time_iso_8601": "2025-02-21T07:27:07.394222Z",
            "url": "https://files.pythonhosted.org/packages/02/6e/8b438aec411726376b9a6e955b68476e36419f14c601d312907ed70653c4/whenever-0.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f417170fef158ca20ecab6fabb5ef9f52fbaf14dbeb4395dbb57a02fd45a7e5a",
                "md5": "8e9eb88e7f6a5d7486bc3bb996295fd7",
                "sha256": "ee4cf8da477f7c376e58071b3e66c8016f635746a97c38ca79740c984334ebf6"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "8e9eb88e7f6a5d7486bc3bb996295fd7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 448353,
            "upload_time": "2025-02-21T07:27:29",
            "upload_time_iso_8601": "2025-02-21T07:27:29.769217Z",
            "url": "https://files.pythonhosted.org/packages/f4/17/170fef158ca20ecab6fabb5ef9f52fbaf14dbeb4395dbb57a02fd45a7e5a/whenever-0.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "443d9ddb566970aff858c2de1907417c3c475056487add1beaf1c7a8ca836bca",
                "md5": "bbaa92d41b31860de766ceef0c22f1e7",
                "sha256": "f014920ec88ff503cb8dd136afa1297491f68d0c01dba557d66b40ce82312098"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "bbaa92d41b31860de766ceef0c22f1e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 489665,
            "upload_time": "2025-02-21T07:27:39",
            "upload_time_iso_8601": "2025-02-21T07:27:39.301800Z",
            "url": "https://files.pythonhosted.org/packages/44/3d/9ddb566970aff858c2de1907417c3c475056487add1beaf1c7a8ca836bca/whenever-0.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c71a0810e8d0429ed5daf9e616b79807237a781d5c972115cc9d0f0e8fd4876",
                "md5": "65d0ed346d9fb62660a3a26f0334d1c0",
                "sha256": "22b3a8e4111a15155d4adec8ede8ab58bc6d20a21ecf885ad6c75a46932f02ba"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "65d0ed346d9fb62660a3a26f0334d1c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 409594,
            "upload_time": "2025-02-21T07:28:07",
            "upload_time_iso_8601": "2025-02-21T07:28:07.713205Z",
            "url": "https://files.pythonhosted.org/packages/5c/71/a0810e8d0429ed5daf9e616b79807237a781d5c972115cc9d0f0e8fd4876/whenever-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fd84cf3991c0542c3cc00a30451f698b8d6d69aef52563d568737b95124bf872",
                "md5": "046ae4f96777f5da7fa275c260d14dd9",
                "sha256": "67266a5435387f22faf7e806967591d5a8b725d220dea8d345e278ab7b83be01"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "046ae4f96777f5da7fa275c260d14dd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 471350,
            "upload_time": "2025-02-21T07:27:48",
            "upload_time_iso_8601": "2025-02-21T07:27:48.511821Z",
            "url": "https://files.pythonhosted.org/packages/fd/84/cf3991c0542c3cc00a30451f698b8d6d69aef52563d568737b95124bf872/whenever-0.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8d30c1de2ec06070081d84099db62599979ddf22bbbb5a1650aba57155864030",
                "md5": "0e441c0e3c3856d2b8c3f69d39476c39",
                "sha256": "b46e39f6f3551573e4d749059fba07d9501aa339721216256efef9cbf9d58e3c"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0e441c0e3c3856d2b8c3f69d39476c39",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 593401,
            "upload_time": "2025-02-21T07:26:57",
            "upload_time_iso_8601": "2025-02-21T07:26:57.220452Z",
            "url": "https://files.pythonhosted.org/packages/8d/30/c1de2ec06070081d84099db62599979ddf22bbbb5a1650aba57155864030/whenever-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8d3711e3fb218a604d449038c8c87080c7b9326b7ab18838da4c5d5d6845e400",
                "md5": "b2ce850e093355fea3eb38fdc0aba8ab",
                "sha256": "2576e82bea494cedf9b8c424f234495d894b15c42e14aa88414999ac638b3d7f"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "b2ce850e093355fea3eb38fdc0aba8ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 728957,
            "upload_time": "2025-02-21T07:27:18",
            "upload_time_iso_8601": "2025-02-21T07:27:18.314306Z",
            "url": "https://files.pythonhosted.org/packages/8d/37/11e3fb218a604d449038c8c87080c7b9326b7ab18838da4c5d5d6845e400/whenever-0.7.0-cp310-cp310-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b169394da3568506f23f7f433595bc274406263d216a1df27c2d25b77b28752",
                "md5": "ab440fa2d2373a73b464a886b85d62f6",
                "sha256": "4395974233748f0939cdc7fa7d7d1801cbad98d121a8eca77d80396acd3fbb37"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "ab440fa2d2373a73b464a886b85d62f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 638020,
            "upload_time": "2025-02-21T07:27:57",
            "upload_time_iso_8601": "2025-02-21T07:27:57.982639Z",
            "url": "https://files.pythonhosted.org/packages/0b/16/9394da3568506f23f7f433595bc274406263d216a1df27c2d25b77b28752/whenever-0.7.0-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d303aa52fb7bd9fcbee617207bb16956b6a7937d655453e58d7c0fb2d8ab1cfe",
                "md5": "e999f647fc02f95ca6e4b01c621833b9",
                "sha256": "3c0246a9eb9c2cc1cef1aa7a75af849cdb90c784f36660583b4675fbd0c97682"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e999f647fc02f95ca6e4b01c621833b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 580355,
            "upload_time": "2025-02-21T07:28:15",
            "upload_time_iso_8601": "2025-02-21T07:28:15.920087Z",
            "url": "https://files.pythonhosted.org/packages/d3/03/aa52fb7bd9fcbee617207bb16956b6a7937d655453e58d7c0fb2d8ab1cfe/whenever-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "68ccdadfa1d1b3198978e747f71971debab56774799fc1c42272e3eb3d4bb01d",
                "md5": "5fa5b3c70beb3ccd193cb294e502fa4f",
                "sha256": "fe0013c029fed747b5cfb44842c8b09970028e3eda2161a035f285f2229290d3"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "5fa5b3c70beb3ccd193cb294e502fa4f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 300565,
            "upload_time": "2025-02-21T07:28:41",
            "upload_time_iso_8601": "2025-02-21T07:28:41.542773Z",
            "url": "https://files.pythonhosted.org/packages/68/cc/dadfa1d1b3198978e747f71971debab56774799fc1c42272e3eb3d4bb01d/whenever-0.7.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad45cf5565e10bc39b25a583224329fc9abc8c2d4fdb4ce28392d7f331d9739b",
                "md5": "f196d5254b1c79193fcc9b875f6a87fd",
                "sha256": "7c694f525a771f5c57b40675d5493ebe80b0efe0997ee31177b1efb4da303505"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f196d5254b1c79193fcc9b875f6a87fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 269306,
            "upload_time": "2025-02-21T07:28:48",
            "upload_time_iso_8601": "2025-02-21T07:28:48.732003Z",
            "url": "https://files.pythonhosted.org/packages/ad/45/cf5565e10bc39b25a583224329fc9abc8c2d4fdb4ce28392d7f331d9739b/whenever-0.7.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83cd66fc7fb3198fc3bef0a03290067a7e6d484cef6303a1c41984eb0643f9a9",
                "md5": "44b41bd40dc002f11a87e8431860f164",
                "sha256": "2212b14cf872ef8cbe327a79e36ff83d81e35fd035791431a7b0b8bc35abf7fe"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "44b41bd40dc002f11a87e8431860f164",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 369341,
            "upload_time": "2025-02-21T07:28:35",
            "upload_time_iso_8601": "2025-02-21T07:28:35.658236Z",
            "url": "https://files.pythonhosted.org/packages/83/cd/66fc7fb3198fc3bef0a03290067a7e6d484cef6303a1c41984eb0643f9a9/whenever-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5576a06ee198fcaf66f737e1da3d4b89b37ef1bfa00b62c1ab8b47a872dfbe6d",
                "md5": "97ff579a77670436d9097ad8e280e23b",
                "sha256": "80c496242020f73e284329dac7051e5bf07a7321bedc252b89bd391058156d09"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "97ff579a77670436d9097ad8e280e23b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 357628,
            "upload_time": "2025-02-21T07:28:25",
            "upload_time_iso_8601": "2025-02-21T07:28:25.715838Z",
            "url": "https://files.pythonhosted.org/packages/55/76/a06ee198fcaf66f737e1da3d4b89b37ef1bfa00b62c1ab8b47a872dfbe6d/whenever-0.7.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a530dcde1c55729e938c075dc37c98b47ee285f8818d9e8da0253002a3053577",
                "md5": "1703e0ce778ffc7ba2dc06967cf90283",
                "sha256": "5332451dd5f0830e6e96e919eec49a705577f7ade872a1f0a3d6929117c72d40"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1703e0ce778ffc7ba2dc06967cf90283",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 414563,
            "upload_time": "2025-02-21T07:26:49",
            "upload_time_iso_8601": "2025-02-21T07:26:49.161330Z",
            "url": "https://files.pythonhosted.org/packages/a5/30/dcde1c55729e938c075dc37c98b47ee285f8818d9e8da0253002a3053577/whenever-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a259183c21912796115dfae2d21288fc6fdef732afda3e44c4011220c1d25973",
                "md5": "e93f94e0a2c9a34067ae2d283a2cb9fd",
                "sha256": "45619d43e80786a91e2f1aaab68428417f7f087fcc861e344d7ee9705fcc9b11"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e93f94e0a2c9a34067ae2d283a2cb9fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 466540,
            "upload_time": "2025-02-21T07:27:09",
            "upload_time_iso_8601": "2025-02-21T07:27:09.658767Z",
            "url": "https://files.pythonhosted.org/packages/a2/59/183c21912796115dfae2d21288fc6fdef732afda3e44c4011220c1d25973/whenever-0.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "682205fa988f4d7094fff85457fb27c31b798d393a976315bbfa23ebcda809d1",
                "md5": "e6881098c6cfd3de0320a16ffa18faa1",
                "sha256": "d695c0dd5c955d2d2f5279ca81ea09f631d0800028093f1d760efa03facf6220"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "e6881098c6cfd3de0320a16ffa18faa1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 448353,
            "upload_time": "2025-02-21T07:27:31",
            "upload_time_iso_8601": "2025-02-21T07:27:31.427803Z",
            "url": "https://files.pythonhosted.org/packages/68/22/05fa988f4d7094fff85457fb27c31b798d393a976315bbfa23ebcda809d1/whenever-0.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "996077d8d116085bcc55523ea7774bd9ec0a49ee9cfbd052b3cd1dbde8d7e7b4",
                "md5": "820d54faecbd7939f48a93b445278343",
                "sha256": "0c165e95510562d06e104dbb8f04c40fdf25a1cd651e63fee8dbaa9d9035f410"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "820d54faecbd7939f48a93b445278343",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 489665,
            "upload_time": "2025-02-21T07:27:41",
            "upload_time_iso_8601": "2025-02-21T07:27:41.597632Z",
            "url": "https://files.pythonhosted.org/packages/99/60/77d8d116085bcc55523ea7774bd9ec0a49ee9cfbd052b3cd1dbde8d7e7b4/whenever-0.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b007f467b0c492fde129bafb801c814720c532e9bfa36dfa944ff0a56b051c4",
                "md5": "fd834c453b29ef277b66be3795026d4c",
                "sha256": "8d85e92eb46a304bb5cdcf06195928abc464985a129365069f05da8d2e4fe4c7"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fd834c453b29ef277b66be3795026d4c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 409594,
            "upload_time": "2025-02-21T07:28:10",
            "upload_time_iso_8601": "2025-02-21T07:28:10.273699Z",
            "url": "https://files.pythonhosted.org/packages/9b/00/7f467b0c492fde129bafb801c814720c532e9bfa36dfa944ff0a56b051c4/whenever-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "41c6aaacc716515b7e09c4444bc785ad048ce66c8f381e0b730f56947e60d1c6",
                "md5": "1402ef429a0e22a5380fdec555e8a21f",
                "sha256": "2ccf89edb2857ba7dccd03779eccc632b3cd32ad5b0b6e910d5f31dde9dff4b0"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "1402ef429a0e22a5380fdec555e8a21f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 471349,
            "upload_time": "2025-02-21T07:27:50",
            "upload_time_iso_8601": "2025-02-21T07:27:50.031862Z",
            "url": "https://files.pythonhosted.org/packages/41/c6/aaacc716515b7e09c4444bc785ad048ce66c8f381e0b730f56947e60d1c6/whenever-0.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24354f4d21d39ffbcc10580115be2365c826b6e21559c9dd09d9ca52444f448f",
                "md5": "6cdce7f70b523bbbf844ff6a144d0afc",
                "sha256": "4252227fe3f099783b86deda5968d00735829281be0c5dc2c36842013ec98432"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6cdce7f70b523bbbf844ff6a144d0afc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 593404,
            "upload_time": "2025-02-21T07:26:59",
            "upload_time_iso_8601": "2025-02-21T07:26:59.674270Z",
            "url": "https://files.pythonhosted.org/packages/24/35/4f4d21d39ffbcc10580115be2365c826b6e21559c9dd09d9ca52444f448f/whenever-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "650ceeff7d8ed088e6115026f66fb6c71a25bc3cc42d1acf27bd4625677233a3",
                "md5": "147f23f15bdc97f913a5e337cd1f8180",
                "sha256": "1cdbb04016c63a80015a5e3067f20f4d871197b6ec7e1e7a3f25b486241ad8a0"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "147f23f15bdc97f913a5e337cd1f8180",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 728958,
            "upload_time": "2025-02-21T07:27:20",
            "upload_time_iso_8601": "2025-02-21T07:27:20.143526Z",
            "url": "https://files.pythonhosted.org/packages/65/0c/eeff7d8ed088e6115026f66fb6c71a25bc3cc42d1acf27bd4625677233a3/whenever-0.7.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2a1d999a720937c8a74b5b00b44ce2347e528d674a2a503b2d00623af6a61011",
                "md5": "0d78fbd4b22f98da193ec1c39a5331ef",
                "sha256": "2b9c8c33dc8b4b8dbc52c5cb9445918c878f6bf3854b39390d9ff5ccd677167f"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "0d78fbd4b22f98da193ec1c39a5331ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 638023,
            "upload_time": "2025-02-21T07:27:59",
            "upload_time_iso_8601": "2025-02-21T07:27:59.441244Z",
            "url": "https://files.pythonhosted.org/packages/2a/1d/999a720937c8a74b5b00b44ce2347e528d674a2a503b2d00623af6a61011/whenever-0.7.0-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "50818840be3515133ccaac5c752a6e3a390b34b0bb62ee3c973303085e6f7db6",
                "md5": "14c8c59a4f23734644ca872b27608f1a",
                "sha256": "46b49e3aaa87452c213e81ca1c82b8691277a20ad5fca97c6c829599602bf9e7"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "14c8c59a4f23734644ca872b27608f1a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 580358,
            "upload_time": "2025-02-21T07:28:17",
            "upload_time_iso_8601": "2025-02-21T07:28:17.462597Z",
            "url": "https://files.pythonhosted.org/packages/50/81/8840be3515133ccaac5c752a6e3a390b34b0bb62ee3c973303085e6f7db6/whenever-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "91056d6e296ed5473432f683e310ad3dc1f9b54ecb863cc856d90fbcf897c716",
                "md5": "d04f2129211fec245ceeabef9270061a",
                "sha256": "4c9f304e3caf0f302bd770cc9987fbf4391415140dd5594a1bfddc34182e7cb1"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "d04f2129211fec245ceeabef9270061a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 300573,
            "upload_time": "2025-02-21T07:28:43",
            "upload_time_iso_8601": "2025-02-21T07:28:43.056356Z",
            "url": "https://files.pythonhosted.org/packages/91/05/6d6e296ed5473432f683e310ad3dc1f9b54ecb863cc856d90fbcf897c716/whenever-0.7.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d7ef50799d77a9ea489e904e0a6be2a301846860dc4cb3d125c805141cc6c9ab",
                "md5": "f1cbd7dde75d39e7529e39f24daaeda1",
                "sha256": "aa71d814ed9a7b16305509235591ee230fbcc44834fe77760ce0c743f2ae5946"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f1cbd7dde75d39e7529e39f24daaeda1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 269310,
            "upload_time": "2025-02-21T07:28:51",
            "upload_time_iso_8601": "2025-02-21T07:28:51.001455Z",
            "url": "https://files.pythonhosted.org/packages/d7/ef/50799d77a9ea489e904e0a6be2a301846860dc4cb3d125c805141cc6c9ab/whenever-0.7.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0b3f10fff9c32cf3f8de637658c409c05b8330e55d0049532d4e49f8e1d70c3",
                "md5": "3df1dddf31ec08603ca08c05aee61b3e",
                "sha256": "ab3d98e644fc68e2904a16c2ad50a22286fb11a47a2414a559599fa31f9cbfd3"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3df1dddf31ec08603ca08c05aee61b3e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 370587,
            "upload_time": "2025-02-21T07:28:37",
            "upload_time_iso_8601": "2025-02-21T07:28:37.251787Z",
            "url": "https://files.pythonhosted.org/packages/c0/b3/f10fff9c32cf3f8de637658c409c05b8330e55d0049532d4e49f8e1d70c3/whenever-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fbb6b772aedbaa4f158b5f37cc2e6cda6616e98ee665d3eba803d78dd30f7b68",
                "md5": "d141a27d82d016a00ad90fde47aa312f",
                "sha256": "bb586dabcaf49e320e85fd517b9bad81bd7e2c15aa152028d28b1d8eeead8dc4"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d141a27d82d016a00ad90fde47aa312f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 359109,
            "upload_time": "2025-02-21T07:28:27",
            "upload_time_iso_8601": "2025-02-21T07:28:27.475694Z",
            "url": "https://files.pythonhosted.org/packages/fb/b6/b772aedbaa4f158b5f37cc2e6cda6616e98ee665d3eba803d78dd30f7b68/whenever-0.7.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63f9c2f62df3824eda89bcd76782e48a7431422787d35916b09a8e8fb9129181",
                "md5": "9029f87af5c8149812c1dc4ba968e994",
                "sha256": "d305c8065e6cfb2bf5cc9d741f50be92d2ee356da59502e9c4bffac9445fb6c5"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9029f87af5c8149812c1dc4ba968e994",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 415800,
            "upload_time": "2025-02-21T07:26:51",
            "upload_time_iso_8601": "2025-02-21T07:26:51.200705Z",
            "url": "https://files.pythonhosted.org/packages/63/f9/c2f62df3824eda89bcd76782e48a7431422787d35916b09a8e8fb9129181/whenever-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6f696d14ea4fb01d643ea759b2d1daf96e7278d39ba5b9e96a3bbff4b92e4649",
                "md5": "37e6f07950ecaf10717bb68293eb13bf",
                "sha256": "3e62e306e9f48f9cebb3733a0f671e553e57b04500c5430d9396f56a51ba6d8b"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "37e6f07950ecaf10717bb68293eb13bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 467925,
            "upload_time": "2025-02-21T07:27:12",
            "upload_time_iso_8601": "2025-02-21T07:27:12.168984Z",
            "url": "https://files.pythonhosted.org/packages/6f/69/6d14ea4fb01d643ea759b2d1daf96e7278d39ba5b9e96a3bbff4b92e4649/whenever-0.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1ed14bd1b621725d34e12002bf5a5de3f40eec53e1653159f6e4519ebc7cd1a4",
                "md5": "ee7539df75550fcc609032ffadc0de27",
                "sha256": "b158f8e2c27c7f008b8af4cad901e140d1208436f1680f41ae472c1fbec62ebd"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "ee7539df75550fcc609032ffadc0de27",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 449455,
            "upload_time": "2025-02-21T07:27:32",
            "upload_time_iso_8601": "2025-02-21T07:27:32.922268Z",
            "url": "https://files.pythonhosted.org/packages/1e/d1/4bd1b621725d34e12002bf5a5de3f40eec53e1653159f6e4519ebc7cd1a4/whenever-0.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b70f4a4469e3701689b8a9efa7a3f201da6b4823a0e59b2fabd80fbda2f3d255",
                "md5": "c52825b0f6a59aa0a7c27918d1c20b72",
                "sha256": "62e0417ed5e9a31f26028bc954f7e3033f8f760fe57c58333ffeda9091484163"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "c52825b0f6a59aa0a7c27918d1c20b72",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 487585,
            "upload_time": "2025-02-21T07:27:43",
            "upload_time_iso_8601": "2025-02-21T07:27:43.902620Z",
            "url": "https://files.pythonhosted.org/packages/b7/0f/4a4469e3701689b8a9efa7a3f201da6b4823a0e59b2fabd80fbda2f3d255/whenever-0.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "caf8c95d5187ec336ec9180acc669d32f4130c485c5d5511746128046dd03dd3",
                "md5": "0ef4ec75767b3bff12a9d38f740b9be9",
                "sha256": "f64c8cddfcde05f9a91266e7b2ce95c1c40b5c540c0bcbaedac4caaba251bf73"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ef4ec75767b3bff12a9d38f740b9be9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 411089,
            "upload_time": "2025-02-21T07:28:11",
            "upload_time_iso_8601": "2025-02-21T07:28:11.594599Z",
            "url": "https://files.pythonhosted.org/packages/ca/f8/c95d5187ec336ec9180acc669d32f4130c485c5d5511746128046dd03dd3/whenever-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b2fe9ba798ec8085665da48303ef28b39ef875a653c93ffbb90a8413ebf00d63",
                "md5": "68508c8dfc68c17a454a9237c9fbc0a1",
                "sha256": "0cb62e978a13050ce243b5e71f1be3a916e3c7e177a428aea3b8f5d859b0716b"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "68508c8dfc68c17a454a9237c9fbc0a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 473459,
            "upload_time": "2025-02-21T07:27:51",
            "upload_time_iso_8601": "2025-02-21T07:27:51.530254Z",
            "url": "https://files.pythonhosted.org/packages/b2/fe/9ba798ec8085665da48303ef28b39ef875a653c93ffbb90a8413ebf00d63/whenever-0.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b894b1f3bb77df02c47443fe2a3972258debd6f8e0d96a23ec3ae04caec4672d",
                "md5": "f83465f6ca24d2362e468d22b9710b6f",
                "sha256": "b3962c50de87460b61aa009cdbd85ff93846af26360d387d82188b93a3a2c228"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f83465f6ca24d2362e468d22b9710b6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 594888,
            "upload_time": "2025-02-21T07:27:01",
            "upload_time_iso_8601": "2025-02-21T07:27:01.093585Z",
            "url": "https://files.pythonhosted.org/packages/b8/94/b1f3bb77df02c47443fe2a3972258debd6f8e0d96a23ec3ae04caec4672d/whenever-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3720f1f7fdba50ed09a5e3d759d07361d990f27475c4853d07ca1065c525048e",
                "md5": "28a3cfb419890d7c344f64d75c29d201",
                "sha256": "5b5a71f6fadbccb937aed869118eadf0460d9981579353ac6662525fca89d0b1"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "28a3cfb419890d7c344f64d75c29d201",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 730372,
            "upload_time": "2025-02-21T07:27:24",
            "upload_time_iso_8601": "2025-02-21T07:27:24.026828Z",
            "url": "https://files.pythonhosted.org/packages/37/20/f1f7fdba50ed09a5e3d759d07361d990f27475c4853d07ca1065c525048e/whenever-0.7.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63e1ee5ef2fbca83c858cd6711e30c411826696dec9cbf7e9b85aac8aba2b4bc",
                "md5": "5e8f0156072e31d2e28fd5b449169083",
                "sha256": "1b9ca3aa692c4b1ecb67ad230bed74705f6604e1d5f994b7e215a92e4cabee48"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "5e8f0156072e31d2e28fd5b449169083",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 640023,
            "upload_time": "2025-02-21T07:28:01",
            "upload_time_iso_8601": "2025-02-21T07:28:01.130769Z",
            "url": "https://files.pythonhosted.org/packages/63/e1/ee5ef2fbca83c858cd6711e30c411826696dec9cbf7e9b85aac8aba2b4bc/whenever-0.7.0-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c1b2bcfcc8c8d2e0046aaed82d61ddb8c9bf5e496606278c60d072436b5b3485",
                "md5": "9f053e0a1feddd0672daf9e2e1408903",
                "sha256": "f73f7a602b9e0159ce476019e06baf450cf740e08df1490010cc66cdb70c2061"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f053e0a1feddd0672daf9e2e1408903",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 581566,
            "upload_time": "2025-02-21T07:28:18",
            "upload_time_iso_8601": "2025-02-21T07:28:18.902002Z",
            "url": "https://files.pythonhosted.org/packages/c1/b2/bcfcc8c8d2e0046aaed82d61ddb8c9bf5e496606278c60d072436b5b3485/whenever-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a97aa5d32f66ef5b14a439e86e3c48150dd28b917ac99b364252fc8acdccf0a0",
                "md5": "2992a5869852249480eb970ee9339973",
                "sha256": "f7160c973c6b1af232a1b177ec58f0d49fb0797b7f16749934dc7f46b8f20173"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "2992a5869852249480eb970ee9339973",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 302785,
            "upload_time": "2025-02-21T07:28:44",
            "upload_time_iso_8601": "2025-02-21T07:28:44.473361Z",
            "url": "https://files.pythonhosted.org/packages/a9/7a/a5d32f66ef5b14a439e86e3c48150dd28b917ac99b364252fc8acdccf0a0/whenever-0.7.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "070849a8e0218a700baf6254fc6488f3d0f168e462c71a564550660360b90423",
                "md5": "c2349b0a4cd098e1fbb58be0019839f4",
                "sha256": "032ced203146218d9fdf6ef2a89d463e7b2ef430801fa0727070509225050f65"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c2349b0a4cd098e1fbb58be0019839f4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 271057,
            "upload_time": "2025-02-21T07:28:52",
            "upload_time_iso_8601": "2025-02-21T07:28:52.380731Z",
            "url": "https://files.pythonhosted.org/packages/07/08/49a8e0218a700baf6254fc6488f3d0f168e462c71a564550660360b90423/whenever-0.7.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7d215b33f9157337f9207c7ef96538e11fd67c9024ed6191901b222343b142f1",
                "md5": "98703119de711424021102e76d696038",
                "sha256": "70969feb5b6690ece380b2769a7ebe7be37deeadb80ae7efd741320b91e51075"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "98703119de711424021102e76d696038",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 370990,
            "upload_time": "2025-02-21T07:28:38",
            "upload_time_iso_8601": "2025-02-21T07:28:38.696186Z",
            "url": "https://files.pythonhosted.org/packages/7d/21/5b33f9157337f9207c7ef96538e11fd67c9024ed6191901b222343b142f1/whenever-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7515a43b4bd355c4eb91238870759d897c90024070d6955800d3e8a9045006ea",
                "md5": "fc16eddd472de9eb0fafe4b83d34cb30",
                "sha256": "198303b639df0d9bf8f5590a45a3cfe05251a9d5f2a0bbbf55841a08769468a0"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fc16eddd472de9eb0fafe4b83d34cb30",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 359141,
            "upload_time": "2025-02-21T07:28:28",
            "upload_time_iso_8601": "2025-02-21T07:28:28.926381Z",
            "url": "https://files.pythonhosted.org/packages/75/15/a43b4bd355c4eb91238870759d897c90024070d6955800d3e8a9045006ea/whenever-0.7.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4243ede2d87cafa1d860e4943d58d261f49e84c7f1b825545efa79e6bc2144c5",
                "md5": "fcd46272f5d6c9831606494813680b4a",
                "sha256": "281509a31ad38b9364c8be9b94d8bc53b17c1b75c59874526de7620ef574c247"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fcd46272f5d6c9831606494813680b4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 415803,
            "upload_time": "2025-02-21T07:26:52",
            "upload_time_iso_8601": "2025-02-21T07:26:52.800165Z",
            "url": "https://files.pythonhosted.org/packages/42/43/ede2d87cafa1d860e4943d58d261f49e84c7f1b825545efa79e6bc2144c5/whenever-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e83de6193b7a3412744de5e6a58f97c13d5c6994e053c98e3307638326ca1124",
                "md5": "fa5f981c0180419316a7f5ffae5e36cf",
                "sha256": "842616e5ef89cfe6268206dd35fbd937a56ee5aaffbcfe22634d5222c1cf8b34"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "fa5f981c0180419316a7f5ffae5e36cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 467900,
            "upload_time": "2025-02-21T07:27:14",
            "upload_time_iso_8601": "2025-02-21T07:27:14.391940Z",
            "url": "https://files.pythonhosted.org/packages/e8/3d/e6193b7a3412744de5e6a58f97c13d5c6994e053c98e3307638326ca1124/whenever-0.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "456cb0bf0b9dbb1c5f1d6e1643ecdd1d6ed047ec92c3b5ee476d046652866e31",
                "md5": "07439b1b978f5ebe6d58402475e5f8f8",
                "sha256": "8bd5946c70ab5af0a9cf199f8e48ab33b14b696fb021cd17d3d7659157b12d1e"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "07439b1b978f5ebe6d58402475e5f8f8",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 449471,
            "upload_time": "2025-02-21T07:27:35",
            "upload_time_iso_8601": "2025-02-21T07:27:35.138707Z",
            "url": "https://files.pythonhosted.org/packages/45/6c/b0bf0b9dbb1c5f1d6e1643ecdd1d6ed047ec92c3b5ee476d046652866e31/whenever-0.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e5ff012b1725d4cc32bb54a79a747a8e6296702ca2fe6896bc80fd7bd5493bac",
                "md5": "4274e7d6662d82088f823373a019b813",
                "sha256": "649e78b339d7deaddc300f762a6bbab30d61c45b4306f655bde141882929127b"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "4274e7d6662d82088f823373a019b813",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 487653,
            "upload_time": "2025-02-21T07:27:45",
            "upload_time_iso_8601": "2025-02-21T07:27:45.470483Z",
            "url": "https://files.pythonhosted.org/packages/e5/ff/012b1725d4cc32bb54a79a747a8e6296702ca2fe6896bc80fd7bd5493bac/whenever-0.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3e116f84eafced76aa9aea894168cfe6cd4701012031762761d72bb7be066880",
                "md5": "c9a9fa52b7a8c8915f3718cf92fef09b",
                "sha256": "f87f972c627d76786c1a7d77cdf857752328deb57000ba3325619f8cc9e55161"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c9a9fa52b7a8c8915f3718cf92fef09b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 411546,
            "upload_time": "2025-02-21T07:28:12",
            "upload_time_iso_8601": "2025-02-21T07:28:12.985387Z",
            "url": "https://files.pythonhosted.org/packages/3e/11/6f84eafced76aa9aea894168cfe6cd4701012031762761d72bb7be066880/whenever-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84614ca00da85bd9d479a316ac52f234fd464a32867c47907e1bdcf3e7ccba8a",
                "md5": "27b14c93c83894406889cb40be63332d",
                "sha256": "60893cb3d43f7d3529412c9ebaccf6e4cef35cb4b45e16298d822276bb579062"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "27b14c93c83894406889cb40be63332d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 473479,
            "upload_time": "2025-02-21T07:27:54",
            "upload_time_iso_8601": "2025-02-21T07:27:54.266970Z",
            "url": "https://files.pythonhosted.org/packages/84/61/4ca00da85bd9d479a316ac52f234fd464a32867c47907e1bdcf3e7ccba8a/whenever-0.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1db47a5541bd7b4fae78eee9355d4053d580c1cd6b9a2d10c996a2d1e5074a73",
                "md5": "5ff8967d15a2c102de2a54b6c8c61c7a",
                "sha256": "c30143c6102b2f125333a4eac7245ebe0dd9a7c822ed4d00001be800a3edf34f"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5ff8967d15a2c102de2a54b6c8c61c7a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 594906,
            "upload_time": "2025-02-21T07:27:03",
            "upload_time_iso_8601": "2025-02-21T07:27:03.375288Z",
            "url": "https://files.pythonhosted.org/packages/1d/b4/7a5541bd7b4fae78eee9355d4053d580c1cd6b9a2d10c996a2d1e5074a73/whenever-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da73b688c3e03a01bcaeb61b69b1243280af4e361511dcf9a9bc30d008abb1c9",
                "md5": "e58b463bee3bdf3c48b9377ea751b89d",
                "sha256": "5f3878bdb2362c294a4a4d1d7f9d5d1472f4d8637d6c77585002bb49dd0de4e4"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e58b463bee3bdf3c48b9377ea751b89d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 730389,
            "upload_time": "2025-02-21T07:27:26",
            "upload_time_iso_8601": "2025-02-21T07:27:26.009997Z",
            "url": "https://files.pythonhosted.org/packages/da/73/b688c3e03a01bcaeb61b69b1243280af4e361511dcf9a9bc30d008abb1c9/whenever-0.7.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85f5b733465d4c41b27ec68b2de2fbca61601de51195070c9ec118b89e7525df",
                "md5": "714cca360f0d81401713b8a3c5245634",
                "sha256": "56824b8c4e8665b89cc6dee2c1af7236cd42df355cdd3d182daa812869bff50b"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "714cca360f0d81401713b8a3c5245634",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 639919,
            "upload_time": "2025-02-21T07:28:02",
            "upload_time_iso_8601": "2025-02-21T07:28:02.588565Z",
            "url": "https://files.pythonhosted.org/packages/85/f5/b733465d4c41b27ec68b2de2fbca61601de51195070c9ec118b89e7525df/whenever-0.7.0-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08e63e783038fe0d88d5a4401b582a2ac4eac477150e179a529789bb01779645",
                "md5": "cba306a9ab6d3849d706503e3ff4f8ca",
                "sha256": "89deac89059decb0fb1685149de1196690802d7fee292ca4d3a41da286cc6039"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cba306a9ab6d3849d706503e3ff4f8ca",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 581907,
            "upload_time": "2025-02-21T07:28:20",
            "upload_time_iso_8601": "2025-02-21T07:28:20.267615Z",
            "url": "https://files.pythonhosted.org/packages/08/e6/3e783038fe0d88d5a4401b582a2ac4eac477150e179a529789bb01779645/whenever-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "977edfa826b12d0fe127ca5f8e9d8a92c4ece4f92e1e4eaabdb8a24dafbaa5c6",
                "md5": "6446c94df091491282db2d4f02ba61b2",
                "sha256": "38667cd9469a3d026411a94586aa1407c3ab508ebbf37ae03ccff990f8ac6a58"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "6446c94df091491282db2d4f02ba61b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 302803,
            "upload_time": "2025-02-21T07:28:46",
            "upload_time_iso_8601": "2025-02-21T07:28:46.003919Z",
            "url": "https://files.pythonhosted.org/packages/97/7e/dfa826b12d0fe127ca5f8e9d8a92c4ece4f92e1e4eaabdb8a24dafbaa5c6/whenever-0.7.0-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "767d11f9b85b45dee211488cf42f13d40918b1a211a08cc06281a89c3e9481a5",
                "md5": "449182b8a45dcb5488aa490ac870971b",
                "sha256": "1ca4a374f0d857ecc6f961f28849b1c47394f950b564d2075099b1eb3f784a29"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "449182b8a45dcb5488aa490ac870971b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 271097,
            "upload_time": "2025-02-21T07:28:53",
            "upload_time_iso_8601": "2025-02-21T07:28:53.786144Z",
            "url": "https://files.pythonhosted.org/packages/76/7d/11f9b85b45dee211488cf42f13d40918b1a211a08cc06281a89c3e9481a5/whenever-0.7.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "866093f9d8bbab10675a71eef064d4686d55e7980814c66f25264e84118df496",
                "md5": "29a248a75368e945f8ca026234ae188c",
                "sha256": "0cef859523da280a733b6b495208e0f8cd60f070b379577f43b116aa931b01d0"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "29a248a75368e945f8ca026234ae188c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 370062,
            "upload_time": "2025-02-21T07:28:40",
            "upload_time_iso_8601": "2025-02-21T07:28:40.154561Z",
            "url": "https://files.pythonhosted.org/packages/86/60/93f9d8bbab10675a71eef064d4686d55e7980814c66f25264e84118df496/whenever-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0baa9868710771ad5457f4588d2f8616d02e16543975ea75bc75d1f3ba259bdd",
                "md5": "a6ee3382a76bf856452709766b2c62b6",
                "sha256": "7c9a6f435cc8699eb84f3b38ee300ffa0a82c5e62a1079d387b7c1dd15014af8"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a6ee3382a76bf856452709766b2c62b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 359848,
            "upload_time": "2025-02-21T07:28:30",
            "upload_time_iso_8601": "2025-02-21T07:28:30.345552Z",
            "url": "https://files.pythonhosted.org/packages/0b/aa/9868710771ad5457f4588d2f8616d02e16543975ea75bc75d1f3ba259bdd/whenever-0.7.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c060447ed31218db5e24572997f03d4e3673ef63bb36f7ffcc9bfe66d81932e2",
                "md5": "5f942fca609fc7b15421e4d5e47d0e9b",
                "sha256": "6659b7578f689aabb1cf1d15c8c6b09e9d3ee3eeee81dbe569458cdaa290ce22"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5f942fca609fc7b15421e4d5e47d0e9b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 416335,
            "upload_time": "2025-02-21T07:26:55",
            "upload_time_iso_8601": "2025-02-21T07:26:55.031465Z",
            "url": "https://files.pythonhosted.org/packages/c0/60/447ed31218db5e24572997f03d4e3673ef63bb36f7ffcc9bfe66d81932e2/whenever-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6a9b721809538573f5f77554b71532d08d65df4fe20852a8071f3913f4bb01a7",
                "md5": "a694543f2dac6f5725cf86d10c81711b",
                "sha256": "6ec558d040ed9d5bdd030043b848db97a189d65fac40a7e66e37bf541c717f71"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "a694543f2dac6f5725cf86d10c81711b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 467088,
            "upload_time": "2025-02-21T07:27:15",
            "upload_time_iso_8601": "2025-02-21T07:27:15.847971Z",
            "url": "https://files.pythonhosted.org/packages/6a/9b/721809538573f5f77554b71532d08d65df4fe20852a8071f3913f4bb01a7/whenever-0.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "30d22bd651346d2ec50c8755812f8681bbfc99cd1ab357bfc27938223af965d8",
                "md5": "4c730bead27ceb24bd2a5f2a09acc743",
                "sha256": "40ca17143a358d8a48e7e89d3148493be6446882732481f8cc1d99ede1056b43"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "4c730bead27ceb24bd2a5f2a09acc743",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 448485,
            "upload_time": "2025-02-21T07:27:37",
            "upload_time_iso_8601": "2025-02-21T07:27:37.823059Z",
            "url": "https://files.pythonhosted.org/packages/30/d2/2bd651346d2ec50c8755812f8681bbfc99cd1ab357bfc27938223af965d8/whenever-0.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "313e409beb9ba6600d8bc03ff92090b1cafee09248cfb576db0e94cda7dd05a9",
                "md5": "d429a8559169edb6c312bc66cc98e12e",
                "sha256": "83f0819f4ccc86c838e64e8bb33e0292d24feca9704c80630f980560ee314480"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "d429a8559169edb6c312bc66cc98e12e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 490784,
            "upload_time": "2025-02-21T07:27:46",
            "upload_time_iso_8601": "2025-02-21T07:27:46.943290Z",
            "url": "https://files.pythonhosted.org/packages/31/3e/409beb9ba6600d8bc03ff92090b1cafee09248cfb576db0e94cda7dd05a9/whenever-0.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a6917e429c7fcdc8e8d6e6d9c56d35f939a2a639dd785d91ed8933eaa69f814c",
                "md5": "8bfcc32105c9f4db473e4c51969b6452",
                "sha256": "8f1255d2f52453b0da213e3fddf1af96912a5b70d4cc2b62b1cc380d45240988"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8bfcc32105c9f4db473e4c51969b6452",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 410230,
            "upload_time": "2025-02-21T07:28:14",
            "upload_time_iso_8601": "2025-02-21T07:28:14.438161Z",
            "url": "https://files.pythonhosted.org/packages/a6/91/7e429c7fcdc8e8d6e6d9c56d35f939a2a639dd785d91ed8933eaa69f814c/whenever-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d0863184f3230d8d2edcb4dd28c0f36c6cde08a20ce205c4d61e66fd84b1466c",
                "md5": "d8a2a12b39e1b0049c1305e9755addfd",
                "sha256": "91f916625f1da0e2942c8a8d4a0cac3a12c59e35cc2be6e5781f782114afd5dc"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "d8a2a12b39e1b0049c1305e9755addfd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 472064,
            "upload_time": "2025-02-21T07:27:55",
            "upload_time_iso_8601": "2025-02-21T07:27:55.785866Z",
            "url": "https://files.pythonhosted.org/packages/d0/86/3184f3230d8d2edcb4dd28c0f36c6cde08a20ce205c4d61e66fd84b1466c/whenever-0.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "acdbe31fb8a597404c9bf835ebfd6fdcdd897a9763e7ce7382f73f76717b7f96",
                "md5": "8c068bb79dddba11ee391f3efeb4512a",
                "sha256": "8c80bbdb96d628ad775c05f60df54862f622a910a536da358ff20e5a9a7e7b63"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8c068bb79dddba11ee391f3efeb4512a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 595691,
            "upload_time": "2025-02-21T07:27:05",
            "upload_time_iso_8601": "2025-02-21T07:27:05.022975Z",
            "url": "https://files.pythonhosted.org/packages/ac/db/e31fb8a597404c9bf835ebfd6fdcdd897a9763e7ce7382f73f76717b7f96/whenever-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f36914692b33faa9853e205a671b3f76ea3762a1d7ff6b856fcbd05dc2359fe1",
                "md5": "a00b1e687a56ede0022bd8e57ca86adb",
                "sha256": "235864527d3a82613af5fa31907f4b8d9cd2da3f28440f977c41c8b3a2acc88d"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "a00b1e687a56ede0022bd8e57ca86adb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 729594,
            "upload_time": "2025-02-21T07:27:27",
            "upload_time_iso_8601": "2025-02-21T07:27:27.560885Z",
            "url": "https://files.pythonhosted.org/packages/f3/69/14692b33faa9853e205a671b3f76ea3762a1d7ff6b856fcbd05dc2359fe1/whenever-0.7.0-cp39-cp39-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6b94d48cc4c6d457db0a64e89b156b5915a1530e0416a5f276f54b19572c2648",
                "md5": "de6f55df17c242b971e74956a24cdc35",
                "sha256": "1cc0dcae7a432b25c4ad0a3c49ca25817d61e6150c8a1e24cbc74f4e95f1d434"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "de6f55df17c242b971e74956a24cdc35",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 638681,
            "upload_time": "2025-02-21T07:28:05",
            "upload_time_iso_8601": "2025-02-21T07:28:05.745970Z",
            "url": "https://files.pythonhosted.org/packages/6b/94/d48cc4c6d457db0a64e89b156b5915a1530e0416a5f276f54b19572c2648/whenever-0.7.0-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dd7a280a8491feb01d5947d90a39a4e9e906a929f7209c9b59f8fac7f8c0f939",
                "md5": "c3010db0f2f9d3e4b25de510b75017b7",
                "sha256": "96aec86982a27db56b400403a5581f5a66ddfa12297dc08d4989c4d474245a0d"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c3010db0f2f9d3e4b25de510b75017b7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 580895,
            "upload_time": "2025-02-21T07:28:21",
            "upload_time_iso_8601": "2025-02-21T07:28:21.661922Z",
            "url": "https://files.pythonhosted.org/packages/dd/7a/280a8491feb01d5947d90a39a4e9e906a929f7209c9b59f8fac7f8c0f939/whenever-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "92c1d0332dd537bab90e3cc37140e8fbb5bc363ade52c331a337467c9671dd2d",
                "md5": "41610fd53f71bad21086f2a4c1935236",
                "sha256": "7752d8aefeb31bd0edb367cb962bcdfc71074c20138647f82828a2a49b31033d"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "41610fd53f71bad21086f2a4c1935236",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 301033,
            "upload_time": "2025-02-21T07:28:47",
            "upload_time_iso_8601": "2025-02-21T07:28:47.408269Z",
            "url": "https://files.pythonhosted.org/packages/92/c1/d0332dd537bab90e3cc37140e8fbb5bc363ade52c331a337467c9671dd2d/whenever-0.7.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fbaf6d7cd1a17e2fbe55cc432e97e62f3bd8d256ca483171a2a0111e264e9af",
                "md5": "48d1635198818976ac4f7eecdabfc042",
                "sha256": "3c3f6f20569eb76881ef4aa3f67fb184bffad2bef3344f15dc1f3d250957ea1d"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "48d1635198818976ac4f7eecdabfc042",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 269597,
            "upload_time": "2025-02-21T07:28:55",
            "upload_time_iso_8601": "2025-02-21T07:28:55.660199Z",
            "url": "https://files.pythonhosted.org/packages/7f/ba/f6d7cd1a17e2fbe55cc432e97e62f3bd8d256ca483171a2a0111e264e9af/whenever-0.7.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5a286ceaf59664695b53a8af1674568ca132550ac03a692f0eea9e19a3b4859b",
                "md5": "caaa9c7e4014079211575d10ddf08dc9",
                "sha256": "1b559294d8287ab9b2f63d9c3ec28be8a01f640ccf6286533d8473090b1814d9"
            },
            "downloads": -1,
            "filename": "whenever-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "caaa9c7e4014079211575d10ddf08dc9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 180521,
            "upload_time": "2025-02-21T07:28:57",
            "upload_time_iso_8601": "2025-02-21T07:28:57.943337Z",
            "url": "https://files.pythonhosted.org/packages/5a/28/6ceaf59664695b53a8af1674568ca132550ac03a692f0eea9e19a3b4859b/whenever-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-21 07:28:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ariebovenberg",
    "github_project": "whenever",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "whenever"
}
        
Elapsed time: 2.45668s