perfmetrics


Nameperfmetrics JSON
Version 4.0.0 PyPI version JSON
download
home_pagehttps://github.com/zodb/perfmetrics
SummarySend performance metrics about Python code to Statsd
upload_time2023-06-22 20:40:48
maintainerJason Madden
docs_urlNone
authorShane Hathaway
requires_python>=3.7
licenseBSD-derived (http://www.repoze.org/LICENSE.txt)
keywords statsd metrics performance monitoring
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            =============
 perfmetrics
=============

The perfmetrics package provides a simple way to add software performance
metrics to Python libraries and applications.  Use perfmetrics to find the
true bottlenecks in a production application.

The perfmetrics package is a client of the Statsd daemon by Etsy, which
is in turn a client of Graphite (specifically, the Carbon daemon).  Because
the perfmetrics package sends UDP packets to Statsd, perfmetrics adds
no I/O delays to applications and little CPU overhead.  It can work
equally well in threaded (synchronous) or event-driven (asynchronous)
software.

Complete documentation is hosted at https://perfmetrics.readthedocs.io

.. image:: https://img.shields.io/pypi/v/perfmetrics.svg
   :target: https://pypi.org/project/perfmetrics/
   :alt: Latest release

.. image:: https://img.shields.io/pypi/pyversions/perfmetrics.svg
   :target: https://pypi.org/project/perfmetrics/
   :alt: Supported Python versions

.. image:: https://github.com/zodb/perfmetrics/workflows/tests/badge.svg
   :target: https://github.com/zodb/perfmetrics/actions?query=workflow%3Atests
   :alt: CI Build Status

.. image:: https://coveralls.io/repos/github/zodb/perfmetrics/badge.svg
   :target: https://coveralls.io/github/zodb/perfmetrics
   :alt: Code Coverage

.. image:: https://readthedocs.org/projects/perfmetrics/badge/?version=latest
   :target: https://perfmetrics.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

Usage
=====

Use the ``@metric`` and ``@metricmethod`` decorators to wrap functions
and methods that should send timing and call statistics to Statsd.
Add the decorators to any function or method that could be a bottleneck,
including library functions.

.. caution::

   These decorators are generic and cause the actual function
   signature to be lost, replaced with ``*args, **kwargs``. This can
   break certain types of introspection, including `zope.interface
   validation <https://github.com/zodb/perfmetrics/issues/15>`_. As a
   workaround, setting the environment variable
   ``PERFMETRICS_DISABLE_DECORATOR`` *before* importing perfmetrics or
   code that uses it will cause ``@perfmetrics.metric``, ``@perfmetrics.metricmethod``,
   ``@perfmetrics.Metric(...)`` and ``@perfmetrics.MetricMod(...)`` to
   return the original function unchanged.

Sample::

    from perfmetrics import metric
    from perfmetrics import metricmethod

    @metric
    def myfunction():
        """Do something that might be expensive"""

    class MyClass(object):
    	@metricmethod
    	def mymethod(self):
    	    """Do some other possibly expensive thing"""

Next, tell perfmetrics how to connect to Statsd.  (Until you do, the
decorators have no effect.)  Ideally, either your application should read the
Statsd URI from a configuration file at startup time, or you should set
the STATSD_URI environment variable.  The example below uses a
hard-coded URI::

    from perfmetrics import set_statsd_client
    set_statsd_client('statsd://localhost:8125')

    for i in xrange(1000):
        myfunction()
        MyClass().mymethod()

If you run that code, it will fire 2000 UDP packets at port
8125.  However, unless you have already installed Graphite and Statsd,
all of those packets will be ignored and dropped.  Dropping is a good thing:
you don't want your production application to fail or slow down just
because your performance monitoring system is stopped or not working.

Install Graphite and Statsd to receive and graph the metrics.  One good way
to install them is the `graphite_buildout example`_ at github, which
installs Graphite and Statsd in a custom location without root access.

.. _`graphite_buildout example`: https://github.com/hathawsh/graphite_buildout

Pyramid and WSGI
================

If you have a Pyramid app, you can set the ``statsd_uri`` for each
request by including perfmetrics in your configuration::

    config = Configuration(...)
    config.include('perfmetrics')

Also add a ``statsd_uri`` setting such as ``statsd://localhost:8125``.
Once configured, the perfmetrics tween will set up a Statsd client for
the duration of each request.  This is especially useful if you run
multiple apps in one Python interpreter and you want a different
``statsd_uri`` for each app.

Similar functionality exists for WSGI apps.  Add the app to your Paste Deploy
pipeline::

    [statsd]
    use = egg:perfmetrics#statsd
    statsd_uri = statsd://localhost:8125

    [pipeline:main]
    pipeline =
        statsd
        egg:myapp#myentrypoint

Threading
=========

While most programs send metrics from any thread to a single global
Statsd server, some programs need to use a different Statsd server
for each thread.  If you only need a global Statsd server, use the
``set_statsd_client`` function at application startup.  If you need
to use a different Statsd server for each thread, use the
``statsd_client_stack`` object in each thread.  Use the
``push``, ``pop``, and ``clear`` methods.


Graphite Tips
=============

Graphite stores each metric as a time series with multiple
resolutions.  The sample graphite_buildout stores 10 second resolution
for 48 hours, 1 hour resolution for 31 days, and 1 day resolution for 5 years.
To produce a coarse grained value from a fine grained value, Graphite computes
the mean value (average) for each time span.

Because Graphite computes mean values implicitly, the most sensible way to
treat counters in Graphite is as a "hits per second" value.  That way,
a graph can produce correct results no matter which resolution level
it uses.

Treating counters as hits per second has unfortunate consequences, however.
If some metric sees a 1000 hit spike in one second, then falls to zero for
at least 9 seconds, the Graphite chart for that metric will show a spike
of 100, not 1000, since Graphite receives metrics every 10 seconds and the
spike looks to Graphite like 100 hits per second over a 10 second period.

If you want your graph to show 1000 hits rather than 100 hits per second,
apply the Graphite ``hitcount()`` function, using a resolution of
10 seconds or more.  The hitcount function converts per-second
values to approximate raw hit counts.  Be sure
to provide a resolution value large enough to be represented by at least
one pixel width on the resulting graph, otherwise Graphite will compute
averages of hit counts and produce a confusing graph.

It usually makes sense to treat null values in Graphite as zero, though
that is not the default; by default, Graphite draws nothing for null values.
You can turn on that option for each graph.


=========
 CHANGES
=========

4.0.0 (2023-06-22)
==================

- Drop support for obsolete Python versions, including Python 2.7 and
  3.6.
- Add support for Python 3.12.


3.3.0 (2022-09-25)
==================

- Stop accidentally building manylinux wheels with unsafe math
  optimizations.
- Add support for Python 3.11.

NOTE: This will be the last major release to support legacy versions
of Python such as 2.7 and 3.6. Some such legacy versions may not have
binary wheels published for this release.


3.2.0.post0 (2021-09-28)
========================

- Add Windows wheels for 3.9 and 3.10.


3.2.0 (2021-09-28)
==================

- Add support for Python 3.10.

- Drop support for Python 3.5.

- Add aarch64 binary wheels.

3.1.0 (2021-02-04)
==================

- Add support for Python 3.8 and 3.9.
- Move to GitHub Actions from Travis CI.
- Support PyHamcrest 1.10 and later. See `issue 26
  <https://github.com/zodb/perfmetrics/issues/26>`_.
- The ``FakeStatsDClient`` for testing is now always true whether or
  not any observations have been seen, like the normal clients. See
  `issue <https://github.com/zodb/perfmetrics/issues/23>`_.
- Add support for `StatsD sets
  <https://github.com/statsd/statsd/blob/master/docs/metric_types.md#sets>`_,
  counters of unique events. See `PR 30 <https://github.com/zodb/perfmetrics/pull/30>`_.

3.0.0 (2019-09-03)
==================

- Drop support for EOL Python 2.6, 3.2, 3.3 and 3.4.

- Add support for Python 3.5, 3.6, and 3.7.

- Compile the performance-sensitive parts with Cython, leading to a
  10-30% speed improvement. See
  https://github.com/zodb/perfmetrics/issues/17.

- Caution: Metric names are enforced to be native strings (as a result
  of Cython compilation); they've always had to be ASCII-only but
  previously Unicode was allowed on Python 2. This is usually
  automatically the case when used as a decorator. On Python 2 using
  ``from __future__ import unicode_literals`` can cause problems
  (raising TypeError) when manually constructing ``Metric`` objects. A
  quick workaround is to set the environment variable
  ``PERFMETRICS_PURE_PYTHON`` before importing perfmetrics.

- Make decorated functions and methods configurable at runtime, not
  just compile time. See
  https://github.com/zodb/perfmetrics/issues/11.

- Include support for testing applications instrumented with
  perfmetrics in ``perfmetrics.testing``. This was previously released
  externally as ``nti.fakestatsd``. See https://github.com/zodb/perfmetrics/issues/9.

- Read the ``PERFMETRICS_DISABLE_DECORATOR`` environment variable when
  ``perfmetrics`` is imported, and if it is set, make the decorators ``@metric``,
  ``@metricmethod``, ``@Metric(...)`` and ``@MetricMod(...)`` return
  the function unchanged. This can be helpful for certain kinds of
  introspection tests. See https://github.com/zodb/perfmetrics/issues/15

2.0 (2013-12-10)
================

- Added the ``@MetricMod`` decorator, which changes the name of
  metrics in a given context. For example, ``@MetricMod('xyz.%s')``
  adds a prefix.

- Removed the "gauge suffix" feature. It was unnecessarily confusing.

- Timing metrics produced by ``@metric``, ``@metricmethod``, and
  ``@Metric`` now have a ".t" suffix by default to avoid naming
  conflicts.

1.0 (2012-10-09)
================

- Added 'perfmetrics.tween' and 'perfmetrics.wsgi' stats for measuring
  request timing and counts.

0.9.5 (2012-09-22)
==================

- Added an optional Pyramid tween and a similar WSGI filter app
  that sets up the Statsd client for each request.

0.9.4 (2012-09-08)
==================

- Optimized the use of reduced sample rates.

0.9.3 (2012-09-08)
==================

- Support the ``STATSD_URI`` environment variable.

0.9.2 (2012-09-01)
==================

- ``Metric`` can now be used as either a decorator or a context
  manager.

- Made the signature of StatsdClient more like James Socol's
  StatsClient.

0.9.1 (2012-09-01)
==================

- Fixed package metadata.

0.9 (2012-08-31)
================

- Initial release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zodb/perfmetrics",
    "name": "perfmetrics",
    "maintainer": "Jason Madden",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "jason@nextthought.com",
    "keywords": "statsd metrics performance monitoring",
    "author": "Shane Hathaway",
    "author_email": "shane@hathawaymix.org",
    "download_url": "https://files.pythonhosted.org/packages/a7/f2/779407ed789b740119056ec1231f804b7d2a46625a0c1c347a33f9f04d17/perfmetrics-4.0.0.tar.gz",
    "platform": null,
    "description": "=============\n perfmetrics\n=============\n\nThe perfmetrics package provides a simple way to add software performance\nmetrics to Python libraries and applications.  Use perfmetrics to find the\ntrue bottlenecks in a production application.\n\nThe perfmetrics package is a client of the Statsd daemon by Etsy, which\nis in turn a client of Graphite (specifically, the Carbon daemon).  Because\nthe perfmetrics package sends UDP packets to Statsd, perfmetrics adds\nno I/O delays to applications and little CPU overhead.  It can work\nequally well in threaded (synchronous) or event-driven (asynchronous)\nsoftware.\n\nComplete documentation is hosted at https://perfmetrics.readthedocs.io\n\n.. image:: https://img.shields.io/pypi/v/perfmetrics.svg\n   :target: https://pypi.org/project/perfmetrics/\n   :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/perfmetrics.svg\n   :target: https://pypi.org/project/perfmetrics/\n   :alt: Supported Python versions\n\n.. image:: https://github.com/zodb/perfmetrics/workflows/tests/badge.svg\n   :target: https://github.com/zodb/perfmetrics/actions?query=workflow%3Atests\n   :alt: CI Build Status\n\n.. image:: https://coveralls.io/repos/github/zodb/perfmetrics/badge.svg\n   :target: https://coveralls.io/github/zodb/perfmetrics\n   :alt: Code Coverage\n\n.. image:: https://readthedocs.org/projects/perfmetrics/badge/?version=latest\n   :target: https://perfmetrics.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\nUsage\n=====\n\nUse the ``@metric`` and ``@metricmethod`` decorators to wrap functions\nand methods that should send timing and call statistics to Statsd.\nAdd the decorators to any function or method that could be a bottleneck,\nincluding library functions.\n\n.. caution::\n\n   These decorators are generic and cause the actual function\n   signature to be lost, replaced with ``*args, **kwargs``. This can\n   break certain types of introspection, including `zope.interface\n   validation <https://github.com/zodb/perfmetrics/issues/15>`_. As a\n   workaround, setting the environment variable\n   ``PERFMETRICS_DISABLE_DECORATOR`` *before* importing perfmetrics or\n   code that uses it will cause ``@perfmetrics.metric``, ``@perfmetrics.metricmethod``,\n   ``@perfmetrics.Metric(...)`` and ``@perfmetrics.MetricMod(...)`` to\n   return the original function unchanged.\n\nSample::\n\n    from perfmetrics import metric\n    from perfmetrics import metricmethod\n\n    @metric\n    def myfunction():\n        \"\"\"Do something that might be expensive\"\"\"\n\n    class MyClass(object):\n    \t@metricmethod\n    \tdef mymethod(self):\n    \t    \"\"\"Do some other possibly expensive thing\"\"\"\n\nNext, tell perfmetrics how to connect to Statsd.  (Until you do, the\ndecorators have no effect.)  Ideally, either your application should read the\nStatsd URI from a configuration file at startup time, or you should set\nthe STATSD_URI environment variable.  The example below uses a\nhard-coded URI::\n\n    from perfmetrics import set_statsd_client\n    set_statsd_client('statsd://localhost:8125')\n\n    for i in xrange(1000):\n        myfunction()\n        MyClass().mymethod()\n\nIf you run that code, it will fire 2000 UDP packets at port\n8125.  However, unless you have already installed Graphite and Statsd,\nall of those packets will be ignored and dropped.  Dropping is a good thing:\nyou don't want your production application to fail or slow down just\nbecause your performance monitoring system is stopped or not working.\n\nInstall Graphite and Statsd to receive and graph the metrics.  One good way\nto install them is the `graphite_buildout example`_ at github, which\ninstalls Graphite and Statsd in a custom location without root access.\n\n.. _`graphite_buildout example`: https://github.com/hathawsh/graphite_buildout\n\nPyramid and WSGI\n================\n\nIf you have a Pyramid app, you can set the ``statsd_uri`` for each\nrequest by including perfmetrics in your configuration::\n\n    config = Configuration(...)\n    config.include('perfmetrics')\n\nAlso add a ``statsd_uri`` setting such as ``statsd://localhost:8125``.\nOnce configured, the perfmetrics tween will set up a Statsd client for\nthe duration of each request.  This is especially useful if you run\nmultiple apps in one Python interpreter and you want a different\n``statsd_uri`` for each app.\n\nSimilar functionality exists for WSGI apps.  Add the app to your Paste Deploy\npipeline::\n\n    [statsd]\n    use = egg:perfmetrics#statsd\n    statsd_uri = statsd://localhost:8125\n\n    [pipeline:main]\n    pipeline =\n        statsd\n        egg:myapp#myentrypoint\n\nThreading\n=========\n\nWhile most programs send metrics from any thread to a single global\nStatsd server, some programs need to use a different Statsd server\nfor each thread.  If you only need a global Statsd server, use the\n``set_statsd_client`` function at application startup.  If you need\nto use a different Statsd server for each thread, use the\n``statsd_client_stack`` object in each thread.  Use the\n``push``, ``pop``, and ``clear`` methods.\n\n\nGraphite Tips\n=============\n\nGraphite stores each metric as a time series with multiple\nresolutions.  The sample graphite_buildout stores 10 second resolution\nfor 48 hours, 1 hour resolution for 31 days, and 1 day resolution for 5 years.\nTo produce a coarse grained value from a fine grained value, Graphite computes\nthe mean value (average) for each time span.\n\nBecause Graphite computes mean values implicitly, the most sensible way to\ntreat counters in Graphite is as a \"hits per second\" value.  That way,\na graph can produce correct results no matter which resolution level\nit uses.\n\nTreating counters as hits per second has unfortunate consequences, however.\nIf some metric sees a 1000 hit spike in one second, then falls to zero for\nat least 9 seconds, the Graphite chart for that metric will show a spike\nof 100, not 1000, since Graphite receives metrics every 10 seconds and the\nspike looks to Graphite like 100 hits per second over a 10 second period.\n\nIf you want your graph to show 1000 hits rather than 100 hits per second,\napply the Graphite ``hitcount()`` function, using a resolution of\n10 seconds or more.  The hitcount function converts per-second\nvalues to approximate raw hit counts.  Be sure\nto provide a resolution value large enough to be represented by at least\none pixel width on the resulting graph, otherwise Graphite will compute\naverages of hit counts and produce a confusing graph.\n\nIt usually makes sense to treat null values in Graphite as zero, though\nthat is not the default; by default, Graphite draws nothing for null values.\nYou can turn on that option for each graph.\n\n\n=========\n CHANGES\n=========\n\n4.0.0 (2023-06-22)\n==================\n\n- Drop support for obsolete Python versions, including Python 2.7 and\n  3.6.\n- Add support for Python 3.12.\n\n\n3.3.0 (2022-09-25)\n==================\n\n- Stop accidentally building manylinux wheels with unsafe math\n  optimizations.\n- Add support for Python 3.11.\n\nNOTE: This will be the last major release to support legacy versions\nof Python such as 2.7 and 3.6. Some such legacy versions may not have\nbinary wheels published for this release.\n\n\n3.2.0.post0 (2021-09-28)\n========================\n\n- Add Windows wheels for 3.9 and 3.10.\n\n\n3.2.0 (2021-09-28)\n==================\n\n- Add support for Python 3.10.\n\n- Drop support for Python 3.5.\n\n- Add aarch64 binary wheels.\n\n3.1.0 (2021-02-04)\n==================\n\n- Add support for Python 3.8 and 3.9.\n- Move to GitHub Actions from Travis CI.\n- Support PyHamcrest 1.10 and later. See `issue 26\n  <https://github.com/zodb/perfmetrics/issues/26>`_.\n- The ``FakeStatsDClient`` for testing is now always true whether or\n  not any observations have been seen, like the normal clients. See\n  `issue <https://github.com/zodb/perfmetrics/issues/23>`_.\n- Add support for `StatsD sets\n  <https://github.com/statsd/statsd/blob/master/docs/metric_types.md#sets>`_,\n  counters of unique events. See `PR 30 <https://github.com/zodb/perfmetrics/pull/30>`_.\n\n3.0.0 (2019-09-03)\n==================\n\n- Drop support for EOL Python 2.6, 3.2, 3.3 and 3.4.\n\n- Add support for Python 3.5, 3.6, and 3.7.\n\n- Compile the performance-sensitive parts with Cython, leading to a\n  10-30% speed improvement. See\n  https://github.com/zodb/perfmetrics/issues/17.\n\n- Caution: Metric names are enforced to be native strings (as a result\n  of Cython compilation); they've always had to be ASCII-only but\n  previously Unicode was allowed on Python 2. This is usually\n  automatically the case when used as a decorator. On Python 2 using\n  ``from __future__ import unicode_literals`` can cause problems\n  (raising TypeError) when manually constructing ``Metric`` objects. A\n  quick workaround is to set the environment variable\n  ``PERFMETRICS_PURE_PYTHON`` before importing perfmetrics.\n\n- Make decorated functions and methods configurable at runtime, not\n  just compile time. See\n  https://github.com/zodb/perfmetrics/issues/11.\n\n- Include support for testing applications instrumented with\n  perfmetrics in ``perfmetrics.testing``. This was previously released\n  externally as ``nti.fakestatsd``. See https://github.com/zodb/perfmetrics/issues/9.\n\n- Read the ``PERFMETRICS_DISABLE_DECORATOR`` environment variable when\n  ``perfmetrics`` is imported, and if it is set, make the decorators ``@metric``,\n  ``@metricmethod``, ``@Metric(...)`` and ``@MetricMod(...)`` return\n  the function unchanged. This can be helpful for certain kinds of\n  introspection tests. See https://github.com/zodb/perfmetrics/issues/15\n\n2.0 (2013-12-10)\n================\n\n- Added the ``@MetricMod`` decorator, which changes the name of\n  metrics in a given context. For example, ``@MetricMod('xyz.%s')``\n  adds a prefix.\n\n- Removed the \"gauge suffix\" feature. It was unnecessarily confusing.\n\n- Timing metrics produced by ``@metric``, ``@metricmethod``, and\n  ``@Metric`` now have a \".t\" suffix by default to avoid naming\n  conflicts.\n\n1.0 (2012-10-09)\n================\n\n- Added 'perfmetrics.tween' and 'perfmetrics.wsgi' stats for measuring\n  request timing and counts.\n\n0.9.5 (2012-09-22)\n==================\n\n- Added an optional Pyramid tween and a similar WSGI filter app\n  that sets up the Statsd client for each request.\n\n0.9.4 (2012-09-08)\n==================\n\n- Optimized the use of reduced sample rates.\n\n0.9.3 (2012-09-08)\n==================\n\n- Support the ``STATSD_URI`` environment variable.\n\n0.9.2 (2012-09-01)\n==================\n\n- ``Metric`` can now be used as either a decorator or a context\n  manager.\n\n- Made the signature of StatsdClient more like James Socol's\n  StatsClient.\n\n0.9.1 (2012-09-01)\n==================\n\n- Fixed package metadata.\n\n0.9 (2012-08-31)\n================\n\n- Initial release.\n",
    "bugtrack_url": null,
    "license": "BSD-derived (http://www.repoze.org/LICENSE.txt)",
    "summary": "Send performance metrics about Python code to Statsd",
    "version": "4.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/zodb/perfmetrics/issues",
        "Documentation": "https://perfmetrics.readthedocs.io",
        "Homepage": "https://github.com/zodb/perfmetrics",
        "Source Code": "https://github.com/zodb/perfmetrics/"
    },
    "split_keywords": [
        "statsd",
        "metrics",
        "performance",
        "monitoring"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "165390dd8b3bbed2db3312fcf5eaf029147ce23db351867c519a77584a9706d1",
                "md5": "c567f49b5ba619488250828a3349d6d3",
                "sha256": "64164fb9551b235957eedd9af4013ae284c74f96a55a0f24783ea1b60083b668"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c567f49b5ba619488250828a3349d6d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 176362,
            "upload_time": "2023-06-22T20:45:01",
            "upload_time_iso_8601": "2023-06-22T20:45:01.344931Z",
            "url": "https://files.pythonhosted.org/packages/16/53/90dd8b3bbed2db3312fcf5eaf029147ce23db351867c519a77584a9706d1/perfmetrics-4.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "966e36b8323ce05173828f1c1b2d0f40d1fb98cf14f8992e53d0217ecca6fa5b",
                "md5": "caef39b50b2a133636b263beff30df14",
                "sha256": "93515cfa49f2e2b6336dea85a4d2344561115a4b2fe37ca8b2a12cff58f73eee"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "caef39b50b2a133636b263beff30df14",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 227322,
            "upload_time": "2023-06-22T20:50:32",
            "upload_time_iso_8601": "2023-06-22T20:50:32.112684Z",
            "url": "https://files.pythonhosted.org/packages/96/6e/36b8323ce05173828f1c1b2d0f40d1fb98cf14f8992e53d0217ecca6fa5b/perfmetrics-4.0.0-cp310-cp310-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc9c7ce1f7ca8696328a1a1081bbdde202249d844960d93db35867e2f40eaf89",
                "md5": "776cba9bf4cb43b722455b89e85ba5e7",
                "sha256": "e14ddffcd50ecc10ef684a91aa704a83166cb271f394dfeaeae71bbe0a70915e"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "776cba9bf4cb43b722455b89e85ba5e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 403507,
            "upload_time": "2023-06-22T21:02:01",
            "upload_time_iso_8601": "2023-06-22T21:02:01.467459Z",
            "url": "https://files.pythonhosted.org/packages/bc/9c/7ce1f7ca8696328a1a1081bbdde202249d844960d93db35867e2f40eaf89/perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d4652b2ad6f93f0d44d20a437e0b52954f1b9a44f92466b370ec9522ac541ebb",
                "md5": "82ec048613b716ef4b2060ec726a6ca1",
                "sha256": "fd8eb6b7b48191bc8703dfffa2ee30a6df777f89eb4f5356216b68a8f227a287"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "82ec048613b716ef4b2060ec726a6ca1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 419041,
            "upload_time": "2023-06-22T21:00:28",
            "upload_time_iso_8601": "2023-06-22T21:00:28.443790Z",
            "url": "https://files.pythonhosted.org/packages/d4/65/2b2ad6f93f0d44d20a437e0b52954f1b9a44f92466b370ec9522ac541ebb/perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4fbed577c3b09b8fc016c744042265f703f190511631e90d5c53f7eceef9d798",
                "md5": "e4ebab9e4febfd69a3a67237ee0dc2ec",
                "sha256": "8cc7c2adfedad44a8d985a10ba2d8723aa5adf1d649728898d44a6b6664ff97a"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "e4ebab9e4febfd69a3a67237ee0dc2ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 413950,
            "upload_time": "2023-06-22T21:07:05",
            "upload_time_iso_8601": "2023-06-22T21:07:05.347670Z",
            "url": "https://files.pythonhosted.org/packages/4f/be/d577c3b09b8fc016c744042265f703f190511631e90d5c53f7eceef9d798/perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cedba843126e0981e49b8f74254eb9b51d4a716ee4b971c784d4c61f9ac06ebd",
                "md5": "a94340fcf63a9699fbd39b4f0ab39531",
                "sha256": "09bf9633c754bb60eb97107bf4b8c97aa2c1bfbd9a5277bea9248fb90497e9a4"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a94340fcf63a9699fbd39b4f0ab39531",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 405353,
            "upload_time": "2023-06-22T20:50:29",
            "upload_time_iso_8601": "2023-06-22T20:50:29.580936Z",
            "url": "https://files.pythonhosted.org/packages/ce/db/a843126e0981e49b8f74254eb9b51d4a716ee4b971c784d4c61f9ac06ebd/perfmetrics-4.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "942ba892ec5964b2dc9342c49acc072af674f69c10a2a66b73109da574c5c898",
                "md5": "7ab75ebf59eafcb318b8a9938527f81e",
                "sha256": "6b08c0411d99e960f927e46bb6dd74f122ef8e2d7e25f0e6f35781c0621d0006"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7ab75ebf59eafcb318b8a9938527f81e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 387788,
            "upload_time": "2023-06-22T20:49:04",
            "upload_time_iso_8601": "2023-06-22T20:49:04.112006Z",
            "url": "https://files.pythonhosted.org/packages/94/2b/a892ec5964b2dc9342c49acc072af674f69c10a2a66b73109da574c5c898/perfmetrics-4.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bc8974c0bb7ba402c43de42a92b67ec827a58de34504ee023eb221e7723154d",
                "md5": "e57d381e78805186b9dbbe9b88e2ca0b",
                "sha256": "3744802612ab6542ac6225d4a83ac8020c37ec3d1f679702677d379852cc9d64"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e57d381e78805186b9dbbe9b88e2ca0b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 407665,
            "upload_time": "2023-06-22T21:04:43",
            "upload_time_iso_8601": "2023-06-22T21:04:43.355767Z",
            "url": "https://files.pythonhosted.org/packages/8b/c8/974c0bb7ba402c43de42a92b67ec827a58de34504ee023eb221e7723154d/perfmetrics-4.0.0-cp310-cp310-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6a79058dfea05f1439553668495bc349f34c3e0a7b57796f15490058a740de3",
                "md5": "6a5d32ba709c605fba9941f151672779",
                "sha256": "dc505bad6524758b7b10d918bb59ba1692198dae822c244c7f4f2da50d8ee418"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6a5d32ba709c605fba9941f151672779",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 409349,
            "upload_time": "2023-06-22T20:50:49",
            "upload_time_iso_8601": "2023-06-22T20:50:49.386084Z",
            "url": "https://files.pythonhosted.org/packages/d6/a7/9058dfea05f1439553668495bc349f34c3e0a7b57796f15490058a740de3/perfmetrics-4.0.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3f2c5ec9665310ac0d6e8b03b0b0169187b362103575a37daf17d45f591ba44",
                "md5": "cf3e6024a34aeffda8140a213a278905",
                "sha256": "c5b31ea2343d9b2c17615db86ab46ed8e9937f031757e7608bf5e4bb18ae4ed0"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "cf3e6024a34aeffda8140a213a278905",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 228677,
            "upload_time": "2023-06-22T20:48:56",
            "upload_time_iso_8601": "2023-06-22T20:48:56.163481Z",
            "url": "https://files.pythonhosted.org/packages/c3/f2/c5ec9665310ac0d6e8b03b0b0169187b362103575a37daf17d45f591ba44/perfmetrics-4.0.0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d90b8cb1716f9172f3eb1337409a170ddd3c3ba146c8264711d583185b700b19",
                "md5": "b37927b62d529a69c5052692d62e3ac0",
                "sha256": "ab2730d30bbb7d999859d3f66f50a2a9c1581016a1afc0968957dd733d1c4a32"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b37927b62d529a69c5052692d62e3ac0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 177086,
            "upload_time": "2023-06-22T20:45:03",
            "upload_time_iso_8601": "2023-06-22T20:45:03.233589Z",
            "url": "https://files.pythonhosted.org/packages/d9/0b/8cb1716f9172f3eb1337409a170ddd3c3ba146c8264711d583185b700b19/perfmetrics-4.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96db64b6ce58579f5cfc3dc6d85e3e1f4d236e6fdfd2e77f441740f78ead6ea3",
                "md5": "6cca92dfbcdf215c287d1e63dee35bdb",
                "sha256": "b02573aee383b8223cf09561226818b26d2720e71bd45efb3f70201bbdcca880"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6cca92dfbcdf215c287d1e63dee35bdb",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 434559,
            "upload_time": "2023-06-22T21:02:02",
            "upload_time_iso_8601": "2023-06-22T21:02:02.910193Z",
            "url": "https://files.pythonhosted.org/packages/96/db/64b6ce58579f5cfc3dc6d85e3e1f4d236e6fdfd2e77f441740f78ead6ea3/perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "120bc539d2c262464a64717ee0dd41177324646a9636104c448b5137e31ad8c1",
                "md5": "46f21ee60e903172e2af7896f32c56f7",
                "sha256": "6753ef9b8b6c153484f3ab8931ce33e67318c8d4e1917f384f520e391d81a810"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "46f21ee60e903172e2af7896f32c56f7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 448884,
            "upload_time": "2023-06-22T21:00:29",
            "upload_time_iso_8601": "2023-06-22T21:00:29.947851Z",
            "url": "https://files.pythonhosted.org/packages/12/0b/c539d2c262464a64717ee0dd41177324646a9636104c448b5137e31ad8c1/perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fd4777859ddd6d646dfbf60f2733a07e19c1ceb75aefea6444701da4ce229ec",
                "md5": "903b5596002cf3f4ec0f378d1f5d56a5",
                "sha256": "364961b55947185997143258283c9a6d6a79e4608e0afccc790f137946d35446"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "903b5596002cf3f4ec0f378d1f5d56a5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 445669,
            "upload_time": "2023-06-22T21:07:07",
            "upload_time_iso_8601": "2023-06-22T21:07:07.339924Z",
            "url": "https://files.pythonhosted.org/packages/3f/d4/777859ddd6d646dfbf60f2733a07e19c1ceb75aefea6444701da4ce229ec/perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06678476e349705b3dff2dca04214a58456a3a08787fbb4ccd8ea4b6b1f9d509",
                "md5": "a300833faed760fadc15aa4b5787fc04",
                "sha256": "22d5451dbfa67799bdb3a25562c8cb2201a353552e136db7044d16e8402533b3"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a300833faed760fadc15aa4b5787fc04",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 434588,
            "upload_time": "2023-06-22T20:50:31",
            "upload_time_iso_8601": "2023-06-22T20:50:31.362564Z",
            "url": "https://files.pythonhosted.org/packages/06/67/8476e349705b3dff2dca04214a58456a3a08787fbb4ccd8ea4b6b1f9d509/perfmetrics-4.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21c910737692ed0cf55b72565b037aeab688270272cc240517fb65399c800049",
                "md5": "58bf7f6103d8923e5c96df019b9a9539",
                "sha256": "2db6e37432cb22a00ffc66588cebb8374d07c63b04677ff288b0c1bcf063187f"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "58bf7f6103d8923e5c96df019b9a9539",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 431573,
            "upload_time": "2023-06-22T21:04:45",
            "upload_time_iso_8601": "2023-06-22T21:04:45.031117Z",
            "url": "https://files.pythonhosted.org/packages/21/c9/10737692ed0cf55b72565b037aeab688270272cc240517fb65399c800049/perfmetrics-4.0.0-cp311-cp311-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a46c165b2b6e427c8bbceaa5cccf305008094e8bbb7896235740e5ae39bf2b4",
                "md5": "bf82de286d252d2228d8fecd2a0aa05b",
                "sha256": "a736dab6e216a330b0ff0396eb96ed500a24249d0b1de77e3539ed550cd79ac8"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bf82de286d252d2228d8fecd2a0aa05b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 432576,
            "upload_time": "2023-06-22T20:50:51",
            "upload_time_iso_8601": "2023-06-22T20:50:51.225939Z",
            "url": "https://files.pythonhosted.org/packages/2a/46/c165b2b6e427c8bbceaa5cccf305008094e8bbb7896235740e5ae39bf2b4/perfmetrics-4.0.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0fb306eb3aa5c8ed7e84e892ef083c9078310e09a152fbdd0475d78d4c3cd2a",
                "md5": "e3d48c74701cefdc9a144dbb8e00ce41",
                "sha256": "387f40f302f8c8f982b4a21297acf115ff7d5916b7ce4cbec68a37d87e2ded92"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "e3d48c74701cefdc9a144dbb8e00ce41",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 230208,
            "upload_time": "2023-06-22T20:50:24",
            "upload_time_iso_8601": "2023-06-22T20:50:24.108162Z",
            "url": "https://files.pythonhosted.org/packages/a0/fb/306eb3aa5c8ed7e84e892ef083c9078310e09a152fbdd0475d78d4c3cd2a/perfmetrics-4.0.0-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb6ed114b7d0c0fa020d349c6ee45c2a5c71c4b6b6b78c10b990866b5621a9c8",
                "md5": "b736e7dfccf6d3622289ae2d9a8f56ae",
                "sha256": "7de60df1271b4cabab77d4c4cec150fcaeee003ea981ac79b10c04b5e14bdbfc"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b736e7dfccf6d3622289ae2d9a8f56ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 177683,
            "upload_time": "2023-06-22T20:45:05",
            "upload_time_iso_8601": "2023-06-22T20:45:05.713921Z",
            "url": "https://files.pythonhosted.org/packages/fb/6e/d114b7d0c0fa020d349c6ee45c2a5c71c4b6b6b78c10b990866b5621a9c8/perfmetrics-4.0.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "20639a4adb40ec395c5cc7d5446fac47c4c22e364f31ccda2ee9b02f61110160",
                "md5": "8bb94fcec77f80953815bdb90bdfa999",
                "sha256": "3541704e6ed0b1230dc8ffc38def3079e82bf3348b2fba73daa3bfe84f4f658a"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8bb94fcec77f80953815bdb90bdfa999",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 437707,
            "upload_time": "2023-06-22T21:02:04",
            "upload_time_iso_8601": "2023-06-22T21:02:04.832305Z",
            "url": "https://files.pythonhosted.org/packages/20/63/9a4adb40ec395c5cc7d5446fac47c4c22e364f31ccda2ee9b02f61110160/perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23edd2f79b3ed6a4a361800fe7024b72772868350c5e9769a58bb2443e59abaa",
                "md5": "c352e176024732454d2479d7c2fa9ee2",
                "sha256": "4604c8098a15908c3dd84fca7bab3b33572b7f75deb594ea3c5cad07198015da"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "c352e176024732454d2479d7c2fa9ee2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 447825,
            "upload_time": "2023-06-22T21:00:31",
            "upload_time_iso_8601": "2023-06-22T21:00:31.617651Z",
            "url": "https://files.pythonhosted.org/packages/23/ed/d2f79b3ed6a4a361800fe7024b72772868350c5e9769a58bb2443e59abaa/perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46efe0044d35802837735150473737380e081dbb76df8bfe7d1a5424ad8dfc2b",
                "md5": "ca20880cb57e07d0ca5a7cb0c8b981b5",
                "sha256": "7a9f39f12082d5810087657345d8247586145e28f9dc2f5abaa32b93a5d75845"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "ca20880cb57e07d0ca5a7cb0c8b981b5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 450071,
            "upload_time": "2023-06-22T21:07:09",
            "upload_time_iso_8601": "2023-06-22T21:07:09.338640Z",
            "url": "https://files.pythonhosted.org/packages/46/ef/e0044d35802837735150473737380e081dbb76df8bfe7d1a5424ad8dfc2b/perfmetrics-4.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c79f258ac31479ee7f3c9b4ec5a41723b5b16bc01810ccda2779c7e893b14ab",
                "md5": "0b119ef4d5e8cd49cb6e8960173e99be",
                "sha256": "bf12df13ea6800f10c9266fdf953a1f425d1c126112f235be44b9d4e4821fa0c"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0b119ef4d5e8cd49cb6e8960173e99be",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 442401,
            "upload_time": "2023-06-22T20:50:33",
            "upload_time_iso_8601": "2023-06-22T20:50:33.708839Z",
            "url": "https://files.pythonhosted.org/packages/0c/79/f258ac31479ee7f3c9b4ec5a41723b5b16bc01810ccda2779c7e893b14ab/perfmetrics-4.0.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00e903eb4b02c7c026f99bc0a335327452bc44fa768359110c8daf01d36b3abe",
                "md5": "81613758f81249b2fe8c9f405eae99e7",
                "sha256": "b45e441540ae872a3550f7aecea778e9147ab452a477fc110d206ce768bcb56e"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "81613758f81249b2fe8c9f405eae99e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 438080,
            "upload_time": "2023-06-22T21:04:46",
            "upload_time_iso_8601": "2023-06-22T21:04:46.792981Z",
            "url": "https://files.pythonhosted.org/packages/00/e9/03eb4b02c7c026f99bc0a335327452bc44fa768359110c8daf01d36b3abe/perfmetrics-4.0.0-cp312-cp312-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "335d2b360d63c8b9dc3e196792b95602a8f462f8fa2e7f5a52b11c85d5daeecb",
                "md5": "f4cd1e389ad80109a988982bdefc1d04",
                "sha256": "b96e7f3d003b4877ef848d19b6d73e06f9e9bed7145544dd0bb646f65ca91215"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f4cd1e389ad80109a988982bdefc1d04",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 442374,
            "upload_time": "2023-06-22T20:50:53",
            "upload_time_iso_8601": "2023-06-22T20:50:53.336877Z",
            "url": "https://files.pythonhosted.org/packages/33/5d/2b360d63c8b9dc3e196792b95602a8f462f8fa2e7f5a52b11c85d5daeecb/perfmetrics-4.0.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ceda80b4fa518f2663b2462a0cc933a65820e3e9759295f3373062287be1c3f",
                "md5": "aba8ae7e43399075940ccb0cc509ee6d",
                "sha256": "16a991c6b6cfaca0620b6380457283e507a34e247680d3cc4b5a7f6a436b7478"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aba8ae7e43399075940ccb0cc509ee6d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 224920,
            "upload_time": "2023-06-22T20:50:19",
            "upload_time_iso_8601": "2023-06-22T20:50:19.505247Z",
            "url": "https://files.pythonhosted.org/packages/0c/ed/a80b4fa518f2663b2462a0cc933a65820e3e9759295f3373062287be1c3f/perfmetrics-4.0.0-cp37-cp37m-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf4197e27eb0f2781b8de47450003782618586f4540b344bc6c1e0aa24c2b8aa",
                "md5": "e90ad27d6d88152005ea990a21a8104d",
                "sha256": "921c70740968609ca1b39c20b3e64ae7e0b21a8dc7a726a74b7c4c0b7bfc8a39"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e90ad27d6d88152005ea990a21a8104d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 374194,
            "upload_time": "2023-06-22T21:02:06",
            "upload_time_iso_8601": "2023-06-22T21:02:06.197657Z",
            "url": "https://files.pythonhosted.org/packages/cf/41/97e27eb0f2781b8de47450003782618586f4540b344bc6c1e0aa24c2b8aa/perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3053b3be7f46704105452e0df79fa2652083becf1adf77b7400b2ede783bf7db",
                "md5": "88e7128740936414ae9034805eac7e4e",
                "sha256": "ffa02618070402029a882743b507852f92b86104aee8fdc0686362a094a85d35"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "88e7128740936414ae9034805eac7e4e",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 394212,
            "upload_time": "2023-06-22T21:00:33",
            "upload_time_iso_8601": "2023-06-22T21:00:33.195958Z",
            "url": "https://files.pythonhosted.org/packages/30/53/b3be7f46704105452e0df79fa2652083becf1adf77b7400b2ede783bf7db/perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5554abff7405f507baae495df42a11f3afc89ecf49bdabc3598597d40a863e91",
                "md5": "1fd8000a163e67540c580cc76b01a303",
                "sha256": "a8b87e91bee546faa04bc8aeadae4f0094cf197591c27303cf0bbbebbd9e0aba"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "1fd8000a163e67540c580cc76b01a303",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 388605,
            "upload_time": "2023-06-22T21:07:11",
            "upload_time_iso_8601": "2023-06-22T21:07:11.331480Z",
            "url": "https://files.pythonhosted.org/packages/55/54/abff7405f507baae495df42a11f3afc89ecf49bdabc3598597d40a863e91/perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "403c2f2e1e9a2d3250d923f41c94932c896e81be86965136b52a67bf1167d57f",
                "md5": "d59ae2a1f14478991942a91787d4ee11",
                "sha256": "acd60ac0c875cad9fe002256d011af55a134f4da90e4e4fe05b42ec089d5aad2"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d59ae2a1f14478991942a91787d4ee11",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 375506,
            "upload_time": "2023-06-22T20:50:35",
            "upload_time_iso_8601": "2023-06-22T20:50:35.963156Z",
            "url": "https://files.pythonhosted.org/packages/40/3c/2f2e1e9a2d3250d923f41c94932c896e81be86965136b52a67bf1167d57f/perfmetrics-4.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d70b82f87389a4a98fc3743e3f0f29ba349af59857a2719ecf9222045ad7cc60",
                "md5": "d307f0e84ca8c6fa522b00000243b3d4",
                "sha256": "107c2afe7359efa052f50668ceb694786004568a5d2dc7303fb3bfa02984bb3d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d307f0e84ca8c6fa522b00000243b3d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 362306,
            "upload_time": "2023-06-22T20:49:05",
            "upload_time_iso_8601": "2023-06-22T20:49:05.758256Z",
            "url": "https://files.pythonhosted.org/packages/d7/0b/82f87389a4a98fc3743e3f0f29ba349af59857a2719ecf9222045ad7cc60/perfmetrics-4.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d34c6aded9fb8771780097cf26bb745c722da1f56314fc02b6e44c44eaef8b8b",
                "md5": "0bf9d2bd75582813bfef062c785283ac",
                "sha256": "f735e478e1425c7b93500a9c418e050bd2c9f2a718faff9440a19a55adad7ea3"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0bf9d2bd75582813bfef062c785283ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 378078,
            "upload_time": "2023-06-22T21:04:48",
            "upload_time_iso_8601": "2023-06-22T21:04:48.546435Z",
            "url": "https://files.pythonhosted.org/packages/d3/4c/6aded9fb8771780097cf26bb745c722da1f56314fc02b6e44c44eaef8b8b/perfmetrics-4.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7acf79043649410dab8d9e707955186015d09cc9e08b06c1db170b77dfc2c08b",
                "md5": "e7f793bb512e08e78d9e6ec2d2dadd4d",
                "sha256": "c6b45aac386bef0e6385bf62062a6de533c1aff91f1a484a940a28e36481ac4d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e7f793bb512e08e78d9e6ec2d2dadd4d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 379280,
            "upload_time": "2023-06-22T20:50:55",
            "upload_time_iso_8601": "2023-06-22T20:50:55.032807Z",
            "url": "https://files.pythonhosted.org/packages/7a/cf/79043649410dab8d9e707955186015d09cc9e08b06c1db170b77dfc2c08b/perfmetrics-4.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1fb3f21a6d563d9cffeb259e75fcae13793f2c7aa30502819f3e880781132cae",
                "md5": "58d9953da2456f075d8d9b1d63895f64",
                "sha256": "a8d737e718a45fce6458f97de5aad4b88922736ba3d429641c02494a9503954f"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "58d9953da2456f075d8d9b1d63895f64",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 176706,
            "upload_time": "2023-06-22T20:45:07",
            "upload_time_iso_8601": "2023-06-22T20:45:07.811485Z",
            "url": "https://files.pythonhosted.org/packages/1f/b3/f21a6d563d9cffeb259e75fcae13793f2c7aa30502819f3e880781132cae/perfmetrics-4.0.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "06a9c578fba4900444efe8d0e88ffcb5d09d70a2ffb518d63785600090470c78",
                "md5": "29f6d374b3871f8359f83adbf272c893",
                "sha256": "07682c5bd31ade49d9b8773483b63dbf9eccedf6184a9cb53666e9e095a8c9f1"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "29f6d374b3871f8359f83adbf272c893",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 226862,
            "upload_time": "2023-06-22T20:50:35",
            "upload_time_iso_8601": "2023-06-22T20:50:35.255334Z",
            "url": "https://files.pythonhosted.org/packages/06/a9/c578fba4900444efe8d0e88ffcb5d09d70a2ffb518d63785600090470c78/perfmetrics-4.0.0-cp38-cp38-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e07b53195533502d1f9e0e2ee31989dbef11c98ee66986522ee435a346861449",
                "md5": "cc6d4fe2782c0d1bf140d58c889c7027",
                "sha256": "72df65554c5a3742d84388e1d751d3f1c5132db3caf57a6f0f0d1269f5afc37c"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "cc6d4fe2782c0d1bf140d58c889c7027",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 410398,
            "upload_time": "2023-06-22T21:02:08",
            "upload_time_iso_8601": "2023-06-22T21:02:08.035277Z",
            "url": "https://files.pythonhosted.org/packages/e0/7b/53195533502d1f9e0e2ee31989dbef11c98ee66986522ee435a346861449/perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1dea13b22a0e7d0f74a48f1654da543e3b9b392d515ccbb0fa2274712ef8e3f8",
                "md5": "9e28711480f97f90ddd7c71b98dcec6e",
                "sha256": "22d05d3213fa8484e5103dbbeed00c57a34af253d14a966733fce60faa2cafa5"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "9e28711480f97f90ddd7c71b98dcec6e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 422319,
            "upload_time": "2023-06-22T21:00:34",
            "upload_time_iso_8601": "2023-06-22T21:00:34.563463Z",
            "url": "https://files.pythonhosted.org/packages/1d/ea/13b22a0e7d0f74a48f1654da543e3b9b392d515ccbb0fa2274712ef8e3f8/perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aaf80d71df4671e5e655021fa69ea8d0c53ee4d0749f28381f6b07ced1bd204a",
                "md5": "fc2c19fd33a5d01eca81205753ad66a7",
                "sha256": "5efeef41396355c7c68827e7374b436a3830bf41e9326dcf8a221ab15bb37954"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "fc2c19fd33a5d01eca81205753ad66a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 416968,
            "upload_time": "2023-06-22T21:07:13",
            "upload_time_iso_8601": "2023-06-22T21:07:13.221551Z",
            "url": "https://files.pythonhosted.org/packages/aa/f8/0d71df4671e5e655021fa69ea8d0c53ee4d0749f28381f6b07ced1bd204a/perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e5a876e080ea07350f18aff56d97ef592a0f07862cb417866d8151fa5741396",
                "md5": "e58145a5d6c6d163439f5d1a76087a9e",
                "sha256": "ee71e4b68700f8c95f49a94b5ddaa6ae8267c68a998e17be4c7c1c3eb06a29fc"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e58145a5d6c6d163439f5d1a76087a9e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 413133,
            "upload_time": "2023-06-22T20:50:38",
            "upload_time_iso_8601": "2023-06-22T20:50:38.309061Z",
            "url": "https://files.pythonhosted.org/packages/2e/5a/876e080ea07350f18aff56d97ef592a0f07862cb417866d8151fa5741396/perfmetrics-4.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "65819f1535f978f6365e1562d4d06f80739e212cb18de72204851edd20ac5b6a",
                "md5": "62e2c326ad07235cd73262ba605c9717",
                "sha256": "636ee8960409e5eeb5d92d1f5ab1c4cc1e520985b20c63255e2a627c601617ac"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "62e2c326ad07235cd73262ba605c9717",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 402038,
            "upload_time": "2023-06-22T20:49:07",
            "upload_time_iso_8601": "2023-06-22T20:49:07.357830Z",
            "url": "https://files.pythonhosted.org/packages/65/81/9f1535f978f6365e1562d4d06f80739e212cb18de72204851edd20ac5b6a/perfmetrics-4.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c42245b02afef3e37ab6fb8577571721e7b777ab1ab41b992628ddab0deff0f",
                "md5": "aab81c46b0a6ea4535c5d04e4d2d6980",
                "sha256": "b4b9c6e3907735df3fa962f29ff8675438ed016b42721b8aee54a6260183129d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "aab81c46b0a6ea4535c5d04e4d2d6980",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 424621,
            "upload_time": "2023-06-22T21:04:50",
            "upload_time_iso_8601": "2023-06-22T21:04:50.279117Z",
            "url": "https://files.pythonhosted.org/packages/3c/42/245b02afef3e37ab6fb8577571721e7b777ab1ab41b992628ddab0deff0f/perfmetrics-4.0.0-cp38-cp38-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "daf4f14f4291a650d12daaca641be899713f72b35fec8499fe0269d1be07f41f",
                "md5": "4491a4059805c8507666a4be014d03d7",
                "sha256": "d421c963f32adbc9b379a6b2a4e1ee53b36cc7a586831e9fb211409c274279f7"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4491a4059805c8507666a4be014d03d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 426641,
            "upload_time": "2023-06-22T20:50:56",
            "upload_time_iso_8601": "2023-06-22T20:50:56.740550Z",
            "url": "https://files.pythonhosted.org/packages/da/f4/f14f4291a650d12daaca641be899713f72b35fec8499fe0269d1be07f41f/perfmetrics-4.0.0-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c43a19b5e9cbb092d3866835588d84926b98eedb183b932bb270bdd988c4153f",
                "md5": "c1a64bfd461645485c88a3a29833a8c0",
                "sha256": "43fe696442190c93970d1bc14ce3ae914f7bb72eb2835fc97aedf2b1e5b9936c"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c1a64bfd461645485c88a3a29833a8c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 176612,
            "upload_time": "2023-06-22T20:45:09",
            "upload_time_iso_8601": "2023-06-22T20:45:09.679984Z",
            "url": "https://files.pythonhosted.org/packages/c4/3a/19b5e9cbb092d3866835588d84926b98eedb183b932bb270bdd988c4153f/perfmetrics-4.0.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b540b19a458439b2d977325adcac71c1d3884aca8e32a9484f663971652d020",
                "md5": "33d7d226240b9f53b1d4775b6b62cc0c",
                "sha256": "c2f3221777561b175ae2eb5c53ddf998d9b71318659bec626f1bfc846cacbccc"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "33d7d226240b9f53b1d4775b6b62cc0c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 227929,
            "upload_time": "2023-06-22T20:51:33",
            "upload_time_iso_8601": "2023-06-22T20:51:33.827666Z",
            "url": "https://files.pythonhosted.org/packages/5b/54/0b19a458439b2d977325adcac71c1d3884aca8e32a9484f663971652d020/perfmetrics-4.0.0-cp39-cp39-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf6a3644f8ad3ec9240e71f57c83add1527aecf2172a386c3767ed3d80f8066d",
                "md5": "b60eb9fc02e1f6a2709406bc12985620",
                "sha256": "1dbeb631bfdb00e00eb5ef5b1dd54fb877540ec838aa46bc3c00fc58d3ee5a6d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b60eb9fc02e1f6a2709406bc12985620",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 404716,
            "upload_time": "2023-06-22T21:02:09",
            "upload_time_iso_8601": "2023-06-22T21:02:09.429623Z",
            "url": "https://files.pythonhosted.org/packages/bf/6a/3644f8ad3ec9240e71f57c83add1527aecf2172a386c3767ed3d80f8066d/perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71ba1ce3a98bcb4bd27523ff0892b6dbf95a963bb6b023974eb35a5eac24119b",
                "md5": "a8aa2ebab064a740500f972d80290461",
                "sha256": "75d0168c66f1d34518d13032506b2852965e9f51b37f9bc58800389b215819ac"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "a8aa2ebab064a740500f972d80290461",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 420318,
            "upload_time": "2023-06-22T21:00:36",
            "upload_time_iso_8601": "2023-06-22T21:00:36.249250Z",
            "url": "https://files.pythonhosted.org/packages/71/ba/1ce3a98bcb4bd27523ff0892b6dbf95a963bb6b023974eb35a5eac24119b/perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6bf715cd554dc6591c8e9b71ae282ab0f305f9a17f2bb45b686658acdaa7691",
                "md5": "2d248f46e1ce898cbb0af88ff861fbd9",
                "sha256": "62b24a046918c866c614aca55fd88b98fa6069899a25466c0ec954507d1f6a40"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "2d248f46e1ce898cbb0af88ff861fbd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 414999,
            "upload_time": "2023-06-22T21:07:15",
            "upload_time_iso_8601": "2023-06-22T21:07:15.082896Z",
            "url": "https://files.pythonhosted.org/packages/f6/bf/715cd554dc6591c8e9b71ae282ab0f305f9a17f2bb45b686658acdaa7691/perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9daba872829446111ee51828a8a83a2d2cf9a5d50cdb8d29960db4d064ee96e3",
                "md5": "83d402b76a7e19f45e00787f9effa842",
                "sha256": "ed8dc14c975fc839daaeef2ad215733e044d091e592a29fd63c4c73cbfa0277d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "83d402b76a7e19f45e00787f9effa842",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 406456,
            "upload_time": "2023-06-22T20:50:39",
            "upload_time_iso_8601": "2023-06-22T20:50:39.965472Z",
            "url": "https://files.pythonhosted.org/packages/9d/ab/a872829446111ee51828a8a83a2d2cf9a5d50cdb8d29960db4d064ee96e3/perfmetrics-4.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f30cfa2c50d7a7ce4f060cf54d3b08f29907d7ac71f022aa0ff15b9cd6f66d7f",
                "md5": "3b3d7fa93e691106b421ced53d878be9",
                "sha256": "928638f9137c001d2735fe0b016bc5540dfae8f7415fa4abe7c1180c29e7885d"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3b3d7fa93e691106b421ced53d878be9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 388668,
            "upload_time": "2023-06-22T20:49:09",
            "upload_time_iso_8601": "2023-06-22T20:49:09.078153Z",
            "url": "https://files.pythonhosted.org/packages/f3/0c/fa2c50d7a7ce4f060cf54d3b08f29907d7ac71f022aa0ff15b9cd6f66d7f/perfmetrics-4.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6e573aae15e9ea0782ff343131f8e7c437414e494a16f8488575c2bb8b406b5",
                "md5": "eafae05568d5a1578e105b7f8b702237",
                "sha256": "c70a05c057d4930a9fb139f22a3d05776e4bf62fbcff48bcfcd2c01c31a9bfc7"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "eafae05568d5a1578e105b7f8b702237",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 407818,
            "upload_time": "2023-06-22T21:04:51",
            "upload_time_iso_8601": "2023-06-22T21:04:51.731467Z",
            "url": "https://files.pythonhosted.org/packages/e6/e5/73aae15e9ea0782ff343131f8e7c437414e494a16f8488575c2bb8b406b5/perfmetrics-4.0.0-cp39-cp39-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "267b10c3da7c635bbd3a1fbd76ab2116c1d9e14bb35872b882c3657f64225555",
                "md5": "3e264e53ea1850983fc8a1899e0eed55",
                "sha256": "13d86bfdba63ecebdc1940a6231c0a20bdb55349dcc4ded156586c0cb47ef742"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3e264e53ea1850983fc8a1899e0eed55",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 409523,
            "upload_time": "2023-06-22T20:50:58",
            "upload_time_iso_8601": "2023-06-22T20:50:58.527464Z",
            "url": "https://files.pythonhosted.org/packages/26/7b/10c3da7c635bbd3a1fbd76ab2116c1d9e14bb35872b882c3657f64225555/perfmetrics-4.0.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a7f2779407ed789b740119056ec1231f804b7d2a46625a0c1c347a33f9f04d17",
                "md5": "de46aea9815e84d671c82d812b6bf04e",
                "sha256": "f6da36006cfef7d2cb9f938da369cd2fbdd40b9c6025ac645854c7ee72fe479f"
            },
            "downloads": -1,
            "filename": "perfmetrics-4.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "de46aea9815e84d671c82d812b6bf04e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 140069,
            "upload_time": "2023-06-22T20:40:48",
            "upload_time_iso_8601": "2023-06-22T20:40:48.683649Z",
            "url": "https://files.pythonhosted.org/packages/a7/f2/779407ed789b740119056ec1231f804b7d2a46625a0c1c347a33f9f04d17/perfmetrics-4.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-22 20:40:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zodb",
    "github_project": "perfmetrics",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "appveyor": true,
    "tox": true,
    "lcname": "perfmetrics"
}
        
Elapsed time: 0.08094s