<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"
}