dfly


Namedfly JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryLightweight CPython Debugger
upload_time2024-03-31 23:00:22
maintainerNone
docs_urlNone
authorGabriele N. Tornetta
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <br/>
  <img src="art/logo.png"
       alt="Dragonfly logo"
       height="256px" />
  <br/>
</p>

<h3 align="center">Lightweight CPython Debugger</h3>

<p align="center">
  <a href="https://github.com/P403n1x87/dragonfly/actions?workflow=Tests">
    <img src="https://github.com/P403n1x87/dragonfly/workflows/Tests/badge.svg"
         alt="GitHub Actions: Tests">
  </a>
  <a href="https://github.com/P403n1x87/dragonfly/actions?workflow=Checks">
    <img src="https://github.com/P403n1x87/dragonfly/workflows/Checks/badge.svg"
         alt="GitHub Actions: Checks">
  </a>  <a href="https://codecov.io/gh/P403n1x87/dragonfly">
    <img src="https://codecov.io/gh/P403n1x87/dragonfly/branch/main/graph/badge.svg"
         alt="Codecov">
  </a>
  <br/>
  <a href="https://pypi.org/project/dfly/">
    <img src="https://img.shields.io/pypi/v/dfly.svg"
         alt="PyPI">
  </a>
  <a href="https://pepy.tech/project/dfly">
    <img src="https://static.pepy.tech/personalized-badge/dfly?period=total&units=international_system&left_color=grey&right_color=blue&left_text=downloads"
         alt="Downloads" />
  <a/>
  <br/>
  <a href="https://github.com/P403n1x87/dragonfly/blob/main/LICENSE.md">
    <img src="https://img.shields.io/badge/license-GPLv3-ff69b4.svg"
         alt="LICENSE">
  </a>
</p>

<p align="center">
  <a href="#synopsis"><b>Synopsis</b></a>&nbsp;&bull;
  <a href="#installation"><b>Installation</b></a>&nbsp;&bull;
  <a href="#usage"><b>Usage</b></a>&nbsp;&bull;
  <a href="#compatibility"><b>Compatibility</b></a>&nbsp;&bull;
  <a href="#documentation"><b>Documentation</b></a>&nbsp;&bull;
  <a href="#contribute"><b>Contribute</b></a>&nbsp;&bull;
  <a href="#credits"><b>Credits</b></a>
</p>

<p align="center">
  <a href="https://www.buymeacoffee.com/Q9C1Hnm28" target="_blank">
    <img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" />
  </a>
</p>


# Synopsis

Dragonfly is a lightweight CPython debugger designed with speed in mind.
Contrary to more traditional debuggers, like pdb, Dragonfly does not rely
heavily on tracing, allowing the target application to run at full speed in most
cases. Occasionally, tracing might be required, so that the slowdown would be
similar to that of pdb in the worst case.


# Installation

This package can be installed from PyPI with

~~~ bash
pip install --user dfly --upgrade
~~~


# Usage

To debug a Python script or application, simply prefix the command with `dfly`.
The built-in `breakpoint()` is replaced with Dragonfly's own implementation, so
that you can set breakpoints in your code by simply adding `breakpoint()` where
needed. Alternatively, if you are not using the `dfly` command, you can simply
import `dragonfly.bite` before any calls to `breakpoint` to achieve the same
effect.

Dragonfly is still in an early stage of development, so it is not yet feature
complete. However, it is already usable for the most common debugging tasks,
with some initial support for multi-threading.

If you find this tool useful, please consider starring the repository and/or
becoming a [Sponsor][sponsor] to support the development.


# Compatibility

Dragonfly is tested on Linux and macOS with Python 3.8-3.12.


# Why Dragonfly

The typical CPython debugger relies heavily, or even exclusively on tracing in
their implementation. This technique is very powerful, but it has a few
shortcomings:

- high overhead - tracing is slow, and it can slow down the target application
  by a factor of 10 or more.

- limited support for multithreading - supporting multithreading in a
  tracing-based debugger is difficult, especially in older versions of Python.

Some of these problems have been addressed in [PEP 669][pep-0669]. But whilst
the cost of monitoring has been lowered, some impact still remains. Besides,
PEP 669 is only available in Python 3.12 and later.

Dragonfly poses itself as a lightweight alternative to the traditional, and the
PEP 669-based debuggers. At its core, Dragonfly uses bytecode transformation to
implement traps. These can be injected where breakpoints are requested, and
control is then passed to the prompt. When the targeted bytecode is already
being executed, Dragonfly turns on tracing to ensure that any breakpoints can
still be hit. In this case, the performance impact can be similar to that of
tracing-based debuggers. However, this should normally be a transient situation,
and the ammortised cost of debugging should be essentially negligible.

To make this clearer, let's look at a simple example. Consider the following
code:

```python
def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)


from time import monotonic as time

start = time()
fibonacci(30)
end = time()
print(end - start)
```

When we run this without any debuggers, the reported time is of the order of
0.1 seconds.

```console
$ python3.12 -m tests.fib
0.11031840229406953
```

If we run this with pdb, without any breakpoints, the reported time is of the
order of over 3 seconds:

```console
$ python3.12 -m pdb -m tests.fib
> /tmp/fib.py(1)<module>()
-> def fibonacci(n):
(Pdb) r
3.2781156906858087
--Return--
> /tmp/fib.py(12)<module>()->None
-> print(end - start)
(Pdb) 
```

However, if we run it through Dragonfly, again without any breakpoints set, the
reported time is essentially the same as without any debugger:

```console
$ dfly -r python -m fib         
0.11001458810642362
```

## Bytecode debugging

Dragonfly can also be used to debug CPython at the bytecode level. When setting
`trace-opcodes` with `set trace-opcodes 1`, every stepping operation will be
performed at the bytecode level. The `disassemble` command can be used to
display the bytecode currently running, along with the values in the stack for
the current frame.


# Contribute

If you want to help with the development, then have a look at the open issues
and have a look at the [contributing guidelines](CONTRIBUTING.md) before you
open a pull request.

