evalica


Nameevalica JSON
Version 0.3.2 PyPI version JSON
download
home_pageNone
SummaryEvalica, your favourite evaluation toolkit.
upload_time2024-12-11 21:19:10
maintainerNone
docs_urlNone
authorNone
requires_python~=3.8
licenseApache-2.0
keywords bradley-terry elo pagerank eigenvector evaluation leaderboard pairwise comparisons ranking rating statistics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Evalica, your favourite evaluation toolkit

[![Evalica](https://raw.githubusercontent.com/dustalov/evalica/master/Evalica.svg)](https://github.com/dustalov/evalica)

[![Tests][github_tests_badge]][github_tests_link]
[![Read the Docs][rtfd_badge]][rtfd_link]
[![PyPI Version][pypi_badge]][pypi_link]
[![Anaconda.org][conda_badge]][conda_link]
[![Codecov][codecov_badge]][codecov_link]
[![CodSpeed Badge][codspeed_badge]][codspeed_link]

[github_tests_badge]: https://github.com/dustalov/evalica/actions/workflows/test.yml/badge.svg?branch=master
[github_tests_link]: https://github.com/dustalov/evalica/actions/workflows/test.yml
[rtfd_badge]: https://readthedocs.org/projects/evalica/badge/
[rtfd_link]: https://evalica.readthedocs.io/
[pypi_badge]: https://badge.fury.io/py/evalica.svg
[pypi_link]: https://pypi.python.org/pypi/evalica
[conda_badge]: https://anaconda.org/conda-forge/evalica/badges/version.svg
[conda_link]: https://anaconda.org/conda-forge/evalica
[codecov_badge]: https://codecov.io/gh/dustalov/evalica/branch/master/graph/badge.svg
[codecov_link]: https://codecov.io/gh/dustalov/evalica
[codspeed_badge]: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json
[codspeed_link]: https://codspeed.io/dustalov/evalica

**Evalica** [ɛˈʋalit͡sa] (eh-vah-lee-tsah) is a Python library that transforms pairwise comparisons into ranked lists of items. It offers convenient high-performant Rust implementations of the corresponding methods via [PyO3](https://pyo3.rs/), and additionally provides naïve Python code for most of them. Evalica is fully compatible with [NumPy](https://numpy.org/) arrays and [pandas](https://pandas.pydata.org/) data frames.

- [Tutorial](https://dustalov.github.io/evalica/) (and [Tutorial.ipynb](Tutorial.ipynb))
- [Chatbot-Arena.ipynb](Chatbot-Arena.ipynb) [![Open in Colab][colab_badge]][colab_link] [![Binder][binder_badge]][binder_link]
- [Pair2Rank](https://huggingface.co/spaces/dustalov/pair2rank)

[colab_badge]: https://colab.research.google.com/assets/colab-badge.svg
[colab_link]: https://colab.research.google.com/github/dustalov/evalica/blob/master/Chatbot-Arena.ipynb
[binder_badge]: https://mybinder.org/badge_logo.svg
[binder_link]: https://mybinder.org/v2/gh/dustalov/evalica/HEAD?labpath=Chatbot-Arena.ipynb

The logo was created using [Recraft](https://www.recraft.ai/).

> [!NOTE]
> The demonstration paper describing Evalica has been accepted at the [COLING 2025](https://coling2025.org/) conference in Abu Dhabi!

## Installation

- [pip](https://pip.pypa.io/): `pip install evalica`
- [Anaconda](https://docs.conda.io/en/latest/): `conda install conda-forge::evalica`

## Usage

Imagine that we would like to rank the different meals and have the following dataset of three comparisons produced by food experts.

| **Item X**| **Item Y** | **Winner** |
|:---:|:---:|:---:|
| `pizza` | `burger` | `x` |
| `burger` | `sushi` | `y` |
| `pizza` | `sushi` | `tie` |

Given this hypothetical example, Evalica takes these three columns and computes the outcome of the given pairwise comparison according to the chosen model. Note that the first argument is the column `Item X`, the second argument is the column `Item Y`, and the third argument corresponds to the column `Winner`.

```pycon
>>> from evalica import elo, Winner
>>> result = elo(
...     ['pizza', 'burger', 'pizza'],
...     ['burger', 'sushi', 'sushi'],
...     [Winner.X, Winner.Y, Winner.Draw],
... )
>>> result.scores
pizza     1014.972058
burger     970.647200
sushi     1014.380742
Name: elo, dtype: float64
```

As a result, we obtain [Elo scores](https://en.wikipedia.org/wiki/Elo_rating_system) of our items. In this example, `pizza` was the most favoured item, `sushi` was the runner-up, and `burger` was the least preferred item.

| **Item**| **Score** |
|---|---:|
| `pizza` | 1014.97 |
| `burger` | 970.65 |
| `sushi` | 1014.38 |

## Command-Line Interface

Evalica also provides a simple command-line interface, allowing the use of these methods in shell scripts and for prototyping.

```console
$ evalica -i food.csv bradley-terry                
item,score,rank
Tacos,2.509025136024378,1
Sushi,1.1011561298265815,2
Burger,0.8549063627182466,3
Pasta,0.7403814336665869,4
Pizza,0.5718366915548537,5
```

Refer to the [food.csv](food.csv) file as an input example.

## Web Application

Evalica has a built-in [Gradio](https://www.gradio.app/) application that can be launched as `python3 -m evalica.gradio`. Please ensure that the library was installed as `pip install evalica[gradio]`.

## Implemented Methods

| **Method** | **In Python** | **In Rust** |
|---|:---:|:---:|
| Counting | ✅ | ✅ |
| Average Win Rate | ✅ | ✅ |
| [Bradley–Terry] | ✅ | ✅ |
| [Elo] | ✅ | ✅ |
| [Eigenvalue] | ✅ | ✅ |
| [PageRank] | ✅ | ✅ |
| [Newman] | ✅ | ✅ |

<!-- Present: &#x2705; / Absent: &#x274C; -->

[Bradley&ndash;Terry]: https://doi.org/10.2307/2334029
[Elo]: https://isbnsearch.org/isbn/9780923891275
[Eigenvalue]: https://doi.org/10.1086/228631
[PageRank]: https://doi.org/10.1016/S0169-7552(98)00110-X
[Newman]: https://jmlr.org/papers/v24/22-1086.html

## Citation

Coming soon.

## Copyright

Copyright (c) 2024 [Dmitry Ustalov](https://github.com/dustalov). See [LICENSE](LICENSE) for details.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "evalica",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": null,
    "keywords": "Bradley-Terry, Elo, PageRank, eigenvector, evaluation, leaderboard, pairwise comparisons, ranking, rating, statistics",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/94/ff/b83cab8e7201244db967eaa62c0b1a52ed47a85911cb565d8f23d66699cb/evalica-0.3.2.tar.gz",
    "platform": null,
    "description": "# Evalica, your favourite evaluation toolkit\n\n[![Evalica](https://raw.githubusercontent.com/dustalov/evalica/master/Evalica.svg)](https://github.com/dustalov/evalica)\n\n[![Tests][github_tests_badge]][github_tests_link]\n[![Read the Docs][rtfd_badge]][rtfd_link]\n[![PyPI Version][pypi_badge]][pypi_link]\n[![Anaconda.org][conda_badge]][conda_link]\n[![Codecov][codecov_badge]][codecov_link]\n[![CodSpeed Badge][codspeed_badge]][codspeed_link]\n\n[github_tests_badge]: https://github.com/dustalov/evalica/actions/workflows/test.yml/badge.svg?branch=master\n[github_tests_link]: https://github.com/dustalov/evalica/actions/workflows/test.yml\n[rtfd_badge]: https://readthedocs.org/projects/evalica/badge/\n[rtfd_link]: https://evalica.readthedocs.io/\n[pypi_badge]: https://badge.fury.io/py/evalica.svg\n[pypi_link]: https://pypi.python.org/pypi/evalica\n[conda_badge]: https://anaconda.org/conda-forge/evalica/badges/version.svg\n[conda_link]: https://anaconda.org/conda-forge/evalica\n[codecov_badge]: https://codecov.io/gh/dustalov/evalica/branch/master/graph/badge.svg\n[codecov_link]: https://codecov.io/gh/dustalov/evalica\n[codspeed_badge]: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json\n[codspeed_link]: https://codspeed.io/dustalov/evalica\n\n**Evalica** [&#x025b;&#x02c8;&#x028b;alit&#x0361;sa] (eh-vah-lee-tsah) is a Python library that transforms pairwise comparisons into ranked lists of items. It offers convenient high-performant Rust implementations of the corresponding methods via [PyO3](https://pyo3.rs/), and additionally provides na\u00efve Python code for most of them. Evalica is fully compatible with [NumPy](https://numpy.org/) arrays and [pandas](https://pandas.pydata.org/) data frames.\n\n- [Tutorial](https://dustalov.github.io/evalica/) (and [Tutorial.ipynb](Tutorial.ipynb))\n- [Chatbot-Arena.ipynb](Chatbot-Arena.ipynb) [![Open in Colab][colab_badge]][colab_link] [![Binder][binder_badge]][binder_link]\n- [Pair2Rank](https://huggingface.co/spaces/dustalov/pair2rank)\n\n[colab_badge]: https://colab.research.google.com/assets/colab-badge.svg\n[colab_link]: https://colab.research.google.com/github/dustalov/evalica/blob/master/Chatbot-Arena.ipynb\n[binder_badge]: https://mybinder.org/badge_logo.svg\n[binder_link]: https://mybinder.org/v2/gh/dustalov/evalica/HEAD?labpath=Chatbot-Arena.ipynb\n\nThe logo was created using [Recraft](https://www.recraft.ai/).\n\n> [!NOTE]\n> The demonstration paper describing Evalica has been accepted at the [COLING&nbsp;2025](https://coling2025.org/) conference in Abu Dhabi!\n\n## Installation\n\n- [pip](https://pip.pypa.io/): `pip install evalica`\n- [Anaconda](https://docs.conda.io/en/latest/): `conda install conda-forge::evalica`\n\n## Usage\n\nImagine that we would like to rank the different meals and have the following dataset of three comparisons produced by food experts.\n\n| **Item X**| **Item Y** | **Winner** |\n|:---:|:---:|:---:|\n| `pizza` | `burger` | `x` |\n| `burger` | `sushi` | `y` |\n| `pizza` | `sushi` | `tie` |\n\nGiven this hypothetical example, Evalica takes these three columns and computes the outcome of the given pairwise comparison according to the chosen model. Note that the first argument is the column `Item X`, the second argument is the column `Item Y`, and the third argument corresponds to the column `Winner`.\n\n```pycon\n>>> from evalica import elo, Winner\n>>> result = elo(\n...     ['pizza', 'burger', 'pizza'],\n...     ['burger', 'sushi', 'sushi'],\n...     [Winner.X, Winner.Y, Winner.Draw],\n... )\n>>> result.scores\npizza     1014.972058\nburger     970.647200\nsushi     1014.380742\nName: elo, dtype: float64\n```\n\nAs a result, we obtain [Elo scores](https://en.wikipedia.org/wiki/Elo_rating_system) of our items. In this example, `pizza` was the most favoured item, `sushi` was the runner-up, and `burger` was the least preferred item.\n\n| **Item**| **Score** |\n|---|---:|\n| `pizza` | 1014.97 |\n| `burger` | 970.65 |\n| `sushi` | 1014.38 |\n\n## Command-Line Interface\n\nEvalica also provides a simple command-line interface, allowing the use of these methods in shell scripts and for prototyping.\n\n```console\n$ evalica -i food.csv bradley-terry                \nitem,score,rank\nTacos,2.509025136024378,1\nSushi,1.1011561298265815,2\nBurger,0.8549063627182466,3\nPasta,0.7403814336665869,4\nPizza,0.5718366915548537,5\n```\n\nRefer to the [food.csv](food.csv) file as an input example.\n\n## Web Application\n\nEvalica has a built-in [Gradio](https://www.gradio.app/) application that can be launched as `python3 -m evalica.gradio`. Please ensure that the library was installed as `pip install evalica[gradio]`.\n\n## Implemented Methods\n\n| **Method** | **In Python** | **In Rust** |\n|---|:---:|:---:|\n| Counting | &#x2705; | &#x2705; |\n| Average Win Rate | &#x2705; | &#x2705; |\n| [Bradley&ndash;Terry] | &#x2705; | &#x2705; |\n| [Elo] | &#x2705; | &#x2705; |\n| [Eigenvalue] | &#x2705; | &#x2705; |\n| [PageRank] | &#x2705; | &#x2705; |\n| [Newman] | &#x2705; | &#x2705; |\n\n<!-- Present: &#x2705; / Absent: &#x274C; -->\n\n[Bradley&ndash;Terry]: https://doi.org/10.2307/2334029\n[Elo]: https://isbnsearch.org/isbn/9780923891275\n[Eigenvalue]: https://doi.org/10.1086/228631\n[PageRank]: https://doi.org/10.1016/S0169-7552(98)00110-X\n[Newman]: https://jmlr.org/papers/v24/22-1086.html\n\n## Citation\n\nComing soon.\n\n## Copyright\n\nCopyright (c) 2024 [Dmitry Ustalov](https://github.com/dustalov). See [LICENSE](LICENSE) for details.\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Evalica, your favourite evaluation toolkit.",
    "version": "0.3.2",
    "project_urls": {
        "Changelog": "https://github.com/dustalov/evalica/releases",
        "Documentation": "https://evalica.readthedocs.io/",
        "Download": "https://pypi.org/project/evalica/#files",
        "Homepage": "https://github.com/dustalov/evalica",
        "Issues": "https://github.com/dustalov/evalica/issues",
        "Repository": "https://github.com/dustalov/evalica"
    },
    "split_keywords": [
        "bradley-terry",
        " elo",
        " pagerank",
        " eigenvector",
        " evaluation",
        " leaderboard",
        " pairwise comparisons",
        " ranking",
        " rating",
        " statistics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "629b99424ca87fad766417ce626819c9a69ba8b8ede18e864fd106c1ac8f8148",
                "md5": "427d4ef5dd5fef8d3688ed02b6efa7f6",
                "sha256": "5e62b7f621f1efe34bce9f383c490a716e188fba10bd4e55ed42943ca15ce9b0"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "427d4ef5dd5fef8d3688ed02b6efa7f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 341935,
            "upload_time": "2024-12-11T21:18:15",
            "upload_time_iso_8601": "2024-12-11T21:18:15.964383Z",
            "url": "https://files.pythonhosted.org/packages/62/9b/99424ca87fad766417ce626819c9a69ba8b8ede18e864fd106c1ac8f8148/evalica-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c21b4d5e6a46db4caba8078fe2bdaa60a1a892b40c82c1655cd207462dd61b7f",
                "md5": "230e0bed31a27c96a34fbac12aeb67e2",
                "sha256": "68168330cee3adc589a7f841006dddf00c1adf1d0874567f3ae70c6cecddb0a7"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "230e0bed31a27c96a34fbac12aeb67e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 323305,
            "upload_time": "2024-12-11T21:18:18",
            "upload_time_iso_8601": "2024-12-11T21:18:18.835841Z",
            "url": "https://files.pythonhosted.org/packages/c2/1b/4d5e6a46db4caba8078fe2bdaa60a1a892b40c82c1655cd207462dd61b7f/evalica-0.3.2-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49aeb4621ef1487fa00b8950936dbc051599d342b05bd611fbe2d2b65ea31d51",
                "md5": "c4d49c3bb467a6561bc11882c5ff8342",
                "sha256": "f72613437c621bff9e6fb3329de19b67655edb691c87d90cfd6b438c6e53130d"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c4d49c3bb467a6561bc11882c5ff8342",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 357112,
            "upload_time": "2024-12-11T21:18:20",
            "upload_time_iso_8601": "2024-12-11T21:18:20.459612Z",
            "url": "https://files.pythonhosted.org/packages/49/ae/b4621ef1487fa00b8950936dbc051599d342b05bd611fbe2d2b65ea31d51/evalica-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0abff3a1f3cd299660244c72cf6c47c1fb6eaf51520472d3a983539b38823d96",
                "md5": "90d9638f3e5404c823dada17521b444c",
                "sha256": "cf78a2a17c07d739dac0914cd67b1fe65aac19fed9d0582b7b25b962dff7d59f"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "90d9638f3e5404c823dada17521b444c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 369741,
            "upload_time": "2024-12-11T21:18:24",
            "upload_time_iso_8601": "2024-12-11T21:18:24.969280Z",
            "url": "https://files.pythonhosted.org/packages/0a/bf/f3a1f3cd299660244c72cf6c47c1fb6eaf51520472d3a983539b38823d96/evalica-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e8c1fb5246cfa8bb332cb3c4ccbbcd7a6c1cc208a34e6a6900c6d09caa4f5928",
                "md5": "10ecdb3b2548025e8a6a8d0cf39a2e3f",
                "sha256": "f813a6de330306c16656939a02b90ff776d43bff25bbd2980624605ef3e0d0ef"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "10ecdb3b2548025e8a6a8d0cf39a2e3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 385594,
            "upload_time": "2024-12-11T21:18:27",
            "upload_time_iso_8601": "2024-12-11T21:18:27.412339Z",
            "url": "https://files.pythonhosted.org/packages/e8/c1/fb5246cfa8bb332cb3c4ccbbcd7a6c1cc208a34e6a6900c6d09caa4f5928/evalica-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cacebcf62981ceecb99c1c2d640025a43d7c2181a5c57ec833b329d754793ce1",
                "md5": "1abb2f8126da54bb8e5320494f9b40d5",
                "sha256": "6db7032d4aa3cdbab2a8a85613bbf94d331805612867b6d78b7caa366d9d1b39"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1abb2f8126da54bb8e5320494f9b40d5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 536084,
            "upload_time": "2024-12-11T21:18:30",
            "upload_time_iso_8601": "2024-12-11T21:18:30.319476Z",
            "url": "https://files.pythonhosted.org/packages/ca/ce/bcf62981ceecb99c1c2d640025a43d7c2181a5c57ec833b329d754793ce1/evalica-0.3.2-cp38-abi3-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e3cb3910a23f5f9518bf9a4753957cf377ca8f6d252de05a9c4ff1ed79a1ec0",
                "md5": "6bf8a85379cbce98fade4314085e24a7",
                "sha256": "46eabb53735736a402ce79133889deb5a41fc685901de77a5c9a9d776d1819e1"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6bf8a85379cbce98fade4314085e24a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 540069,
            "upload_time": "2024-12-11T21:18:32",
            "upload_time_iso_8601": "2024-12-11T21:18:32.991341Z",
            "url": "https://files.pythonhosted.org/packages/7e/3c/b3910a23f5f9518bf9a4753957cf377ca8f6d252de05a9c4ff1ed79a1ec0/evalica-0.3.2-cp38-abi3-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c57eab9d65c552996973b2fc7ae2bd8e539fb8c746c20f010d8b236aa43d026",
                "md5": "bed3966633769f192f861c341b023daf",
                "sha256": "b98562045573f0c7e89499a485304d4cf26eb9570c453d8db1ae6ff923b8ed2b"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bed3966633769f192f861c341b023daf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.8",
            "size": 230837,
            "upload_time": "2024-12-11T21:18:35",
            "upload_time_iso_8601": "2024-12-11T21:18:35.628993Z",
            "url": "https://files.pythonhosted.org/packages/8c/57/eab9d65c552996973b2fc7ae2bd8e539fb8c746c20f010d8b236aa43d026/evalica-0.3.2-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d3d547709ec0b4c5eafc3e45f3accacb868e40749bb4f4b5a9d051f96646f9c0",
                "md5": "9a26a6506bcf9fc6b1310a6da0290020",
                "sha256": "aca7164d01319165a12b1ce79f3718251d05ca874f78ce2b1603836ccbc9c3e3"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9a26a6506bcf9fc6b1310a6da0290020",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 341256,
            "upload_time": "2024-12-11T21:18:37",
            "upload_time_iso_8601": "2024-12-11T21:18:37.296967Z",
            "url": "https://files.pythonhosted.org/packages/d3/d5/47709ec0b4c5eafc3e45f3accacb868e40749bb4f4b5a9d051f96646f9c0/evalica-0.3.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88f76b9bb7b04dc9fdfaa7fa028134efff0ddbc2af20b374da8f7784504fdf34",
                "md5": "a0ffbd41ed6ee8d3f7ccfd6d1388614f",
                "sha256": "a63292531fa39b9d8badd959bee0ee8e165255e4fcc9a02ddea4d573e5822348"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a0ffbd41ed6ee8d3f7ccfd6d1388614f",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 322643,
            "upload_time": "2024-12-11T21:18:38",
            "upload_time_iso_8601": "2024-12-11T21:18:38.820506Z",
            "url": "https://files.pythonhosted.org/packages/88/f7/6b9bb7b04dc9fdfaa7fa028134efff0ddbc2af20b374da8f7784504fdf34/evalica-0.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eebeec1b685cb8a2770334feda1ea1ee4ecd9a210a5a7333dc94abbe1a2cd734",
                "md5": "88b9ea3e20e5ac1d1bec399827d38904",
                "sha256": "6b344759a643b1fc229993db43ff002b402f8b5d86e6c367ebe9ab6211a1d521"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "88b9ea3e20e5ac1d1bec399827d38904",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 356203,
            "upload_time": "2024-12-11T21:18:42",
            "upload_time_iso_8601": "2024-12-11T21:18:42.189817Z",
            "url": "https://files.pythonhosted.org/packages/ee/be/ec1b685cb8a2770334feda1ea1ee4ecd9a210a5a7333dc94abbe1a2cd734/evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63a2b571ad078f89a9b184174b10afe1a8d87a2626aabe85f7928dd354f09413",
                "md5": "28364519d1271ebceff84a572f4867ff",
                "sha256": "db5cc088bb4e73f265989af5b698a8eff1dd11fe4f8cc6ce0a21dd02e24ad60f"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "28364519d1271ebceff84a572f4867ff",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 368151,
            "upload_time": "2024-12-11T21:18:45",
            "upload_time_iso_8601": "2024-12-11T21:18:45.886013Z",
            "url": "https://files.pythonhosted.org/packages/63/a2/b571ad078f89a9b184174b10afe1a8d87a2626aabe85f7928dd354f09413/evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "127e71d31b8369b214054c85c4e6977ad44917cd2da691ad80c4a716972f83aa",
                "md5": "4acb96d34f29e75f9146ee74677073e5",
                "sha256": "3cb26e070ac41e0a978371919302f861c3bad019cd5e55871a23b70493f4f775"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "4acb96d34f29e75f9146ee74677073e5",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 386773,
            "upload_time": "2024-12-11T21:18:48",
            "upload_time_iso_8601": "2024-12-11T21:18:48.403660Z",
            "url": "https://files.pythonhosted.org/packages/12/7e/71d31b8369b214054c85c4e6977ad44917cd2da691ad80c4a716972f83aa/evalica-0.3.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "abdc4231d9bed877a1fb25b54dbe3b7e164b3cd56e210bdd17930c45d7ca1384",
                "md5": "0c053565f96e1fb0fa140f4351b15252",
                "sha256": "3190393abd069f1d1e2ffc43a621159aec3aaa8af2a7f3553883a9d6946886aa"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0c053565f96e1fb0fa140f4351b15252",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 535118,
            "upload_time": "2024-12-11T21:18:50",
            "upload_time_iso_8601": "2024-12-11T21:18:50.496067Z",
            "url": "https://files.pythonhosted.org/packages/ab/dc/4231d9bed877a1fb25b54dbe3b7e164b3cd56e210bdd17930c45d7ca1384/evalica-0.3.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b1fa14c662d446b632cbd42f96a2ebda9cfe86efc6fde25a820e2b6b745bce0",
                "md5": "f72ebe3c66da69351b7c3ba3be74cdee",
                "sha256": "5a03283cefafc17c257bf4df8f69ff542ee672baeb615e35853df4466beb760e"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f72ebe3c66da69351b7c3ba3be74cdee",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "~=3.8",
            "size": 538290,
            "upload_time": "2024-12-11T21:18:52",
            "upload_time_iso_8601": "2024-12-11T21:18:52.091221Z",
            "url": "https://files.pythonhosted.org/packages/0b/1f/a14c662d446b632cbd42f96a2ebda9cfe86efc6fde25a820e2b6b745bce0/evalica-0.3.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "461a1056de76f8e808fffb0cf49755dc77ad06e233bb95091e4c38e8867e030a",
                "md5": "a4fef9982b94fb11bc5842232426f4b8",
                "sha256": "d888d35d43d7194ab08a7e886fb3faf7f63129c291314dea7bce641a35bd1cf1"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a4fef9982b94fb11bc5842232426f4b8",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 342009,
            "upload_time": "2024-12-11T21:18:53",
            "upload_time_iso_8601": "2024-12-11T21:18:53.419735Z",
            "url": "https://files.pythonhosted.org/packages/46/1a/1056de76f8e808fffb0cf49755dc77ad06e233bb95091e4c38e8867e030a/evalica-0.3.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0377eaed5e42075544c4679c9ebc2c7f86c19361f1215ef3f760d2a16785debe",
                "md5": "4b98caf0601fee9e83038d14cbf4ba44",
                "sha256": "172d680f30e1ad483556b181d1e4640277acfc4827df660663483e0070ecb539"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4b98caf0601fee9e83038d14cbf4ba44",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 322974,
            "upload_time": "2024-12-11T21:18:57",
            "upload_time_iso_8601": "2024-12-11T21:18:57.281528Z",
            "url": "https://files.pythonhosted.org/packages/03/77/eaed5e42075544c4679c9ebc2c7f86c19361f1215ef3f760d2a16785debe/evalica-0.3.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7fbd2c3db87d35f0224b9792ae40d5b685ff54b029ca0494b62d033727d6b588",
                "md5": "f6df9fcd44d0146c3d5a24f102505cba",
                "sha256": "cbc9012250ee400085448c6b323ccf12a3769d32ea9b467cd76dcc3b268d2399"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f6df9fcd44d0146c3d5a24f102505cba",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 356965,
            "upload_time": "2024-12-11T21:18:59",
            "upload_time_iso_8601": "2024-12-11T21:18:59.870058Z",
            "url": "https://files.pythonhosted.org/packages/7f/bd/2c3db87d35f0224b9792ae40d5b685ff54b029ca0494b62d033727d6b588/evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8efe732b1dcaf881e29f5d9c8cb9e1f4c9c586fea27f7da7971bafa36dcad8c7",
                "md5": "ff2d6d360f5a5e5f5c5c06b41f878f31",
                "sha256": "06a4b206308b311750caa9fd6d89786229c01c8e72bf693b5cd744730957c3d9"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ff2d6d360f5a5e5f5c5c06b41f878f31",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 369991,
            "upload_time": "2024-12-11T21:19:03",
            "upload_time_iso_8601": "2024-12-11T21:19:03.177339Z",
            "url": "https://files.pythonhosted.org/packages/8e/fe/732b1dcaf881e29f5d9c8cb9e1f4c9c586fea27f7da7971bafa36dcad8c7/evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90f9fa656d75b7c9e0b32e769d57ba9137ca8f8c1e1ab042432ca4f5dbc2be66",
                "md5": "c4be0f52e2a94438e3286c6a1554d4b4",
                "sha256": "00e3d97a076e4d7b27c6d2a1d66dd2719c3c12b55fbb1cd400fee101aa1f5aa1"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "c4be0f52e2a94438e3286c6a1554d4b4",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 385508,
            "upload_time": "2024-12-11T21:19:05",
            "upload_time_iso_8601": "2024-12-11T21:19:05.625618Z",
            "url": "https://files.pythonhosted.org/packages/90/f9/fa656d75b7c9e0b32e769d57ba9137ca8f8c1e1ab042432ca4f5dbc2be66/evalica-0.3.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d05fef43024fe38d1fa9a18b2c135c60b347e7cf8f2d2f8c0f6c996cb7d37f05",
                "md5": "fb102cda0401624d0a8a853e93e1eaa0",
                "sha256": "e0ed7e931b1f250f4f9ec142322b4266d71c18db5f738ec05cedbce16824d235"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fb102cda0401624d0a8a853e93e1eaa0",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 535792,
            "upload_time": "2024-12-11T21:19:07",
            "upload_time_iso_8601": "2024-12-11T21:19:07.116609Z",
            "url": "https://files.pythonhosted.org/packages/d0/5f/ef43024fe38d1fa9a18b2c135c60b347e7cf8f2d2f8c0f6c996cb7d37f05/evalica-0.3.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c6e97b9c3bae73154c301516aff511e7a907ce5b4aa8ac570f8067ed77ce0d8",
                "md5": "16aa400ffb26ea5ed5210fcffc74e78b",
                "sha256": "9460c9de931a6bb6ee367882aa1e4b9f77a8810a9ebfada16336775ea7fb33c9"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "16aa400ffb26ea5ed5210fcffc74e78b",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "~=3.8",
            "size": 540284,
            "upload_time": "2024-12-11T21:19:09",
            "upload_time_iso_8601": "2024-12-11T21:19:09.294825Z",
            "url": "https://files.pythonhosted.org/packages/4c/6e/97b9c3bae73154c301516aff511e7a907ce5b4aa8ac570f8067ed77ce0d8/evalica-0.3.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94ffb83cab8e7201244db967eaa62c0b1a52ed47a85911cb565d8f23d66699cb",
                "md5": "52e46aadcd3ee8cbb9a6aa6e6f8fd3e2",
                "sha256": "44de2a2c4b742ca4a82c9fa032dec0ce6167e78e159a8c07dbb4268cf7e857b5"
            },
            "downloads": -1,
            "filename": "evalica-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "52e46aadcd3ee8cbb9a6aa6e6f8fd3e2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 32269,
            "upload_time": "2024-12-11T21:19:10",
            "upload_time_iso_8601": "2024-12-11T21:19:10.616651Z",
            "url": "https://files.pythonhosted.org/packages/94/ff/b83cab8e7201244db967eaa62c0b1a52ed47a85911cb565d8f23d66699cb/evalica-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-11 21:19:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dustalov",
    "github_project": "evalica",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "evalica"
}
        
Elapsed time: 0.63827s