yappi


Nameyappi JSON
Version 1.5.1 PyPI version JSON
download
home_pagehttps://github.com/sumerc/yappi
SummaryYet Another Python Profiler
upload_time2023-12-06 08:49:11
maintainer
docs_urlNone
authorSümer Cip
requires_python
licenseMIT
keywords python thread multithread asyncio gevent profiler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
    <img src="https://raw.githubusercontent.com/sumerc/yappi/master/Misc/logo.png" alt="yappi">
</p>

<h1 align="center">Yappi</h1>
<p align="center">
    A tracing profiler that is <b>multithreading, asyncio and gevent</b> aware.
</p>

[![FreePalestine.Dev](https://freepalestine.dev/header/1)](https://freepalestine.dev)

<p align="center">
    <img src="https://github.com/sumerc/yappi/workflows/CI/badge.svg?branch=master">
    <img src="https://img.shields.io/pypi/v/yappi.svg">
    <img src="https://img.shields.io/pypi/dw/yappi.svg">
    <img src="https://img.shields.io/pypi/pyversions/yappi.svg">
    <img src="https://img.shields.io/github/last-commit/sumerc/yappi.svg">
    <img src="https://img.shields.io/github/license/sumerc/yappi.svg">
    <a href="https://freepalestine.dev"><img src="https://freepalestine.dev/badge?t=d&u=0&r=1" alt="From the river to the sea, Palestine will be free" /></a>
</p>

## Highlights

- **Fast**: Yappi is fast. It is completely written in C and lots of love and care went into making it fast.
- **Unique**: Yappi supports multithreaded, [asyncio](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md) and [gevent](https://github.com/sumerc/yappi/blob/master/doc/greenlet-profiling.md) profiling. Tagging/filtering multiple profiler results has interesting [use cases](https://github.com/sumerc/yappi/blob/master/doc/api.md#set_tag_callback).
- **Intuitive**: Profiler can be started/stopped and results can be obtained from any time and any thread.
- **Standards Compliant**: Profiler results can be saved in [callgrind](http://valgrind.org/docs/manual/cl-format.html) or [pstat](http://docs.python.org/3.4/library/profile.html#pstats.Stats) formats.
- **Rich in Feature set**: Profiler results can show either [Wall Time](https://en.wikipedia.org/wiki/Elapsed_real_time) or actual [CPU Time](http://en.wikipedia.org/wiki/CPU_time) and can be aggregated from different sessions. Various flags are defined for filtering and sorting profiler results.
- **Robust**: Yappi has been around for years.

## Motivation

CPython standard distribution comes with three deterministic profilers. `cProfile`, `Profile` and `hotshot`. `cProfile` is implemented as a C module based on `lsprof`, `Profile` is in pure Python and `hotshot` can be seen as a small subset of a cProfile. The major issue is that all of these profilers lack support for multi-threaded programs and CPU time.

If you want to profile a  multi-threaded application, you must give an entry point to these profilers and then maybe merge the outputs. None of these profilers are designed to work on long-running multi-threaded applications. It is also not possible to profile an application that start/stop/retrieve traces on the fly with these profilers. 

Now fast forwarding to 2019: With the latest improvements on `asyncio` library and asynchronous frameworks, most of the current profilers lacks the ability to show correct wall/cpu time or even call count information per-coroutine. Thus we need a different kind of approach to profile asynchronous code. Yappi, with v1.2 introduces the concept of `coroutine profiling`. With `coroutine-profiling`, you should be able to profile correct wall/cpu time and call count of your coroutine. (including the time spent in context switches, too). You can see details [here](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md).


## Installation

Can be installed via PyPI

```
$ pip install yappi
```

OR from the source directly.

```
$ pip install git+https://github.com/sumerc/yappi#egg=yappi
```

## Examples

### A simple example:

```python
import yappi

def a():
    for _ in range(10000000):  # do something CPU heavy
        pass

yappi.set_clock_type("cpu") # Use set_clock_type("wall") for wall time
yappi.start()
a()

yappi.get_func_stats().print_all()
yappi.get_thread_stats().print_all()
'''

Clock type: CPU
Ordered by: totaltime, desc

name                                  ncall  tsub      ttot      tavg      
doc.py:5 a                            1      0.117907  0.117907  0.117907

name           id     tid              ttot      scnt        
_MainThread    0      139867147315008  0.118297  1
'''
```

### Profile a multithreaded application:

You can profile a multithreaded application via Yappi and can easily retrieve
per-thread profile information by filtering on `ctx_id` with `get_func_stats` API.

```python
import yappi
import time
import threading

_NTHREAD = 3


def _work(n):
    time.sleep(n * 0.1)


yappi.start()

threads = []
# generate _NTHREAD threads
for i in range(_NTHREAD):
    t = threading.Thread(target=_work, args=(i + 1, ))
    t.start()
    threads.append(t)
# wait all threads to finish
for t in threads:
    t.join()

yappi.stop()

# retrieve thread stats by their thread id (given by yappi)
threads = yappi.get_thread_stats()
for thread in threads:
    print(
        "Function stats for (%s) (%d)" % (thread.name, thread.id)
    )  # it is the Thread.__class__.__name__
    yappi.get_func_stats(ctx_id=thread.id).print_all()
'''
Function stats for (Thread) (3)

name                                  ncall  tsub      ttot      tavg
..hon3.7/threading.py:859 Thread.run  1      0.000017  0.000062  0.000062
doc3.py:8 _work                       1      0.000012  0.000045  0.000045

Function stats for (Thread) (2)

name                                  ncall  tsub      ttot      tavg
..hon3.7/threading.py:859 Thread.run  1      0.000017  0.000065  0.000065
doc3.py:8 _work                       1      0.000010  0.000048  0.000048


Function stats for (Thread) (1)

name                                  ncall  tsub      ttot      tavg
..hon3.7/threading.py:859 Thread.run  1      0.000010  0.000043  0.000043
doc3.py:8 _work                       1      0.000006  0.000033  0.000033
'''
```

### Different ways to filter/sort stats:

You can use `filter_callback` on `get_func_stats` API to filter on functions, modules
or whatever available in `YFuncStat` object.

```python
import package_a
import yappi
import sys

def a():
    pass

def b():
    pass

yappi.start()
a()
b()
package_a.a()
yappi.stop()

# filter by module object
current_module = sys.modules[__name__]
stats = yappi.get_func_stats(
    filter_callback=lambda x: yappi.module_matches(x, [current_module])
)  # x is a yappi.YFuncStat object
stats.sort("name", "desc").print_all()
'''
Clock type: CPU
Ordered by: name, desc

name                                  ncall  tsub      ttot      tavg
doc2.py:10 b                          1      0.000001  0.000001  0.000001
doc2.py:6 a                           1      0.000001  0.000001  0.000001
'''

# filter by function object
stats = yappi.get_func_stats(
    filter_callback=lambda x: yappi.func_matches(x, [a, b])
).print_all()
'''
name                                  ncall  tsub      ttot      tavg
doc2.py:6 a                           1      0.000001  0.000001  0.000001
doc2.py:10 b                          1      0.000001  0.000001  0.000001
'''

# filter by module name
stats = yappi.get_func_stats(filter_callback=lambda x: 'package_a' in x.module
                             ).print_all()
'''
name                                  ncall  tsub      ttot      tavg
package_a/__init__.py:1 a             1      0.000001  0.000001  0.000001
'''

# filter by function name
stats = yappi.get_func_stats(filter_callback=lambda x: 'a' in x.name
                             ).print_all()
'''
name                                  ncall  tsub      ttot      tavg
doc2.py:6 a                           1      0.000001  0.000001  0.000001
package_a/__init__.py:1 a             1      0.000001  0.000001  0.000001
'''
```

### Profile an asyncio application:

You can see that coroutine wall-time's are correctly profiled.

```python
import asyncio
import yappi

async def foo():
    await asyncio.sleep(1.0)
    await baz()
    await asyncio.sleep(0.5)

async def bar():
    await asyncio.sleep(2.0)

async def baz():
    await asyncio.sleep(1.0)

yappi.set_clock_type("WALL")
with yappi.run():
    asyncio.run(foo())
    asyncio.run(bar())
yappi.get_func_stats().print_all()
'''
Clock type: WALL
Ordered by: totaltime, desc

name                                  ncall  tsub      ttot      tavg      
doc4.py:5 foo                         1      0.000030  2.503808  2.503808
doc4.py:11 bar                        1      0.000012  2.002492  2.002492
doc4.py:15 baz                        1      0.000013  1.001397  1.001397
'''
```

### Profile a gevent application:

You can use yappi to profile greenlet applications now!

```python
import yappi
from greenlet import greenlet
import time

class GreenletA(greenlet):
    def run(self):
        time.sleep(1)

yappi.set_context_backend("greenlet")
yappi.set_clock_type("wall")

yappi.start(builtins=True)
a = GreenletA()
a.switch()
yappi.stop()

yappi.get_func_stats().print_all()
'''
name                                  ncall  tsub      ttot      tavg
tests/test_random.py:6 GreenletA.run  1      0.000007  1.000494  1.000494
time.sleep                            1      1.000487  1.000487  1.000487
'''
```

## Documentation

- [Introduction](https://github.com/sumerc/yappi/blob/master/doc/introduction.md)
- [Clock Types](https://github.com/sumerc/yappi/blob/master/doc/clock_types.md)
- [API](https://github.com/sumerc/yappi/blob/master/doc/api.md)
- [Coroutine Profiling](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md) _(new in 1.2)_
- [Greenlet Profiling](https://github.com/sumerc/yappi/blob/master/doc/greenlet-profiling.md) _(new in 1.3)_

  Note: Yes. I know I should be moving docs to readthedocs.io. Stay tuned!


## Related Talks

  Special thanks to A.Jesse Jiryu Davis:
- [Python Performance Profiling: The Guts And The Glory (PyCon 2015)](https://www.youtube.com/watch?v=4uJWWXYHxaM)

## PyCharm Integration

Yappi is the default profiler in `PyCharm`. If you have Yappi installed, `PyCharm` will use it. See [the official](https://www.jetbrains.com/help/pycharm/profiler.html) documentation for more details.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sumerc/yappi",
    "name": "yappi",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python thread multithread asyncio gevent profiler",
    "author": "S\u00fcmer Cip",
    "author_email": "sumerc@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/57/4b/02b359b57343b68f94964d6254e74717b75f2a82581e5ef5fc822556fc01/yappi-1.5.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/sumerc/yappi/master/Misc/logo.png\" alt=\"yappi\">\n</p>\n\n<h1 align=\"center\">Yappi</h1>\n<p align=\"center\">\n    A tracing profiler that is <b>multithreading, asyncio and gevent</b> aware.\n</p>\n\n[![FreePalestine.Dev](https://freepalestine.dev/header/1)](https://freepalestine.dev)\n\n<p align=\"center\">\n    <img src=\"https://github.com/sumerc/yappi/workflows/CI/badge.svg?branch=master\">\n    <img src=\"https://img.shields.io/pypi/v/yappi.svg\">\n    <img src=\"https://img.shields.io/pypi/dw/yappi.svg\">\n    <img src=\"https://img.shields.io/pypi/pyversions/yappi.svg\">\n    <img src=\"https://img.shields.io/github/last-commit/sumerc/yappi.svg\">\n    <img src=\"https://img.shields.io/github/license/sumerc/yappi.svg\">\n    <a href=\"https://freepalestine.dev\"><img src=\"https://freepalestine.dev/badge?t=d&u=0&r=1\" alt=\"From the river to the sea, Palestine will be free\" /></a>\n</p>\n\n## Highlights\n\n- **Fast**: Yappi is fast. It is completely written in C and lots of love and care went into making it fast.\n- **Unique**: Yappi supports multithreaded, [asyncio](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md) and [gevent](https://github.com/sumerc/yappi/blob/master/doc/greenlet-profiling.md) profiling. Tagging/filtering multiple profiler results has interesting [use cases](https://github.com/sumerc/yappi/blob/master/doc/api.md#set_tag_callback).\n- **Intuitive**: Profiler can\u00a0be\u00a0started/stopped and results can be obtained from any time and any thread.\n- **Standards Compliant**: Profiler\u00a0results\u00a0can\u00a0be\u00a0saved\u00a0in\u00a0[callgrind](http://valgrind.org/docs/manual/cl-format.html)\u00a0or\u00a0[pstat](http://docs.python.org/3.4/library/profile.html#pstats.Stats)\u00a0formats.\n- **Rich in Feature set**: Profiler results can show either [Wall Time](https://en.wikipedia.org/wiki/Elapsed_real_time) or actual [CPU Time](http://en.wikipedia.org/wiki/CPU_time) and can be aggregated\u00a0from\u00a0different\u00a0sessions. Various flags are defined for filtering and sorting profiler results.\n- **Robust**: Yappi has been around for years.\n\n## Motivation\n\nCPython standard distribution comes with three deterministic profilers. `cProfile`, `Profile` and `hotshot`. `cProfile` is implemented as a C module based on `lsprof`, `Profile` is in pure Python and `hotshot` can be seen as a small subset of a cProfile. The major issue is that all of these profilers lack support for multi-threaded programs and CPU time.\n\nIf you want to profile a  multi-threaded application, you must give an entry point to these profilers and then maybe merge the outputs. None of these profilers are designed to work on long-running multi-threaded applications. It is also not possible to profile an application that start/stop/retrieve traces on the fly with these profilers. \n\nNow fast forwarding to 2019: With the latest improvements on `asyncio` library and asynchronous frameworks, most of the current profilers lacks the ability to show correct wall/cpu time or even call count information per-coroutine. Thus we need a different kind of approach to profile asynchronous code. Yappi, with v1.2 introduces the concept of `coroutine profiling`. With `coroutine-profiling`, you should be able to profile correct wall/cpu time and call count of your coroutine. (including the time spent in context switches, too). You can see details [here](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md).\n\n\n## Installation\n\nCan be installed via PyPI\n\n```\n$ pip install yappi\n```\n\nOR from the source directly.\n\n```\n$ pip install git+https://github.com/sumerc/yappi#egg=yappi\n```\n\n## Examples\n\n### A simple example:\n\n```python\nimport yappi\n\ndef a():\n    for _ in range(10000000):  # do something CPU heavy\n        pass\n\nyappi.set_clock_type(\"cpu\") # Use set_clock_type(\"wall\") for wall time\nyappi.start()\na()\n\nyappi.get_func_stats().print_all()\nyappi.get_thread_stats().print_all()\n'''\n\nClock type: CPU\nOrdered by: totaltime, desc\n\nname                                  ncall  tsub      ttot      tavg      \ndoc.py:5 a                            1      0.117907  0.117907  0.117907\n\nname           id     tid              ttot      scnt        \n_MainThread    0      139867147315008  0.118297  1\n'''\n```\n\n### Profile a multithreaded application:\n\nYou can profile a multithreaded application via Yappi and can easily retrieve\nper-thread profile information by filtering on `ctx_id` with `get_func_stats` API.\n\n```python\nimport yappi\nimport time\nimport threading\n\n_NTHREAD = 3\n\n\ndef _work(n):\n    time.sleep(n * 0.1)\n\n\nyappi.start()\n\nthreads = []\n# generate _NTHREAD threads\nfor i in range(_NTHREAD):\n    t = threading.Thread(target=_work, args=(i + 1, ))\n    t.start()\n    threads.append(t)\n# wait all threads to finish\nfor t in threads:\n    t.join()\n\nyappi.stop()\n\n# retrieve thread stats by their thread id (given by yappi)\nthreads = yappi.get_thread_stats()\nfor thread in threads:\n    print(\n        \"Function stats for (%s) (%d)\" % (thread.name, thread.id)\n    )  # it is the Thread.__class__.__name__\n    yappi.get_func_stats(ctx_id=thread.id).print_all()\n'''\nFunction stats for (Thread) (3)\n\nname                                  ncall  tsub      ttot      tavg\n..hon3.7/threading.py:859 Thread.run  1      0.000017  0.000062  0.000062\ndoc3.py:8 _work                       1      0.000012  0.000045  0.000045\n\nFunction stats for (Thread) (2)\n\nname                                  ncall  tsub      ttot      tavg\n..hon3.7/threading.py:859 Thread.run  1      0.000017  0.000065  0.000065\ndoc3.py:8 _work                       1      0.000010  0.000048  0.000048\n\n\nFunction stats for (Thread) (1)\n\nname                                  ncall  tsub      ttot      tavg\n..hon3.7/threading.py:859 Thread.run  1      0.000010  0.000043  0.000043\ndoc3.py:8 _work                       1      0.000006  0.000033  0.000033\n'''\n```\n\n### Different ways to filter/sort stats:\n\nYou can use `filter_callback` on `get_func_stats` API to filter on functions, modules\nor whatever available in `YFuncStat` object.\n\n```python\nimport package_a\nimport yappi\nimport sys\n\ndef a():\n    pass\n\ndef b():\n    pass\n\nyappi.start()\na()\nb()\npackage_a.a()\nyappi.stop()\n\n# filter by module object\ncurrent_module = sys.modules[__name__]\nstats = yappi.get_func_stats(\n    filter_callback=lambda x: yappi.module_matches(x, [current_module])\n)  # x is a yappi.YFuncStat object\nstats.sort(\"name\", \"desc\").print_all()\n'''\nClock type: CPU\nOrdered by: name, desc\n\nname                                  ncall  tsub      ttot      tavg\ndoc2.py:10 b                          1      0.000001  0.000001  0.000001\ndoc2.py:6 a                           1      0.000001  0.000001  0.000001\n'''\n\n# filter by function object\nstats = yappi.get_func_stats(\n    filter_callback=lambda x: yappi.func_matches(x, [a, b])\n).print_all()\n'''\nname                                  ncall  tsub      ttot      tavg\ndoc2.py:6 a                           1      0.000001  0.000001  0.000001\ndoc2.py:10 b                          1      0.000001  0.000001  0.000001\n'''\n\n# filter by module name\nstats = yappi.get_func_stats(filter_callback=lambda x: 'package_a' in x.module\n                             ).print_all()\n'''\nname                                  ncall  tsub      ttot      tavg\npackage_a/__init__.py:1 a             1      0.000001  0.000001  0.000001\n'''\n\n# filter by function name\nstats = yappi.get_func_stats(filter_callback=lambda x: 'a' in x.name\n                             ).print_all()\n'''\nname                                  ncall  tsub      ttot      tavg\ndoc2.py:6 a                           1      0.000001  0.000001  0.000001\npackage_a/__init__.py:1 a             1      0.000001  0.000001  0.000001\n'''\n```\n\n### Profile an asyncio application:\n\nYou can see that coroutine wall-time's are correctly profiled.\n\n```python\nimport asyncio\nimport yappi\n\nasync def foo():\n    await asyncio.sleep(1.0)\n    await baz()\n    await asyncio.sleep(0.5)\n\nasync def bar():\n    await asyncio.sleep(2.0)\n\nasync def baz():\n    await asyncio.sleep(1.0)\n\nyappi.set_clock_type(\"WALL\")\nwith yappi.run():\n    asyncio.run(foo())\n    asyncio.run(bar())\nyappi.get_func_stats().print_all()\n'''\nClock type: WALL\nOrdered by: totaltime, desc\n\nname                                  ncall  tsub      ttot      tavg      \ndoc4.py:5 foo                         1      0.000030  2.503808  2.503808\ndoc4.py:11 bar                        1      0.000012  2.002492  2.002492\ndoc4.py:15 baz                        1      0.000013  1.001397  1.001397\n'''\n```\n\n### Profile a gevent application:\n\nYou can use yappi to profile greenlet applications now!\n\n```python\nimport yappi\nfrom greenlet import greenlet\nimport time\n\nclass GreenletA(greenlet):\n    def run(self):\n        time.sleep(1)\n\nyappi.set_context_backend(\"greenlet\")\nyappi.set_clock_type(\"wall\")\n\nyappi.start(builtins=True)\na = GreenletA()\na.switch()\nyappi.stop()\n\nyappi.get_func_stats().print_all()\n'''\nname                                  ncall  tsub      ttot      tavg\ntests/test_random.py:6 GreenletA.run  1      0.000007  1.000494  1.000494\ntime.sleep                            1      1.000487  1.000487  1.000487\n'''\n```\n\n## Documentation\n\n- [Introduction](https://github.com/sumerc/yappi/blob/master/doc/introduction.md)\n- [Clock Types](https://github.com/sumerc/yappi/blob/master/doc/clock_types.md)\n- [API](https://github.com/sumerc/yappi/blob/master/doc/api.md)\n- [Coroutine Profiling](https://github.com/sumerc/yappi/blob/master/doc/coroutine-profiling.md) _(new in 1.2)_\n- [Greenlet Profiling](https://github.com/sumerc/yappi/blob/master/doc/greenlet-profiling.md) _(new in 1.3)_\n\n  Note: Yes. I know I should be moving docs to readthedocs.io. Stay tuned!\n\n\n## Related Talks\n\n  Special thanks to A.Jesse Jiryu Davis:\n- [Python Performance Profiling: The Guts And The Glory (PyCon 2015)](https://www.youtube.com/watch?v=4uJWWXYHxaM)\n\n## PyCharm Integration\n\nYappi is the default profiler in `PyCharm`. If you have Yappi installed, `PyCharm` will use it. See [the official](https://www.jetbrains.com/help/pycharm/profiler.html) documentation for more details.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Yet Another Python Profiler",
    "version": "1.5.1",
    "project_urls": {
        "Homepage": "https://github.com/sumerc/yappi"
    },
    "split_keywords": [
        "python",
        "thread",
        "multithread",
        "asyncio",
        "gevent",
        "profiler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29f35ff5cf85f102affb36dd7b717cb793c61a2add277638a6ad41c2fc5610ab",
                "md5": "1161d121129d5db400e6357d52ea64e3",
                "sha256": "5a1d226e65ca12d9895655540938d5046578cd99301e8076d3fb604be7c53f67"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1161d121129d5db400e6357d52ea64e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 32558,
            "upload_time": "2023-12-06T08:48:15",
            "upload_time_iso_8601": "2023-12-06T08:48:15.509231Z",
            "url": "https://files.pythonhosted.org/packages/29/f3/5ff5cf85f102affb36dd7b717cb793c61a2add277638a6ad41c2fc5610ab/yappi-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef32ec2139d9d9e744b102489cf39dd75c0668a492703d36600e61ddd9fde66f",
                "md5": "0de3be1369edf62e99f688aa3d4754e8",
                "sha256": "573ae3a3ce42518e359f483934042263a8b1784374921f146c33de9beeed7028"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "0de3be1369edf62e99f688aa3d4754e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 75786,
            "upload_time": "2023-12-06T08:48:17",
            "upload_time_iso_8601": "2023-12-06T08:48:17.223900Z",
            "url": "https://files.pythonhosted.org/packages/ef/32/ec2139d9d9e744b102489cf39dd75c0668a492703d36600e61ddd9fde66f/yappi-1.5.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": "cd2abcbbdfef9838104afcfb4409649e27cb774a7501b6dc9145d2e792296965",
                "md5": "23ef0454cf96cbdc16913a3a8b76c4f9",
                "sha256": "a35f2fe7c1b9b60fe4f2be7345c94b0e40fda5125ca35ecd6ec6f072fb33e49d"
            },
            "downloads": -1,
            "filename": "yappi-1.5.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": "23ef0454cf96cbdc16913a3a8b76c4f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 79147,
            "upload_time": "2023-12-06T08:48:19",
            "upload_time_iso_8601": "2023-12-06T08:48:19.253304Z",
            "url": "https://files.pythonhosted.org/packages/cd/2a/bcbbdfef9838104afcfb4409649e27cb774a7501b6dc9145d2e792296965/yappi-1.5.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": "e4ffedd52c220ac8215d59045576e00afdc393cfda77fe7196cc837f51a2b743",
                "md5": "fb479bc27bf5e0e6fb490a18121658ad",
                "sha256": "c3fdde958f688c97d7fc23ac2fa60564a84650addd80472383d7f091e4603a78"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "fb479bc27bf5e0e6fb490a18121658ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 91541,
            "upload_time": "2023-12-06T08:48:20",
            "upload_time_iso_8601": "2023-12-06T08:48:20.269101Z",
            "url": "https://files.pythonhosted.org/packages/e4/ff/edd52c220ac8215d59045576e00afdc393cfda77fe7196cc837f51a2b743/yappi-1.5.1-cp310-cp310-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d9327f1d8a53516a2e53a7a1f64ee83339321941848c35969c43497a26218df4",
                "md5": "a97ebd064b44ef99f8e040f60a2b9612",
                "sha256": "0f78652ac969f997cc6426ac0f085f0dc2555ef3616eed30a661790d9beb26d3"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a97ebd064b44ef99f8e040f60a2b9612",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 95628,
            "upload_time": "2023-12-06T08:48:21",
            "upload_time_iso_8601": "2023-12-06T08:48:21.944760Z",
            "url": "https://files.pythonhosted.org/packages/d9/32/7f1d8a53516a2e53a7a1f64ee83339321941848c35969c43497a26218df4/yappi-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c61c5cc4a8ccb11d04abe2270927fee70c408d968337829dab7bb72fccec3ab",
                "md5": "792e08078ef9bd061a32eb31e2e3d8e5",
                "sha256": "2c7622ee1a226d38a798f9f4ca6c9e4b4c0bf6302e9e96cfac2efd79a2d69069"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "792e08078ef9bd061a32eb31e2e3d8e5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 31804,
            "upload_time": "2023-12-06T08:48:23",
            "upload_time_iso_8601": "2023-12-06T08:48:23.033087Z",
            "url": "https://files.pythonhosted.org/packages/5c/61/c5cc4a8ccb11d04abe2270927fee70c408d968337829dab7bb72fccec3ab/yappi-1.5.1-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f9f9c0c09be84b4e4034bdedfe39bdd17d7ba776e27e4c4894620a9b6fc07b1",
                "md5": "05dc62d4c5c99f643f0a4b4467d23c4b",
                "sha256": "a117ed88c3dc86ad57a75cee0bac534cab5b74aa9290f452378b7c332b6b15a1"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "05dc62d4c5c99f643f0a4b4467d23c4b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 34240,
            "upload_time": "2023-12-06T08:48:24",
            "upload_time_iso_8601": "2023-12-06T08:48:24.008492Z",
            "url": "https://files.pythonhosted.org/packages/2f/9f/9c0c09be84b4e4034bdedfe39bdd17d7ba776e27e4c4894620a9b6fc07b1/yappi-1.5.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2154f1a1bf65af437cf84c87351e815ed67bae88719a2342da4d554fa9ff6bc2",
                "md5": "868cf1eab96daa634175bf67f358daae",
                "sha256": "945cf6a7dd86340527b6bafc663cc7db550e1b09d9473bcb9ca3a44767e57609"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "868cf1eab96daa634175bf67f358daae",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 32649,
            "upload_time": "2023-12-06T08:48:25",
            "upload_time_iso_8601": "2023-12-06T08:48:25.632702Z",
            "url": "https://files.pythonhosted.org/packages/21/54/f1a1bf65af437cf84c87351e815ed67bae88719a2342da4d554fa9ff6bc2/yappi-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ad99ccff479c488c1563901cdbf6e977551a835315e2e4b7f35f2f778dbc0cf",
                "md5": "16b8cb33cf939a8f8583e80a465f85ea",
                "sha256": "44dae39dbb74a3c8b42dd0eb66fe1f112aabc264431e43f7337f587054e57ed4"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "16b8cb33cf939a8f8583e80a465f85ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 76526,
            "upload_time": "2023-12-06T08:48:27",
            "upload_time_iso_8601": "2023-12-06T08:48:27.220167Z",
            "url": "https://files.pythonhosted.org/packages/2a/d9/9ccff479c488c1563901cdbf6e977551a835315e2e4b7f35f2f778dbc0cf/yappi-1.5.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": "cdcaf845a72c01bebd187b73ac6dfdbe30ce25b1799e4eb0bbb4e968cd97955c",
                "md5": "d02e5e29fb97852b9adfc14cb9649398",
                "sha256": "a5a29d0dba485f83ebf022dfdbb543e5789d940818709066ee44289fa6f2a1cb"
            },
            "downloads": -1,
            "filename": "yappi-1.5.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": "d02e5e29fb97852b9adfc14cb9649398",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 79874,
            "upload_time": "2023-12-06T08:48:28",
            "upload_time_iso_8601": "2023-12-06T08:48:28.980758Z",
            "url": "https://files.pythonhosted.org/packages/cd/ca/f845a72c01bebd187b73ac6dfdbe30ce25b1799e4eb0bbb4e968cd97955c/yappi-1.5.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": "3cc7288d177537f156c1ce4b85df15b46c4dfcecf6c537fb7d48c9b013feb10c",
                "md5": "b43e13943904e3b5788de9c2c8f5d51a",
                "sha256": "1e97d7ac272cf31f2e26eadc5517510268a7cc425b64e15680582550d6a7e9a8"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "b43e13943904e3b5788de9c2c8f5d51a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 94313,
            "upload_time": "2023-12-06T08:48:30",
            "upload_time_iso_8601": "2023-12-06T08:48:30.655499Z",
            "url": "https://files.pythonhosted.org/packages/3c/c7/288d177537f156c1ce4b85df15b46c4dfcecf6c537fb7d48c9b013feb10c/yappi-1.5.1-cp311-cp311-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60b309a70162319bfbd7a9689cabd836d2d0d2c2e37701d446bbdda0e9e7c0b2",
                "md5": "ed0691aa9d485fa6a311833468a16951",
                "sha256": "1e382662ef846e9c94b1f876bdefe5311be6973d95c205d56a74f7155c4a4f39"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed0691aa9d485fa6a311833468a16951",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 97717,
            "upload_time": "2023-12-06T08:48:31",
            "upload_time_iso_8601": "2023-12-06T08:48:31.759963Z",
            "url": "https://files.pythonhosted.org/packages/60/b3/09a70162319bfbd7a9689cabd836d2d0d2c2e37701d446bbdda0e9e7c0b2/yappi-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d90b84c307f39a6ae39b5671d7cc6180561e8349467e79fcfadc4e2d2205ecc",
                "md5": "1c54abf53b4c6045b6fbeb0e1ce5aa50",
                "sha256": "7a204cd8c052eeb528e026e65eae9e9e1c2e1ee9f254ecbdfccc4ce4beee2a98"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "1c54abf53b4c6045b6fbeb0e1ce5aa50",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 31860,
            "upload_time": "2023-12-06T08:48:33",
            "upload_time_iso_8601": "2023-12-06T08:48:33.210497Z",
            "url": "https://files.pythonhosted.org/packages/7d/90/b84c307f39a6ae39b5671d7cc6180561e8349467e79fcfadc4e2d2205ecc/yappi-1.5.1-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6627ab1dbb689e3f93ed8c10c80973c4500cb0f6c2ae35eeffb0074ab2d67e9e",
                "md5": "41fced2ec81aaba7387dbc29ba321be2",
                "sha256": "2eb4094239c7beb1cc23be7592400cf8d2c68bc84ba061ff3bf998ed5687c962"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "41fced2ec81aaba7387dbc29ba321be2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 34353,
            "upload_time": "2023-12-06T08:48:35",
            "upload_time_iso_8601": "2023-12-06T08:48:35.036134Z",
            "url": "https://files.pythonhosted.org/packages/66/27/ab1dbb689e3f93ed8c10c80973c4500cb0f6c2ae35eeffb0074ab2d67e9e/yappi-1.5.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "daaaef51b8e1fbc723e252b1e118df736ef0ab7e3fdf5ccab00411f0dd472ae7",
                "md5": "cbc68f23d94eef8041414527004f58f1",
                "sha256": "56216ce0e88e4720a20b3f2f03e15a3e5b2335382630958a2f17e622a4df8342"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cbc68f23d94eef8041414527004f58f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 32326,
            "upload_time": "2023-12-06T08:48:36",
            "upload_time_iso_8601": "2023-12-06T08:48:36.695751Z",
            "url": "https://files.pythonhosted.org/packages/da/aa/ef51b8e1fbc723e252b1e118df736ef0ab7e3fdf5ccab00411f0dd472ae7/yappi-1.5.1-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "417a6f090be6ae50a726f59d466750f69d5b120f074f17c6b092724052e74bc0",
                "md5": "552a58465e860f6fa447b46f390ab649",
                "sha256": "513f78e697e03d8e000293d101442b564667523953e88ea2164e0e58b61e9ea8"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "552a58465e860f6fa447b46f390ab649",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 72180,
            "upload_time": "2023-12-06T08:48:37",
            "upload_time_iso_8601": "2023-12-06T08:48:37.778991Z",
            "url": "https://files.pythonhosted.org/packages/41/7a/6f090be6ae50a726f59d466750f69d5b120f074f17c6b092724052e74bc0/yappi-1.5.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17ecbbe2eb7fbd91f5dd6477c68cd382abc9d04d3103c08a26acca0a58f67862",
                "md5": "20a32d7f193bc9cec1886932cb73d43d",
                "sha256": "bfef5b83fdbe8d9a76f60fa1e05222c4f9f91742bcf2fc071748c72aa447994b"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "20a32d7f193bc9cec1886932cb73d43d",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 75715,
            "upload_time": "2023-12-06T08:48:38",
            "upload_time_iso_8601": "2023-12-06T08:48:38.749059Z",
            "url": "https://files.pythonhosted.org/packages/17/ec/bbe2eb7fbd91f5dd6477c68cd382abc9d04d3103c08a26acca0a58f67862/yappi-1.5.1-cp36-cp36m-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": "f93010e537f70ee6ae48dade57a5af2b7cc13967dc6ec752953a3b5f157fe89f",
                "md5": "f0d1e7a2ad9f6675c8efb6c83f39b803",
                "sha256": "2bf7e4b37651dca978aa5c50dade3b39cf2d9f0d2e2289cb99590c3c3d6e61ae"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "f0d1e7a2ad9f6675c8efb6c83f39b803",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 91024,
            "upload_time": "2023-12-06T08:48:40",
            "upload_time_iso_8601": "2023-12-06T08:48:40.464082Z",
            "url": "https://files.pythonhosted.org/packages/f9/30/10e537f70ee6ae48dade57a5af2b7cc13967dc6ec752953a3b5f157fe89f/yappi-1.5.1-cp36-cp36m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "20f498f6b6c136ad753760a49ca5af842ce4ac5be91a412448eb853c650ea530",
                "md5": "bfd444863b9095f4cf95cadb85064e15",
                "sha256": "a9518ac3435d41720079a10433719d3647e36719311f41897996e8f80124ef8b"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bfd444863b9095f4cf95cadb85064e15",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 95203,
            "upload_time": "2023-12-06T08:48:42",
            "upload_time_iso_8601": "2023-12-06T08:48:42.154138Z",
            "url": "https://files.pythonhosted.org/packages/20/f4/98f6b6c136ad753760a49ca5af842ce4ac5be91a412448eb853c650ea530/yappi-1.5.1-cp36-cp36m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7cac82b7b29eafc9e5fceb105e46b1ccc4815f661f98274ed6a00ef4ce393a80",
                "md5": "443f543423b4c68d8b050ef068c3486d",
                "sha256": "637b69ebdcea0faca920bf0c0d6ef8258564ea468f12eed40bec6355650bebcc"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "443f543423b4c68d8b050ef068c3486d",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 33597,
            "upload_time": "2023-12-06T08:48:43",
            "upload_time_iso_8601": "2023-12-06T08:48:43.219192Z",
            "url": "https://files.pythonhosted.org/packages/7c/ac/82b7b29eafc9e5fceb105e46b1ccc4815f661f98274ed6a00ef4ce393a80/yappi-1.5.1-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50828207ef31bd5f3e1faacafb24b70a17fe84a431c92edff8c019603cd6ca44",
                "md5": "aefb2d7fe026794bce95d1c67a38510e",
                "sha256": "53a920262ef7f3a08296be2f01ac6f79fd65dee69c7156b284cb5a62460e3a87"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aefb2d7fe026794bce95d1c67a38510e",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 37443,
            "upload_time": "2023-12-06T08:48:44",
            "upload_time_iso_8601": "2023-12-06T08:48:44.338916Z",
            "url": "https://files.pythonhosted.org/packages/50/82/8207ef31bd5f3e1faacafb24b70a17fe84a431c92edff8c019603cd6ca44/yappi-1.5.1-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e160ad1dd9b27ee6b6443659a4b24b36a40449e39669ee3ce6276bc7fdb0b76",
                "md5": "11b1f7e5e73e652ca96e0887cffcd203",
                "sha256": "a650a77f00c153ed23d88173cadeeed42b2808f409221d268ff39577ea011cb5"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "11b1f7e5e73e652ca96e0887cffcd203",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 32350,
            "upload_time": "2023-12-06T08:48:45",
            "upload_time_iso_8601": "2023-12-06T08:48:45.336132Z",
            "url": "https://files.pythonhosted.org/packages/6e/16/0ad1dd9b27ee6b6443659a4b24b36a40449e39669ee3ce6276bc7fdb0b76/yappi-1.5.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9fe44ecd84a9ccafa544460d56f3c0e1034adf6bf2b87ce8d8a9b0ecdd085235",
                "md5": "4ea0d52d04d01e1a108a0e03bde973ae",
                "sha256": "6fab99aecf31539a6671e99927eea9ff1ff31837ee3003f4286614a01c1224b6"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "4ea0d52d04d01e1a108a0e03bde973ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 73315,
            "upload_time": "2023-12-06T08:48:46",
            "upload_time_iso_8601": "2023-12-06T08:48:46.339447Z",
            "url": "https://files.pythonhosted.org/packages/9f/e4/4ecd84a9ccafa544460d56f3c0e1034adf6bf2b87ce8d8a9b0ecdd085235/yappi-1.5.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc03a1c538c21308852c55750ff305e3be1c89d2fd3af0c0ba583e997a95f1f4",
                "md5": "48cb7603f3b612f1dfed2c66b00f3b1c",
                "sha256": "f084c480e9307707dcc6a5449f3e33514bbe14b9ccf306ff21019ae5fd320121"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "48cb7603f3b612f1dfed2c66b00f3b1c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 76901,
            "upload_time": "2023-12-06T08:48:47",
            "upload_time_iso_8601": "2023-12-06T08:48:47.305181Z",
            "url": "https://files.pythonhosted.org/packages/cc/03/a1c538c21308852c55750ff305e3be1c89d2fd3af0c0ba583e997a95f1f4/yappi-1.5.1-cp37-cp37m-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": "8eb49a17761c2bbc05e3d0a95ecbd73a6b59bb9751370362c87fc61b9cbdbd70",
                "md5": "d8a3db615e07bb9e2a98debcb4a4bac1",
                "sha256": "5d9657594681f043b943367cace220ddd6ddcb89165fbb1991420e1ed1a8c57c"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "d8a3db615e07bb9e2a98debcb4a4bac1",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 91281,
            "upload_time": "2023-12-06T08:48:48",
            "upload_time_iso_8601": "2023-12-06T08:48:48.439101Z",
            "url": "https://files.pythonhosted.org/packages/8e/b4/9a17761c2bbc05e3d0a95ecbd73a6b59bb9751370362c87fc61b9cbdbd70/yappi-1.5.1-cp37-cp37m-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9defb42bc89371f8164e5aa3be96953a2cf00b01b5ef3ac321ea035bd0e1d386",
                "md5": "de8622cb0919fb6407cb36051f63c698",
                "sha256": "c7b2f301a8a161835f787ce71d42d4c32ef34b64ea2bf10dacb22aba4f2bdcf6"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "de8622cb0919fb6407cb36051f63c698",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 95721,
            "upload_time": "2023-12-06T08:48:49",
            "upload_time_iso_8601": "2023-12-06T08:48:49.469532Z",
            "url": "https://files.pythonhosted.org/packages/9d/ef/b42bc89371f8164e5aa3be96953a2cf00b01b5ef3ac321ea035bd0e1d386/yappi-1.5.1-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46f2688e443eb0b764777e31b1325b7b52621df79b01d46ad31eeee7d8ccd4d2",
                "md5": "81c45f1b7d7708de36a8ca606a737760",
                "sha256": "c171938abce622744e31bbd01df2bee785e74d26fcf939c8a0aef478ca1bac4b"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "81c45f1b7d7708de36a8ca606a737760",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 31690,
            "upload_time": "2023-12-06T08:48:50",
            "upload_time_iso_8601": "2023-12-06T08:48:50.503253Z",
            "url": "https://files.pythonhosted.org/packages/46/f2/688e443eb0b764777e31b1325b7b52621df79b01d46ad31eeee7d8ccd4d2/yappi-1.5.1-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "402691e3fc56ce122d37b2bf961f9d12cfb5212d9b8ef6b5edd9693299c2a787",
                "md5": "3dd5fe6d685d6ee06c10e9c89b75678f",
                "sha256": "2d375caccc158c6250892f50a3bf0d42c86288136593eae0c1da50636e8eda28"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3dd5fe6d685d6ee06c10e9c89b75678f",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 34228,
            "upload_time": "2023-12-06T08:48:52",
            "upload_time_iso_8601": "2023-12-06T08:48:52.078760Z",
            "url": "https://files.pythonhosted.org/packages/40/26/91e3fc56ce122d37b2bf961f9d12cfb5212d9b8ef6b5edd9693299c2a787/yappi-1.5.1-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6f8ecb50d5c75c19ecd3367554f73caca23c644180aa1312a8b08debaea99112",
                "md5": "ae6af0825c1befd603895179bf909d1f",
                "sha256": "66816cb9f4edd3f93c4c03480d636719e6680129ebe0cba0d3076703d7cf06e3"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ae6af0825c1befd603895179bf909d1f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 32497,
            "upload_time": "2023-12-06T08:48:53",
            "upload_time_iso_8601": "2023-12-06T08:48:53.221970Z",
            "url": "https://files.pythonhosted.org/packages/6f/8e/cb50d5c75c19ecd3367554f73caca23c644180aa1312a8b08debaea99112/yappi-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "411de48c37e9620ff3989b4ee4e98b7f3d80ced1109521b363a8477e3f826bbf",
                "md5": "24b78b23e18f2d7c40122ee247b08b2e",
                "sha256": "eccdca9f79c402c0e37e13a97597e338c7db0867c2b07c9c716a388a0b196e1b"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "24b78b23e18f2d7c40122ee247b08b2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 75318,
            "upload_time": "2023-12-06T08:48:54",
            "upload_time_iso_8601": "2023-12-06T08:48:54.203997Z",
            "url": "https://files.pythonhosted.org/packages/41/1d/e48c37e9620ff3989b4ee4e98b7f3d80ced1109521b363a8477e3f826bbf/yappi-1.5.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": "b046727ce7d2dd3bb0a05d20a221352f09a78d2e517e5dc078b2d0e127fbe525",
                "md5": "c6b6d835272f0db4d0f6da3016c71f85",
                "sha256": "84433e8800016936ceefd42b9902330d78864fb54f90aa3b399cc7960eeaa87f"
            },
            "downloads": -1,
            "filename": "yappi-1.5.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": "c6b6d835272f0db4d0f6da3016c71f85",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 78584,
            "upload_time": "2023-12-06T08:48:55",
            "upload_time_iso_8601": "2023-12-06T08:48:55.237095Z",
            "url": "https://files.pythonhosted.org/packages/b0/46/727ce7d2dd3bb0a05d20a221352f09a78d2e517e5dc078b2d0e127fbe525/yappi-1.5.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": "65f2639815b0373c3e4fe5403d4cdf96867e0e0a20cbd8cfd6c2f965fa5ccddf",
                "md5": "ffb9aa0ba8aceda4d29f50ef18857d83",
                "sha256": "4701cc2a2b1f0d5a259713d5dd9f47876abec48e0c582ed39b7d2743056575a0"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "ffb9aa0ba8aceda4d29f50ef18857d83",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 92081,
            "upload_time": "2023-12-06T08:48:56",
            "upload_time_iso_8601": "2023-12-06T08:48:56.285541Z",
            "url": "https://files.pythonhosted.org/packages/65/f2/639815b0373c3e4fe5403d4cdf96867e0e0a20cbd8cfd6c2f965fa5ccddf/yappi-1.5.1-cp38-cp38-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1d559a135a9a6f805350c1374699774439541da984d5a5a868541c89f7f0c5e5",
                "md5": "34fee64f9923bd998377e0933cd4ae6a",
                "sha256": "419e35564bd4e38c83df1dd469d3f71bc93f30ec4393b83afa310bfcbd05d854"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "34fee64f9923bd998377e0933cd4ae6a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 96188,
            "upload_time": "2023-12-06T08:48:57",
            "upload_time_iso_8601": "2023-12-06T08:48:57.520319Z",
            "url": "https://files.pythonhosted.org/packages/1d/55/9a135a9a6f805350c1374699774439541da984d5a5a868541c89f7f0c5e5/yappi-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eebfc164f8b876219bdc4cbefb1001a9b976fa98f9907afc5cb2b77e7400a0be",
                "md5": "edebf7f5d939eb224107a623d0a61a3f",
                "sha256": "71564ca418d56fe63c9dfa987f51d6a396ae57662363202b57b9241e6713b70b"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "edebf7f5d939eb224107a623d0a61a3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 31762,
            "upload_time": "2023-12-06T08:48:58",
            "upload_time_iso_8601": "2023-12-06T08:48:58.532243Z",
            "url": "https://files.pythonhosted.org/packages/ee/bf/c164f8b876219bdc4cbefb1001a9b976fa98f9907afc5cb2b77e7400a0be/yappi-1.5.1-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "435600db888c98411c09e013e2eb99c6497aee897a97e26aa8a1708157dc36e8",
                "md5": "d0b7dac9b0622c5dd712365c3529a331",
                "sha256": "bf6553261faef553a23bd864f23f3b0970cd7ae007aed2a065e17ad3d0ff60f4"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d0b7dac9b0622c5dd712365c3529a331",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 34252,
            "upload_time": "2023-12-06T08:48:59",
            "upload_time_iso_8601": "2023-12-06T08:48:59.490485Z",
            "url": "https://files.pythonhosted.org/packages/43/56/00db888c98411c09e013e2eb99c6497aee897a97e26aa8a1708157dc36e8/yappi-1.5.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "615108160e452ad64417dd5cf05c0529cfbc8d5988e13d7b7cecdc5f069fa0e5",
                "md5": "179964602d129fbad0e5b3277136989a",
                "sha256": "44a2f13ab11aa5c02a239b9456de3df62bd5e7719f416353b506a589f4a3e64e"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "179964602d129fbad0e5b3277136989a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 32497,
            "upload_time": "2023-12-06T08:49:01",
            "upload_time_iso_8601": "2023-12-06T08:49:01.714490Z",
            "url": "https://files.pythonhosted.org/packages/61/51/08160e452ad64417dd5cf05c0529cfbc8d5988e13d7b7cecdc5f069fa0e5/yappi-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7965c5c6b2e6ad02ad8fcc732af6ab2aa166ae6e088fe3e3dc4c0f1610a82f0",
                "md5": "bf7803ecf084de92074115e4a66e7a86",
                "sha256": "f7a17974234af25617353ea78da06389d99d98898a6ecf16177ad008a9f59a7f"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "bf7803ecf084de92074115e4a66e7a86",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 74817,
            "upload_time": "2023-12-06T08:49:03",
            "upload_time_iso_8601": "2023-12-06T08:49:03.507459Z",
            "url": "https://files.pythonhosted.org/packages/d7/96/5c5c6b2e6ad02ad8fcc732af6ab2aa166ae6e088fe3e3dc4c0f1610a82f0/yappi-1.5.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": "ec31dd43f4bc4be7b0b772a9892f282d3841de6ebde2e49b50cc56f76f5afae0",
                "md5": "8d4ea97bf067e82d7e44d8dbd09fae4b",
                "sha256": "e776dec9f6b793c01a14383ce1569edf39aef1b27d413dd0f218540cc8a36bbb"
            },
            "downloads": -1,
            "filename": "yappi-1.5.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": "8d4ea97bf067e82d7e44d8dbd09fae4b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 78105,
            "upload_time": "2023-12-06T08:49:04",
            "upload_time_iso_8601": "2023-12-06T08:49:04.646006Z",
            "url": "https://files.pythonhosted.org/packages/ec/31/dd43f4bc4be7b0b772a9892f282d3841de6ebde2e49b50cc56f76f5afae0/yappi-1.5.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": "2b6b086f6c4b0ace947b054037a203dde2b98e83cbd7bcc0b73ee9a32491758a",
                "md5": "3667abcc7f98c755ccf1ecf0d1973980",
                "sha256": "a174ce23ef2d97b43f2f8ec923cb1956dc111b94f39fa4bc8df8e3fff8b0aa70"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-musllinux_1_1_i686.whl",
            "has_sig": false,
            "md5_digest": "3667abcc7f98c755ccf1ecf0d1973980",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 90316,
            "upload_time": "2023-12-06T08:49:06",
            "upload_time_iso_8601": "2023-12-06T08:49:06.281771Z",
            "url": "https://files.pythonhosted.org/packages/2b/6b/086f6c4b0ace947b054037a203dde2b98e83cbd7bcc0b73ee9a32491758a/yappi-1.5.1-cp39-cp39-musllinux_1_1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27ea45bd0d7228b58bfe9ef7d9938b390f95259db164d60a649cc2028a983819",
                "md5": "441f4be17a4fb963d576f47afe6388ac",
                "sha256": "58914a724aa2a98b52a2e683ecf2e22210d273f9333f1f26d18ecfb02c229514"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "441f4be17a4fb963d576f47afe6388ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 94099,
            "upload_time": "2023-12-06T08:49:07",
            "upload_time_iso_8601": "2023-12-06T08:49:07.338788Z",
            "url": "https://files.pythonhosted.org/packages/27/ea/45bd0d7228b58bfe9ef7d9938b390f95259db164d60a649cc2028a983819/yappi-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1dd5d40fa14d0980ce6193f4a4f2f32c80d5b22aaba1ef566056119a0e46271c",
                "md5": "1a7dc81a629bb239ea32c4c8d4c40fed",
                "sha256": "2ebdb07990e199fe00c53df66e196d340e4cfe8f7d3b734401235285cfd7d25a"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "1a7dc81a629bb239ea32c4c8d4c40fed",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 31770,
            "upload_time": "2023-12-06T08:49:08",
            "upload_time_iso_8601": "2023-12-06T08:49:08.388218Z",
            "url": "https://files.pythonhosted.org/packages/1d/d5/d40fa14d0980ce6193f4a4f2f32c80d5b22aaba1ef566056119a0e46271c/yappi-1.5.1-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44de54bb7125553ed676aa2052b6ab89b3f80ff1174e396a549071df11c9a675",
                "md5": "a4581f1b89916d271be08d94907f190e",
                "sha256": "59ff5213c969c0c35c0eaefc2e9c44b6e54f5e664b480e079f393e06bc5eb4fe"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a4581f1b89916d271be08d94907f190e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 34279,
            "upload_time": "2023-12-06T08:49:09",
            "upload_time_iso_8601": "2023-12-06T08:49:09.379878Z",
            "url": "https://files.pythonhosted.org/packages/44/de/54bb7125553ed676aa2052b6ab89b3f80ff1174e396a549071df11c9a675/yappi-1.5.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "574b02b359b57343b68f94964d6254e74717b75f2a82581e5ef5fc822556fc01",
                "md5": "cc8a66a978211d19ddfa610857bdb124",
                "sha256": "bcc318c1a81e66ae797e9887ec9d04e3501a34e11c4068fb77bcf9af2233788d"
            },
            "downloads": -1,
            "filename": "yappi-1.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "cc8a66a978211d19ddfa610857bdb124",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 59642,
            "upload_time": "2023-12-06T08:49:11",
            "upload_time_iso_8601": "2023-12-06T08:49:11.020914Z",
            "url": "https://files.pythonhosted.org/packages/57/4b/02b359b57343b68f94964d6254e74717b75f2a82581e5ef5fc822556fc01/yappi-1.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-06 08:49:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sumerc",
    "github_project": "yappi",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "yappi"
}
        
Elapsed time: 0.15849s