You can also contribute to the development by either [becoming a
Patron](https://www.patreon.com/bePatron?u=19221563) on Patreon, by [buying me a
coffee](https://www.buymeacoffee.com/Q9C1Hnm28) on BMC or by chipping in a few
pennies on [PayPal.Me](https://www.paypal.me/gtornetta/1).

<p align="center">
  <a href="https://www.buymeacoffee.com/Q9C1Hnm28" target="_blank">
    <img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png"
         alt="Buy Me A Coffee" />
  </a>
</p>


## Credits

Artwork by [Antea a.k.a. Aisling][aisling].


[aisling]: https://linktr.ee/ladyofshalott
[pep-0669]: https://peps.python.org/pep-0669/
[sponsor]: https://www.github.com/sponsors/P403n1x87

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dfly",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Gabriele N. Tornetta",
    "author_email": "\"Gabriele N. Tornetta\" <phoenix1987@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/f2/0f/cf62df0c764cbdecd009962c4124a237f9cce5500f7d06d85c0fabea54a3/dfly-0.2.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <br/>\n  <img src=\"art/logo.png\"\n       alt=\"Dragonfly logo\"\n       height=\"256px\" />\n  <br/>\n</p>\n\n<h3 align=\"center\">Lightweight CPython Debugger</h3>\n\n<p align=\"center\">\n  <a href=\"https://github.com/P403n1x87/dragonfly/actions?workflow=Tests\">\n    <img src=\"https://github.com/P403n1x87/dragonfly/workflows/Tests/badge.svg\"\n         alt=\"GitHub Actions: Tests\">\n  </a>\n  <a href=\"https://github.com/P403n1x87/dragonfly/actions?workflow=Checks\">\n    <img src=\"https://github.com/P403n1x87/dragonfly/workflows/Checks/badge.svg\"\n         alt=\"GitHub Actions: Checks\">\n  </a>  <a href=\"https://codecov.io/gh/P403n1x87/dragonfly\">\n    <img src=\"https://codecov.io/gh/P403n1x87/dragonfly/branch/main/graph/badge.svg\"\n         alt=\"Codecov\">\n  </a>\n  <br/>\n  <a href=\"https://pypi.org/project/dfly/\">\n    <img src=\"https://img.shields.io/pypi/v/dfly.svg\"\n         alt=\"PyPI\">\n  </a>\n  <a href=\"https://pepy.tech/project/dfly\">\n    <img src=\"https://static.pepy.tech/personalized-badge/dfly?period=total&units=international_system&left_color=grey&right_color=blue&left_text=downloads\"\n         alt=\"Downloads\" />\n  <a/>\n  <br/>\n  <a href=\"https://github.com/P403n1x87/dragonfly/blob/main/LICENSE.md\">\n    <img src=\"https://img.shields.io/badge/license-GPLv3-ff69b4.svg\"\n         alt=\"LICENSE\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#synopsis\"><b>Synopsis</b></a>&nbsp;&bull;\n  <a href=\"#installation\"><b>Installation</b></a>&nbsp;&bull;\n  <a href=\"#usage\"><b>Usage</b></a>&nbsp;&bull;\n  <a href=\"#compatibility\"><b>Compatibility</b></a>&nbsp;&bull;\n  <a href=\"#documentation\"><b>Documentation</b></a>&nbsp;&bull;\n  <a href=\"#contribute\"><b>Contribute</b></a>&nbsp;&bull;\n  <a href=\"#credits\"><b>Credits</b></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.buymeacoffee.com/Q9C1Hnm28\" target=\"_blank\">\n    <img src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" />\n  </a>\n</p>\n\n\n# Synopsis\n\nDragonfly is a lightweight CPython debugger designed with speed in mind.\nContrary to more traditional debuggers, like pdb, Dragonfly does not rely\nheavily on tracing, allowing the target application to run at full speed in most\ncases. Occasionally, tracing might be required, so that the slowdown would be\nsimilar to that of pdb in the worst case.\n\n\n# Installation\n\nThis package can be installed from PyPI with\n\n~~~ bash\npip install --user dfly --upgrade\n~~~\n\n\n# Usage\n\nTo debug a Python script or application, simply prefix the command with `dfly`.\nThe built-in `breakpoint()` is replaced with Dragonfly's own implementation, so\nthat you can set breakpoints in your code by simply adding `breakpoint()` where\nneeded. Alternatively, if you are not using the `dfly` command, you can simply\nimport `dragonfly.bite` before any calls to `breakpoint` to achieve the same\neffect.\n\nDragonfly is still in an early stage of development, so it is not yet feature\ncomplete. However, it is already usable for the most common debugging tasks,\nwith some initial support for multi-threading.\n\nIf you find this tool useful, please consider starring the repository and/or\nbecoming a [Sponsor][sponsor] to support the development.\n\n\n# Compatibility\n\nDragonfly is tested on Linux and macOS with Python 3.8-3.12.\n\n\n# Why Dragonfly\n\nThe typical CPython debugger relies heavily, or even exclusively on tracing in\ntheir implementation. This technique is very powerful, but it has a few\nshortcomings:\n\n- high overhead - tracing is slow, and it can slow down the target application\n  by a factor of 10 or more.\n\n- limited support for multithreading - supporting multithreading in a\n  tracing-based debugger is difficult, especially in older versions of Python.\n\nSome of these problems have been addressed in [PEP 669][pep-0669]. But whilst\nthe cost of monitoring has been lowered, some impact still remains. Besides,\nPEP 669 is only available in Python 3.12 and later.\n\nDragonfly poses itself as a lightweight alternative to the traditional, and the\nPEP 669-based debuggers. At its core, Dragonfly uses bytecode transformation to\nimplement traps. These can be injected where breakpoints are requested, and\ncontrol is then passed to the prompt. When the targeted bytecode is already\nbeing executed, Dragonfly turns on tracing to ensure that any breakpoints can\nstill be hit. In this case, the performance impact can be similar to that of\ntracing-based debuggers. However, this should normally be a transient situation,\nand the ammortised cost of debugging should be essentially negligible.\n\nTo make this clearer, let's look at a simple example. Consider the following\ncode:\n\n```python\ndef fibonacci(n):\n    if n < 2:\n        return n\n    return fibonacci(n - 1) + fibonacci(n - 2)\n\n\nfrom time import monotonic as time\n\nstart = time()\nfibonacci(30)\nend = time()\nprint(end - start)\n```\n\nWhen we run this without any debuggers, the reported time is of the order of\n0.1 seconds.\n\n```console\n$ python3.12 -m tests.fib\n0.11031840229406953\n```\n\nIf we run this with pdb, without any breakpoints, the reported time is of the\norder of over 3 seconds:\n\n```console\n$ python3.12 -m pdb -m tests.fib\n> /tmp/fib.py(1)<module>()\n-> def fibonacci(n):\n(Pdb) r\n3.2781156906858087\n--Return--\n> /tmp/fib.py(12)<module>()->None\n-> print(end - start)\n(Pdb) \n```\n\nHowever, if we run it through Dragonfly, again without any breakpoints set, the\nreported time is essentially the same as without any debugger:\n\n```console\n$ dfly -r python -m fib         \n0.11001458810642362\n```\n\n## Bytecode debugging\n\nDragonfly can also be used to debug CPython at the bytecode level. When setting\n`trace-opcodes` with `set trace-opcodes 1`, every stepping operation will be\nperformed at the bytecode level. The `disassemble` command can be used to\ndisplay the bytecode currently running, along with the values in the stack for\nthe current frame.\n\n\n# Contribute\n\nIf you want to help with the development, then have a look at the open issues\nand have a look at the [contributing guidelines](CONTRIBUTING.md) before you\nopen a pull request.\n\nYou can also contribute to the development by either [becoming a\nPatron](https://www.patreon.com/bePatron?u=19221563) on Patreon, by [buying me a\ncoffee](https://www.buymeacoffee.com/Q9C1Hnm28) on BMC or by chipping in a few\npennies on [PayPal.Me](https://www.paypal.me/gtornetta/1).\n\n<p align=\"center\">\n  <a href=\"https://www.buymeacoffee.com/Q9C1Hnm28\" target=\"_blank\">\n    <img src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\"\n         alt=\"Buy Me A Coffee\" />\n  </a>\n</p>\n\n\n## Credits\n\nArtwork by [Antea a.k.a. Aisling][aisling].\n\n\n[aisling]: https://linktr.ee/ladyofshalott\n[pep-0669]: https://peps.python.org/pep-0669/\n[sponsor]: https://www.github.com/sponsors/P403n1x87\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Lightweight CPython Debugger",
    "version": "0.2.1",
    "project_urls": {
        "Documentation": "https://github.com/P403n1x87/dragonfly#readme",
        "Issues": "https://github.com/P403n1x87/dragonfly/issues",
        "Source": "https://github.com/P403n1x87/dragonfly"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e357283de6b0a3deb72f6e1ba6759279a99f9aba677b0deb51037fe331507a5",
                "md5": "4f14f99871b2646b4b0e67bf36563739",
                "sha256": "53ec261d1b34b3478e332c5c2c1caeebac3a8ff2bc36c1eec298e652330a9600"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "4f14f99871b2646b4b0e67bf36563739",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 36291,
            "upload_time": "2024-03-31T22:59:04",
            "upload_time_iso_8601": "2024-03-31T22:59:04.366767Z",
            "url": "https://files.pythonhosted.org/packages/3e/35/7283de6b0a3deb72f6e1ba6759279a99f9aba677b0deb51037fe331507a5/dfly-0.2.1-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "922c788c6008ddd52a831a8d25239fbb16cf566c52f653e5e27eaaf00477d32e",
                "md5": "4740b234a49d91e69cc12abffc030e2e",
                "sha256": "d542075c5e8101a3651f6f90795cb241dffb094a7f5c6200114ad3681070b2ef"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4740b234a49d91e69cc12abffc030e2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 33464,
            "upload_time": "2024-03-31T22:59:06",
            "upload_time_iso_8601": "2024-03-31T22:59:06.314009Z",
            "url": "https://files.pythonhosted.org/packages/92/2c/788c6008ddd52a831a8d25239fbb16cf566c52f653e5e27eaaf00477d32e/dfly-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e628fe1ecf391d30c2b1c858d1668e20f1e6ff7582c2aa91ab01851d6c89999f",
                "md5": "851fecbc46f188dd38237f71c035937c",
                "sha256": "7d19284e6cdf3c7addb616174264c4c338cf77e2ff3d3a8401d073f6279d3ea2"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "851fecbc46f188dd38237f71c035937c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 33795,
            "upload_time": "2024-03-31T22:59:07",
            "upload_time_iso_8601": "2024-03-31T22:59:07.775610Z",
            "url": "https://files.pythonhosted.org/packages/e6/28/fe1ecf391d30c2b1c858d1668e20f1e6ff7582c2aa91ab01851d6c89999f/dfly-0.2.1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9ad18e5610b83e66508242a4db3756e3a8482ab442662d756199e1ce8848a2a",
                "md5": "c628cb288ff6d5068428967b40e78d59",
                "sha256": "7987d55b5d0ab2cd9b81c8335e12787ec2c6065477ce303044586f7380a6477b"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c628cb288ff6d5068428967b40e78d59",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 45372,
            "upload_time": "2024-03-31T22:59:08",
            "upload_time_iso_8601": "2024-03-31T22:59:08.745214Z",
            "url": "https://files.pythonhosted.org/packages/f9/ad/18e5610b83e66508242a4db3756e3a8482ab442662d756199e1ce8848a2a/dfly-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b39bdb8d2c586c00d1bf7148643713b6ab51004c00c015a6762a9ca5a50ce971",
                "md5": "2b2a8b5391f171d99ff974d2a2629583",
                "sha256": "24977176d74593d0a878d339e9ba57d7967dff1dd0c74e1ad8f7d31fbba07ca7"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "2b2a8b5391f171d99ff974d2a2629583",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 45825,
            "upload_time": "2024-03-31T22:59:10",
            "upload_time_iso_8601": "2024-03-31T22:59:10.353585Z",
            "url": "https://files.pythonhosted.org/packages/b3/9b/db8d2c586c00d1bf7148643713b6ab51004c00c015a6762a9ca5a50ce971/dfly-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c01fae3644a274a4c18f1ad51eea0eb12bbb652f8ebdbdec97764b8d727898d6",
                "md5": "057c0ab9ef8cb6cb6410a7ede3b18aca",
                "sha256": "c13c8368adfeb560f9136fd7586f6d6d1aea12f072a738d2793dad1ac9e14983"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "057c0ab9ef8cb6cb6410a7ede3b18aca",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 44700,
            "upload_time": "2024-03-31T22:59:11",
            "upload_time_iso_8601": "2024-03-31T22:59:11.905751Z",
            "url": "https://files.pythonhosted.org/packages/c0/1f/ae3644a274a4c18f1ad51eea0eb12bbb652f8ebdbdec97764b8d727898d6/dfly-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b6a965f04b452ee48876afcb55e3b840b6634f59fe8c00fb08b7f40dc17dc72",
                "md5": "5099ec03d016ebc1488674f32c2beb72",
                "sha256": "49b8136661db76fd2d526294530dc8154d386dd6dd93a99bac1169038ed23fb9"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5099ec03d016ebc1488674f32c2beb72",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 44365,
            "upload_time": "2024-03-31T22:59:12",
            "upload_time_iso_8601": "2024-03-31T22:59:12.804895Z",
            "url": "https://files.pythonhosted.org/packages/0b/6a/965f04b452ee48876afcb55e3b840b6634f59fe8c00fb08b7f40dc17dc72/dfly-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03acb58fecb59853192b3c20b8eb2f3ec924be0a717084870269a6f332ada919",
                "md5": "3cc820697fa1ac4a5fc4b2b2a2407987",
                "sha256": "9d8ef9d6c9ab875f22a74041f29823eb00c69c169b4f9abcd8eaa55134d07ef7"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3cc820697fa1ac4a5fc4b2b2a2407987",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 44796,
            "upload_time": "2024-03-31T22:59:14",
            "upload_time_iso_8601": "2024-03-31T22:59:14.336463Z",
            "url": "https://files.pythonhosted.org/packages/03/ac/b58fecb59853192b3c20b8eb2f3ec924be0a717084870269a6f332ada919/dfly-0.2.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cdcaaf33c6c7517394491e1dc1e641b8a146b5cdbb220a059704d923c5523869",
                "md5": "c753b91688f6d27281ccc095df062eee",
                "sha256": "11d45125f4cfeca7a02daa96bc9c046f0c3539b18fbe159127a79ec96dacc7b2"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c753b91688f6d27281ccc095df062eee",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 48524,
            "upload_time": "2024-03-31T22:59:16",
            "upload_time_iso_8601": "2024-03-31T22:59:16.222451Z",
            "url": "https://files.pythonhosted.org/packages/cd/ca/af33c6c7517394491e1dc1e641b8a146b5cdbb220a059704d923c5523869/dfly-0.2.1-cp310-cp310-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41f819594d1a7ee434373c6d8cdd34eec12ceef4b4b9a8b5e07011c734b1cd56",
                "md5": "2df9baf87aa54c10c0c1ebe78b647b53",
                "sha256": "810c1e25ff2cb210f836b13e99189a8a44a1a17feda2a5c93ef869b53a27e2c6"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-musllinux_1_1_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "2df9baf87aa54c10c0c1ebe78b647b53",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 49484,
            "upload_time": "2024-03-31T22:59:17",
            "upload_time_iso_8601": "2024-03-31T22:59:17.781089Z",
            "url": "https://files.pythonhosted.org/packages/41/f8/19594d1a7ee434373c6d8cdd34eec12ceef4b4b9a8b5e07011c734b1cd56/dfly-0.2.1-cp310-cp310-musllinux_1_1_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4c49da3609bd1900ee8bb7d4d7a6e97614b1dfa2eb2cb7993a06b5c14ce0ebb",
                "md5": "c1767732b4f6e682c2c3c8fda8d499bd",
                "sha256": "333a085e6d682eb78dca51124f96c141cf8f0f85f0ac657466d0aecf1b7c7743"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-musllinux_1_1_s390x.whl",
            "has_sig": false,
            "md5_digest": "c1767732b4f6e682c2c3c8fda8d499bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 48119,
            "upload_time": "2024-03-31T22:59:19",
            "upload_time_iso_8601": "2024-03-31T22:59:19.367898Z",
            "url": "https://files.pythonhosted.org/packages/a4/c4/9da3609bd1900ee8bb7d4d7a6e97614b1dfa2eb2cb7993a06b5c14ce0ebb/dfly-0.2.1-cp310-cp310-musllinux_1_1_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3421a284a3fb6c6e0baf9ea74462a7c2c8d08bbec7f286395b101890e2a8c804",
                "md5": "4c23a3eebe841dad3984db5bdd72ae2b",
                "sha256": "04dbeae40e860f0d4709749b5bb71e32a575f3d71cfab13d391948317a5afe41"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4c23a3eebe841dad3984db5bdd72ae2b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 48341,
            "upload_time": "2024-03-31T22:59:20",
            "upload_time_iso_8601": "2024-03-31T22:59:20.310595Z",
            "url": "https://files.pythonhosted.org/packages/34/21/a284a3fb6c6e0baf9ea74462a7c2c8d08bbec7f286395b101890e2a8c804/dfly-0.2.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aea42ad5975f5794210c95c07a71289b09d055c4d2ca4ee77e68f6acef97c21f",
                "md5": "f73a5741b9d7ea2de7a4f61854ff2398",
                "sha256": "352d21840ad8e6d4fb3eb3578e0d5d960867ea9ba8b8f89b6a0fa593f8282ddb"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f73a5741b9d7ea2de7a4f61854ff2398",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 36351,
            "upload_time": "2024-03-31T22:59:21",
            "upload_time_iso_8601": "2024-03-31T22:59:21.964513Z",
            "url": "https://files.pythonhosted.org/packages/ae/a4/2ad5975f5794210c95c07a71289b09d055c4d2ca4ee77e68f6acef97c21f/dfly-0.2.1-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f3260633de8cf258b1bd2a68f54161690c13f59f971022ed2b75f5d5515c7e0",
                "md5": "d23f8624bd9b9910ed7668206e648227",
                "sha256": "85b7fca6e36a5bbf509e1fa5e79fa0594f546cb26c36b7497ca01a101bfd26c2"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d23f8624bd9b9910ed7668206e648227",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 33501,
            "upload_time": "2024-03-31T22:59:23",
            "upload_time_iso_8601": "2024-03-31T22:59:23.535292Z",
            "url": "https://files.pythonhosted.org/packages/8f/32/60633de8cf258b1bd2a68f54161690c13f59f971022ed2b75f5d5515c7e0/dfly-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d45ebc9f3e0eab0904736bc6f3a8e8f862a522e512094cc2ec1c8f6c587c8eae",
                "md5": "9d5a83b678fbfaefaf09cacbc14e258e",
                "sha256": "4d7b691fdf43329f06a94a9c97df7f54679d9da34863137b05fb235008547a2e"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9d5a83b678fbfaefaf09cacbc14e258e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 33819,
            "upload_time": "2024-03-31T22:59:24",
            "upload_time_iso_8601": "2024-03-31T22:59:24.452786Z",
            "url": "https://files.pythonhosted.org/packages/d4/5e/bc9f3e0eab0904736bc6f3a8e8f862a522e512094cc2ec1c8f6c587c8eae/dfly-0.2.1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "971fcfb7549e3cd19873b9f2d6ee94d0ed9d01406ec1e9926e21be66b5b88433",
                "md5": "5a4bf4c4df0f8ecce3730908cf0eebd8",
                "sha256": "e33738fae336d2c6aaf9b12111b4ae7d63d994b297cdb32766e9027d1e8f1b5f"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5a4bf4c4df0f8ecce3730908cf0eebd8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 62658,
            "upload_time": "2024-03-31T22:59:25",
            "upload_time_iso_8601": "2024-03-31T22:59:25.334926Z",
            "url": "https://files.pythonhosted.org/packages/97/1f/cfb7549e3cd19873b9f2d6ee94d0ed9d01406ec1e9926e21be66b5b88433/dfly-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c6f4d968cf69fe51560029a067335771d48ed797524ed0210d23df9048cf67f",
                "md5": "ec025b8ce23e4e361aee8ee755bd9192",
                "sha256": "4a1cd8def9494c2927a04ed5969e0a8b7a8fd1deeb05788e00fc722e6bd70ed4"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "ec025b8ce23e4e361aee8ee755bd9192",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 63177,
            "upload_time": "2024-03-31T22:59:26",
            "upload_time_iso_8601": "2024-03-31T22:59:26.919012Z",
            "url": "https://files.pythonhosted.org/packages/0c/6f/4d968cf69fe51560029a067335771d48ed797524ed0210d23df9048cf67f/dfly-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "888928250935f558116d13c7454898b2afff63f44b9d634393d028362705f24e",
                "md5": "2db781c68dd0c5687d376d20d3bc4268",
                "sha256": "554fa2616ee068acb83338782638f252f8304e36c6cf9fc7950460c380ace7b6"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "2db781c68dd0c5687d376d20d3bc4268",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 61746,
            "upload_time": "2024-03-31T22:59:28",
            "upload_time_iso_8601": "2024-03-31T22:59:28.664530Z",
            "url": "https://files.pythonhosted.org/packages/88/89/28250935f558116d13c7454898b2afff63f44b9d634393d028362705f24e/dfly-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c6928e48fca2c515d196fe508f668946d1627ee01f969e636d9d38a50a65eab",
                "md5": "fab65bda833a3a1aabbd5be297c82d6f",
                "sha256": "95ed5a3f4b42516271f6f6edabf60f7df6235b0daef02d6267922e291ff9b3a1"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "fab65bda833a3a1aabbd5be297c82d6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 61830,
            "upload_time": "2024-03-31T22:59:30",
            "upload_time_iso_8601": "2024-03-31T22:59:30.303536Z",
            "url": "https://files.pythonhosted.org/packages/2c/69/28e48fca2c515d196fe508f668946d1627ee01f969e636d9d38a50a65eab/dfly-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dfcca492d76f34fdd2db05383e4515f58bc6ce0a79fd5d6d7104995b9be4ea1c",
                "md5": "b4dd27dff32a1b980fdebb774d7ae90a",
                "sha256": "6598b6c7f7c4176e3d387da26a81ac4c220aaa6d6f0256448e676420786b10e7"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b4dd27dff32a1b980fdebb774d7ae90a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 62175,
            "upload_time": "2024-03-31T22:59:31",
            "upload_time_iso_8601": "2024-03-31T22:59:31.246788Z",
            "url": "https://files.pythonhosted.org/packages/df/cc/a492d76f34fdd2db05383e4515f58bc6ce0a79fd5d6d7104995b9be4ea1c/dfly-0.2.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "babd3e6eb4b7157c6dd2322c24a92e2c170a799f6148ccb82f2def0f8cbf62b4",
                "md5": "1b94da65a885f98b806c6bcf830a4149",
                "sha256": "8ab79c974b26d7d9ff00f9ef8268a832365ba69476902ccc7276f92e4e765d1b"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1b94da65a885f98b806c6bcf830a4149",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 66180,
            "upload_time": "2024-03-31T22:59:32",
            "upload_time_iso_8601": "2024-03-31T22:59:32.258304Z",
            "url": "https://files.pythonhosted.org/packages/ba/bd/3e6eb4b7157c6dd2322c24a92e2c170a799f6148ccb82f2def0f8cbf62b4/dfly-0.2.1-cp311-cp311-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39ee7408162209a110ca2a9d47d19388c8a692623fef68447a2050e4f77b3294",
                "md5": "d38ba5e3fc1de72e4f87111ebc45c342",
                "sha256": "22dbc8e74ca99f246666f65fa90ccdc4bdeed5325aac7b8679a09e227d5d4f74"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-musllinux_1_1_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "d38ba5e3fc1de72e4f87111ebc45c342",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 67099,
            "upload_time": "2024-03-31T22:59:33",
            "upload_time_iso_8601": "2024-03-31T22:59:33.268150Z",
            "url": "https://files.pythonhosted.org/packages/39/ee/7408162209a110ca2a9d47d19388c8a692623fef68447a2050e4f77b3294/dfly-0.2.1-cp311-cp311-musllinux_1_1_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4467484bf57b0f3b7424b66293f9be5dc4d26246a48eb943ac4ff250aafca8f8",
                "md5": "1c1ad83d5e63d8fa9631f113b1658319",
                "sha256": "d62f07bcc1f72646ca12dddd79461d23d416b04a96f401b2c54ed69e675d2515"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-musllinux_1_1_s390x.whl",
            "has_sig": false,
            "md5_digest": "1c1ad83d5e63d8fa9631f113b1658319",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 65368,
            "upload_time": "2024-03-31T22:59:34",
            "upload_time_iso_8601": "2024-03-31T22:59:34.885754Z",
            "url": "https://files.pythonhosted.org/packages/44/67/484bf57b0f3b7424b66293f9be5dc4d26246a48eb943ac4ff250aafca8f8/dfly-0.2.1-cp311-cp311-musllinux_1_1_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44c4c4896b76c12120755bbe143cd032dc5dd4e1bc9ce92a663c725f98cf588a",
                "md5": "bcac02dec172316e803ced73e90974fc",
                "sha256": "154ba55d1662cbae28856207c06dbaba3076c0099168a6a2f6fbbc63c9b0c480"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bcac02dec172316e803ced73e90974fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 65942,
            "upload_time": "2024-03-31T22:59:35",
            "upload_time_iso_8601": "2024-03-31T22:59:35.889941Z",
            "url": "https://files.pythonhosted.org/packages/44/c4/c4896b76c12120755bbe143cd032dc5dd4e1bc9ce92a663c725f98cf588a/dfly-0.2.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9df32003b05bbbfdd2a7636b84e8e677b6e53406aa7fee8081f54a4d4a9f21ca",
                "md5": "19269703ad7edde871f459e68fd1093b",
                "sha256": "70ae10ffa4c03c291d263eb8c451d7d712ddc48518a560f3938a5e03f16850fd"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "19269703ad7edde871f459e68fd1093b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 35531,
            "upload_time": "2024-03-31T22:59:36",
            "upload_time_iso_8601": "2024-03-31T22:59:36.852083Z",
            "url": "https://files.pythonhosted.org/packages/9d/f3/2003b05bbbfdd2a7636b84e8e677b6e53406aa7fee8081f54a4d4a9f21ca/dfly-0.2.1-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b115115939467c0fe2bda8980f0dedf29bfaf5a0039988e4f5c532a7ce7d57b",
                "md5": "7fedfd9cc5291c017a6b2c0184a1d235",
                "sha256": "ce916289031344e6549a8aba95a351c05ab6c05724eb45593bf494a83de4535e"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7fedfd9cc5291c017a6b2c0184a1d235",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 33103,
            "upload_time": "2024-03-31T22:59:37",
            "upload_time_iso_8601": "2024-03-31T22:59:37.787797Z",
            "url": "https://files.pythonhosted.org/packages/7b/11/5115939467c0fe2bda8980f0dedf29bfaf5a0039988e4f5c532a7ce7d57b/dfly-0.2.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1718ffc57f8d3be10c41e2ebbb56da6251aeae69c55a6aaa657bfda6ddf4e33",
                "md5": "e2596a1a4e707a8384deb3aa285a7828",
                "sha256": "6cf59f49796f7e3f2bf0943cf4eb98837d5dc4fb2abf4903eb73befd5d9d022b"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e2596a1a4e707a8384deb3aa285a7828",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 33389,
            "upload_time": "2024-03-31T22:59:38",
            "upload_time_iso_8601": "2024-03-31T22:59:38.680736Z",
            "url": "https://files.pythonhosted.org/packages/b1/71/8ffc57f8d3be10c41e2ebbb56da6251aeae69c55a6aaa657bfda6ddf4e33/dfly-0.2.1-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3b526efa9cf6998a7239dcbf64cb74e5e3577539e6e3653f92072e9db978d217",
                "md5": "113d2510e697d749e018a853b7a4ed4e",
                "sha256": "59dbc7935f9a98ff4f544a1342d5d83bda419618435043add815d32cd4b632fe"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "113d2510e697d749e018a853b7a4ed4e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 42727,
            "upload_time": "2024-03-31T22:59:40",
            "upload_time_iso_8601": "2024-03-31T22:59:40.196063Z",
            "url": "https://files.pythonhosted.org/packages/3b/52/6efa9cf6998a7239dcbf64cb74e5e3577539e6e3653f92072e9db978d217/dfly-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27c1177c34e431badf7f1e92d832f381d95f733c42cdd02d919ce3b1bd6cd0d8",
                "md5": "070d53c9d6f4368a15bcefdae8e71464",
                "sha256": "69a5d733d6f5e62128e24ef1b0ff36c772fadedb5ccdaf260a407089aab11f56"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "070d53c9d6f4368a15bcefdae8e71464",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 42938,
            "upload_time": "2024-03-31T22:59:41",
            "upload_time_iso_8601": "2024-03-31T22:59:41.151133Z",
            "url": "https://files.pythonhosted.org/packages/27/c1/177c34e431badf7f1e92d832f381d95f733c42cdd02d919ce3b1bd6cd0d8/dfly-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34cc42410c0f4a1b75f93fa451733efed1a744f20215696364180fc39428af5c",
                "md5": "44159c60c532fb23cae6b01c044fbe0f",
                "sha256": "a873962534a3e2c2a746fcf4c62253d3234b27158a4366f0df5f8010a5562448"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "44159c60c532fb23cae6b01c044fbe0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 42157,
            "upload_time": "2024-03-31T22:59:42",
            "upload_time_iso_8601": "2024-03-31T22:59:42.077339Z",
            "url": "https://files.pythonhosted.org/packages/34/cc/42410c0f4a1b75f93fa451733efed1a744f20215696364180fc39428af5c/dfly-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1591239fc1829a709494af26c4b8f42406b6e7db35653d5403ae30ca56546e7",
                "md5": "c1f86d8d4d157663e2651ef169803945",
                "sha256": "c3b12e0ac9d9ef84627d166dbf85b63c85c96f3917b2138a377636a1769e7e18"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "c1f86d8d4d157663e2651ef169803945",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 41705,
            "upload_time": "2024-03-31T22:59:43",
            "upload_time_iso_8601": "2024-03-31T22:59:43.270609Z",
            "url": "https://files.pythonhosted.org/packages/f1/59/1239fc1829a709494af26c4b8f42406b6e7db35653d5403ae30ca56546e7/dfly-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "287385da07ec5ac9c19554f9791793c748a73af4d839a16b3783afc0340aad26",
                "md5": "a39f11e59e121cdf484f399eb720ef64",
                "sha256": "08992de9fb55d7d897e4759b7e14dd4defbca3ea0af5826ecd29c68a02871ebe"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a39f11e59e121cdf484f399eb720ef64",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 42133,
            "upload_time": "2024-03-31T22:59:44",
            "upload_time_iso_8601": "2024-03-31T22:59:44.791692Z",
            "url": "https://files.pythonhosted.org/packages/28/73/85da07ec5ac9c19554f9791793c748a73af4d839a16b3783afc0340aad26/dfly-0.2.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a983054d917d555b718cbde878ffcf1a1eba3539285cf17aecb836ab2fdd95dc",
                "md5": "fc94351456366fd03e3c360d673579cd",
                "sha256": "79415698854ddfdfab024c34516385ee6ea67aeb6868c9ac938bf30fd7e49962"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fc94351456366fd03e3c360d673579cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 47266,
            "upload_time": "2024-03-31T22:59:45",
            "upload_time_iso_8601": "2024-03-31T22:59:45.665306Z",
            "url": "https://files.pythonhosted.org/packages/a9/83/054d917d555b718cbde878ffcf1a1eba3539285cf17aecb836ab2fdd95dc/dfly-0.2.1-cp312-cp312-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2540e464b9db444e8650d12eae41ee03553d45d9cd7682c5fc71797c686c46d6",
                "md5": "2845b1e7fb860a196060f947d633f4f5",
                "sha256": "f9b487df648d2711bf3a4b79ba641af3642877796afc75534c574064d27bf05f"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-musllinux_1_1_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "2845b1e7fb860a196060f947d633f4f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 47973,
            "upload_time": "2024-03-31T22:59:47",
            "upload_time_iso_8601": "2024-03-31T22:59:47.239662Z",
            "url": "https://files.pythonhosted.org/packages/25/40/e464b9db444e8650d12eae41ee03553d45d9cd7682c5fc71797c686c46d6/dfly-0.2.1-cp312-cp312-musllinux_1_1_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "190ec0d621d6f6db4fd56fe8dc15e5068a7ff119a24ae657ef2679f88bd57ffb",
                "md5": "ea4ee946e77562ecfb979aff555f7a3f",
                "sha256": "244eac5649ac92334dbe1be6bfcb2e368ec464c3055dd9eebcdaaa8e0a7e29ce"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-musllinux_1_1_s390x.whl",
            "has_sig": false,
            "md5_digest": "ea4ee946e77562ecfb979aff555f7a3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 46893,
            "upload_time": "2024-03-31T22:59:48",
            "upload_time_iso_8601": "2024-03-31T22:59:48.186893Z",
            "url": "https://files.pythonhosted.org/packages/19/0e/c0d621d6f6db4fd56fe8dc15e5068a7ff119a24ae657ef2679f88bd57ffb/dfly-0.2.1-cp312-cp312-musllinux_1_1_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "602c36fd9b65d6ab65e22499e4302dbbed3833e5fa3ad265dc37022eb6bf3838",
                "md5": "8becae2c655a83ce38a7c87dbefd46f6",
                "sha256": "bbff3d5b27024f4cebc2e2c250263c9fc478c3c9c05a3891c091c66555a301a8"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8becae2c655a83ce38a7c87dbefd46f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 47083,
            "upload_time": "2024-03-31T22:59:49",
            "upload_time_iso_8601": "2024-03-31T22:59:49.111206Z",
            "url": "https://files.pythonhosted.org/packages/60/2c/36fd9b65d6ab65e22499e4302dbbed3833e5fa3ad265dc37022eb6bf3838/dfly-0.2.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "73387072745d211e4c4e689547037e9e228be31c043db33f04ae9faf4b2f224c",
                "md5": "e7f350f3dfabcb01307cefbf5fded1e0",
                "sha256": "5730676c8f09dbfa2ddda0b446c839a047fe14d0baadc203efabc54723d7e475"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "e7f350f3dfabcb01307cefbf5fded1e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 36596,
            "upload_time": "2024-03-31T22:59:50",
            "upload_time_iso_8601": "2024-03-31T22:59:50.107972Z",
            "url": "https://files.pythonhosted.org/packages/73/38/7072745d211e4c4e689547037e9e228be31c043db33f04ae9faf4b2f224c/dfly-0.2.1-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a8a2d832a574b14a9ff4ff8b35ad81df724e6a720b52350b94886ce6914642b",
                "md5": "537014150b37d14a430d26e1f3998c66",
                "sha256": "a1c986047a28c6d7791e9ee9e60dd077e918bc42a3b6c5051afff4e1f7df62d6"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "537014150b37d14a430d26e1f3998c66",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 33624,
            "upload_time": "2024-03-31T22:59:51",
            "upload_time_iso_8601": "2024-03-31T22:59:51.054808Z",
            "url": "https://files.pythonhosted.org/packages/5a/8a/2d832a574b14a9ff4ff8b35ad81df724e6a720b52350b94886ce6914642b/dfly-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92ec7bb811db16d5c4024138ef3a229415c9041093b73e420574ed90b4d1c7b8",
                "md5": "ea44763957ef728e072ed7fa14d8f68d",
                "sha256": "7fd2613df034aa4c36df53dd3bba45908862d9152338674d470d649cdd086d67"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ea44763957ef728e072ed7fa14d8f68d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 33924,
            "upload_time": "2024-03-31T22:59:51",
            "upload_time_iso_8601": "2024-03-31T22:59:51.977015Z",
            "url": "https://files.pythonhosted.org/packages/92/ec/7bb811db16d5c4024138ef3a229415c9041093b73e420574ed90b4d1c7b8/dfly-0.2.1-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a2875093838001f1282bc92a473354cd7382e0419cc15b20b82a3b9e77f33e3",
                "md5": "8028241ea1ee92977d76c8138b3e112f",
                "sha256": "202566594e9ea53d2545b2b2a6cd658dc7d6d2889ec7218c7626ad9fcf5f4587"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8028241ea1ee92977d76c8138b3e112f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 49170,
            "upload_time": "2024-03-31T22:59:53",
            "upload_time_iso_8601": "2024-03-31T22:59:53.519384Z",
            "url": "https://files.pythonhosted.org/packages/0a/28/75093838001f1282bc92a473354cd7382e0419cc15b20b82a3b9e77f33e3/dfly-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "baca1b59fc59945fe42f1966537bc170f67bde92e29e99b0a393bf22f6786440",
                "md5": "22f829f200a065176c66b3e1a1e9ffe0",
                "sha256": "66a893357fa4f6ca3c7d4a6e19e943b463f7ebad08e01fb20c398a3420f9bcb9"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "22f829f200a065176c66b3e1a1e9ffe0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 49737,
            "upload_time": "2024-03-31T22:59:55",
            "upload_time_iso_8601": "2024-03-31T22:59:55.055996Z",
            "url": "https://files.pythonhosted.org/packages/ba/ca/1b59fc59945fe42f1966537bc170f67bde92e29e99b0a393bf22f6786440/dfly-0.2.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd9180a37e1a93ec37584ccd529a3aa0775aa799b2f083d9e1f9f4f957130306",
                "md5": "2699a411414bc6407755da497ba1b2e7",
                "sha256": "d97e0d41276665a952c5a18b788e13b0c1c19e3c0faccfd8b7df2ba4a62f6359"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "2699a411414bc6407755da497ba1b2e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 48503,
            "upload_time": "2024-03-31T22:59:56",
            "upload_time_iso_8601": "2024-03-31T22:59:56.551578Z",
            "url": "https://files.pythonhosted.org/packages/bd/91/80a37e1a93ec37584ccd529a3aa0775aa799b2f083d9e1f9f4f957130306/dfly-0.2.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8c059052ec879dff0a60cd3ad2dd1a4487b7ac87ebe39d27129079d09d2e44f",
                "md5": "3f3f5f1dcc9b3ca8cddc6f7fd0b4dabb",
                "sha256": "3b0692c3c0204177001bdd466109888f099ebe0dbe88c275638147e9b7b2e6ea"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "3f3f5f1dcc9b3ca8cddc6f7fd0b4dabb",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 48060,
            "upload_time": "2024-03-31T22:59:57",
            "upload_time_iso_8601": "2024-03-31T22:59:57.550226Z",
            "url": "https://files.pythonhosted.org/packages/a8/c0/59052ec879dff0a60cd3ad2dd1a4487b7ac87ebe39d27129079d09d2e44f/dfly-0.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48194412b2c941af270a410c6bec304fd50bc52d0de20418af1af6de7091ea15",
                "md5": "e073e2d643647bf90dc200c97a2f6dbe",
                "sha256": "c8a6db1a961594d86722adef9440da661a9c89f9ffae5efc0c893c3dd24d621c"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e073e2d643647bf90dc200c97a2f6dbe",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 48530,
            "upload_time": "2024-03-31T22:59:58",
            "upload_time_iso_8601": "2024-03-31T22:59:58.580669Z",
            "url": "https://files.pythonhosted.org/packages/48/19/4412b2c941af270a410c6bec304fd50bc52d0de20418af1af6de7091ea15/dfly-0.2.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25c107db3ba8b355e734bd61f7dacd897b1f7b1afb9fcdce379cd8a1ea72e945",
                "md5": "bdddb5e4ebcb9fa601da61f8e32e73b4",
                "sha256": "494ee155f9dfd1d051058146f8f6886eefbb1589cd2710c5b419bcad195af824"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bdddb5e4ebcb9fa601da61f8e32e73b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 52233,
            "upload_time": "2024-03-31T22:59:59",
            "upload_time_iso_8601": "2024-03-31T22:59:59.598061Z",
            "url": "https://files.pythonhosted.org/packages/25/c1/07db3ba8b355e734bd61f7dacd897b1f7b1afb9fcdce379cd8a1ea72e945/dfly-0.2.1-cp38-cp38-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c273ac1c4e72f057f82cdea8b170bc8828f0aa73e601ac67afb263cdbe752d08",
                "md5": "e07cb77eba0426076c955f085f01fed0",
                "sha256": "5ab53f6df588f3ade7a1650524ab99dbe0a01c316e1118740ca5d8bc15ae48da"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-musllinux_1_1_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "e07cb77eba0426076c955f085f01fed0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 53243,
            "upload_time": "2024-03-31T23:00:00",
            "upload_time_iso_8601": "2024-03-31T23:00:00.879863Z",
            "url": "https://files.pythonhosted.org/packages/c2/73/ac1c4e72f057f82cdea8b170bc8828f0aa73e601ac67afb263cdbe752d08/dfly-0.2.1-cp38-cp38-musllinux_1_1_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0c508a5e2906975afe86623ed94d660e63f205977ba83af0a861c570b9c6978",
                "md5": "0259df9d4ea8e24f38e50ecde15d1eea",
                "sha256": "78373f0108e3148d07714818350c30a90514ceedf3c658a3ecbd3d8bfd14c518"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-musllinux_1_1_s390x.whl",
            "has_sig": false,
            "md5_digest": "0259df9d4ea8e24f38e50ecde15d1eea",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 51760,
            "upload_time": "2024-03-31T23:00:02",
            "upload_time_iso_8601": "2024-03-31T23:00:02.876885Z",
            "url": "https://files.pythonhosted.org/packages/a0/c5/08a5e2906975afe86623ed94d660e63f205977ba83af0a861c570b9c6978/dfly-0.2.1-cp38-cp38-musllinux_1_1_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d51d1312a79600e4830866ab2057ae7c2dc1cbf07fda5306d0b104f81712fdc4",
                "md5": "b0822ec894d227ada7658ce7d3dc909d",
                "sha256": "7f82ffc083998d49508507d1f068c6b10809999600136be2b22c92965cc311ae"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b0822ec894d227ada7658ce7d3dc909d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 51931,
            "upload_time": "2024-03-31T23:00:04",
            "upload_time_iso_8601": "2024-03-31T23:00:04.892424Z",
            "url": "https://files.pythonhosted.org/packages/d5/1d/1312a79600e4830866ab2057ae7c2dc1cbf07fda5306d0b104f81712fdc4/dfly-0.2.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "460196abc904fb3133f59c8a0774e3a8f378fec2bb472afe8a60f626e68a9be5",
                "md5": "34051337f92e0a2bc18dce61f3b360bc",
                "sha256": "d79c36b3a4ca2f635a144ab9559f3773e99137a74ddc192609b78c7f2cf9d085"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "34051337f92e0a2bc18dce61f3b360bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 36316,
            "upload_time": "2024-03-31T23:00:06",
            "upload_time_iso_8601": "2024-03-31T23:00:06.238281Z",
            "url": "https://files.pythonhosted.org/packages/46/01/96abc904fb3133f59c8a0774e3a8f378fec2bb472afe8a60f626e68a9be5/dfly-0.2.1-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bdc4814c26679e216442474ab6dd2c0231ef70af8b93a31cfed2a45e006c4e4",
                "md5": "f5031a5c997d60aa0f9b7e1b5153fb15",
                "sha256": "94e534216a22c3a5ebe40df8a484562c361d5ae54cc0c3d732df9210a682454a"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f5031a5c997d60aa0f9b7e1b5153fb15",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 33475,
            "upload_time": "2024-03-31T23:00:07",
            "upload_time_iso_8601": "2024-03-31T23:00:07.466786Z",
            "url": "https://files.pythonhosted.org/packages/8b/dc/4814c26679e216442474ab6dd2c0231ef70af8b93a31cfed2a45e006c4e4/dfly-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28dac44e834b796ea8c7c9311162b2ff3f8a87639acd9c61e87e306230836eb6",
                "md5": "8bb19cfd78c40c50a814a42bd2a0cf15",
                "sha256": "cd949ef298552b8182c5d83d46dfc464c063d0d5fc3ff4453fe5fcbb054e12e2"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8bb19cfd78c40c50a814a42bd2a0cf15",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 33801,
            "upload_time": "2024-03-31T23:00:08",
            "upload_time_iso_8601": "2024-03-31T23:00:08.678490Z",
            "url": "https://files.pythonhosted.org/packages/28/da/c44e834b796ea8c7c9311162b2ff3f8a87639acd9c61e87e306230836eb6/dfly-0.2.1-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d826e6fa7e535acbb1429488e9deccdfec23dbe21618216754f7deb39eb6bfb",
                "md5": "37c4753aa0e4b8cd831afb2fc78546cd",
                "sha256": "4af5612e89760bea7c75d773e9b2d81bc33034e1d8f8c83a514e7b391df8710f"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "37c4753aa0e4b8cd831afb2fc78546cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 45045,
            "upload_time": "2024-03-31T23:00:09",
            "upload_time_iso_8601": "2024-03-31T23:00:09.734629Z",
            "url": "https://files.pythonhosted.org/packages/0d/82/6e6fa7e535acbb1429488e9deccdfec23dbe21618216754f7deb39eb6bfb/dfly-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37cf7de4770e2b0eaba0fbee32b3d2268c7a7ab1205078427f3dec2b2102d677",
                "md5": "cafc1179d87b38feb2601e4a1d01e22a",
                "sha256": "8e76d34811ba975853da89737b0e76dfdde4e38997d7d3d6d55bcc891f7dc789"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "cafc1179d87b38feb2601e4a1d01e22a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 45481,
            "upload_time": "2024-03-31T23:00:11",
            "upload_time_iso_8601": "2024-03-31T23:00:11.112617Z",
            "url": "https://files.pythonhosted.org/packages/37/cf/7de4770e2b0eaba0fbee32b3d2268c7a7ab1205078427f3dec2b2102d677/dfly-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0add065d56cf6f73f3169c5b7d25cfc18d208f6a3864836c33ca5d75ad8a8dc9",
                "md5": "2becf39cf1da6a8d31baab81a09d2ae3",
                "sha256": "0aae31e6a8ef6379ef22fe93cf0637e83918e1be7b4d3dab8813ceaf964ec0d4"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "2becf39cf1da6a8d31baab81a09d2ae3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 44400,
            "upload_time": "2024-03-31T23:00:12",
            "upload_time_iso_8601": "2024-03-31T23:00:12.735596Z",
            "url": "https://files.pythonhosted.org/packages/0a/dd/065d56cf6f73f3169c5b7d25cfc18d208f6a3864836c33ca5d75ad8a8dc9/dfly-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "24c4f7000e6acde520c84b5e9f47c4dd2743d1deada5c059a196e97389e6c12a",
                "md5": "2abec37d03c45be90962bebcea15c942",
                "sha256": "b9e23bb0e5781aeddd799d644faaeab40a0775716f11a6a8fa4e5355aaa7b44a"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "2abec37d03c45be90962bebcea15c942",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 43999,
            "upload_time": "2024-03-31T23:00:13",
            "upload_time_iso_8601": "2024-03-31T23:00:13.990358Z",
            "url": "https://files.pythonhosted.org/packages/24/c4/f7000e6acde520c84b5e9f47c4dd2743d1deada5c059a196e97389e6c12a/dfly-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eb491c8e82996a781c167c8e52e07df428f69efa021fd1fde8391c9684553160",
                "md5": "61380cb60eaab15aae486df2f8c6a81c",
                "sha256": "fd7855d9cadb93cbdeed375b448844dc3a181e93176d68382a1d58408b857b38"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "61380cb60eaab15aae486df2f8c6a81c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 44429,
            "upload_time": "2024-03-31T23:00:15",
            "upload_time_iso_8601": "2024-03-31T23:00:15.242519Z",
            "url": "https://files.pythonhosted.org/packages/eb/49/1c8e82996a781c167c8e52e07df428f69efa021fd1fde8391c9684553160/dfly-0.2.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58ab1c475fd9acbe71e836f94fa37d0b19a3277b1b740d7522529a9563a6778d",
                "md5": "21b6b83fb32076c974ac638243ceffbf",
                "sha256": "38bb723d37c7726ff547dd4dcb82c195759a20cf287870217895c464f1d9fe60"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "21b6b83fb32076c974ac638243ceffbf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 48212,
            "upload_time": "2024-03-31T23:00:16",
            "upload_time_iso_8601": "2024-03-31T23:00:16.425268Z",
            "url": "https://files.pythonhosted.org/packages/58/ab/1c475fd9acbe71e836f94fa37d0b19a3277b1b740d7522529a9563a6778d/dfly-0.2.1-cp39-cp39-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26a1273df4e6c9e30e370e2f29d55a5bc268dae6972d69fe3401b80b02464953",
                "md5": "07cfa2cce6aa9312fcf36848904ef97f",
                "sha256": "489c1347562afe64b31568ae2621844650267946c067a9577ead9ca47847d3d1"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-musllinux_1_1_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "07cfa2cce6aa9312fcf36848904ef97f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 49219,
            "upload_time": "2024-03-31T23:00:17",
            "upload_time_iso_8601": "2024-03-31T23:00:17.719688Z",
            "url": "https://files.pythonhosted.org/packages/26/a1/273df4e6c9e30e370e2f29d55a5bc268dae6972d69fe3401b80b02464953/dfly-0.2.1-cp39-cp39-musllinux_1_1_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f912012932d5e72188ac1790869f90de1ac88b39da29d3596efb01b6fd8c3d80",
                "md5": "d4b200bbbe193376960bab6c53eda5c6",
                "sha256": "d236b04606dacba69bf4ad808e047191761676b057c18c329bc678bd8c98d33f"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-musllinux_1_1_s390x.whl",
            "has_sig": false,
            "md5_digest": "d4b200bbbe193376960bab6c53eda5c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 47841,
            "upload_time": "2024-03-31T23:00:19",
            "upload_time_iso_8601": "2024-03-31T23:00:19.235542Z",
            "url": "https://files.pythonhosted.org/packages/f9/12/012932d5e72188ac1790869f90de1ac88b39da29d3596efb01b6fd8c3d80/dfly-0.2.1-cp39-cp39-musllinux_1_1_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15cf9202abb03481bf8f30565e07cbe7511a1ec4791fa58ce2a6cbd49237fbbe",
                "md5": "569ced50456eb181de1cd2de4859b176",
                "sha256": "9eac9e2d3c76888035b82d44b606173c56ac53d46c946d76ab79ab0639aa3fc6"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "569ced50456eb181de1cd2de4859b176",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 47989,
            "upload_time": "2024-03-31T23:00:20",
            "upload_time_iso_8601": "2024-03-31T23:00:20.868195Z",
            "url": "https://files.pythonhosted.org/packages/15/cf/9202abb03481bf8f30565e07cbe7511a1ec4791fa58ce2a6cbd49237fbbe/dfly-0.2.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f20fcf62df0c764cbdecd009962c4124a237f9cce5500f7d06d85c0fabea54a3",
                "md5": "3b2a56a662de199223521602744783e7",
                "sha256": "2faaa9b95b2d3b6768e40f126819baed625f7bbd1728421ba88ff8926aafe17d"
            },
            "downloads": -1,
            "filename": "dfly-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3b2a56a662de199223521602744783e7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8049689,
            "upload_time": "2024-03-31T23:00:22",
            "upload_time_iso_8601": "2024-03-31T23:00:22.705663Z",
            "url": "https://files.pythonhosted.org/packages/f2/0f/cf62df0c764cbdecd009962c4124a237f9cce5500f7d06d85c0fabea54a3/dfly-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-31 23:00:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "P403n1x87",
    "github_project": "dragonfly#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dfly"
}
        
Elapsed time: 0.47871s