selectlib


Nameselectlib JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/grantjenks/python-selectlib
SummaryLightweight C extension module for Python that implements several in‑place selection algorithms.
upload_time2025-02-05 05:29:40
maintainerNone
docs_urlNone
authorGrant Jenks
requires_python>=3.8
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # selectlib

selectlib is a lightweight C extension module for Python that implements several in‑place selection algorithms for efficiently finding the kth smallest element in an unsorted list. The module provides three main functions—`nth_element`, `quickselect`, and `heapselect`—that allow you to partition a list so that the element at a given index is in its final sorted position, without performing a full sort.

You can install selectlib using pip:

```bash
python -m pip install selectlib
```

## Features

- **In‑place partitioning using three different strategies:**
  - **`nth_element`:** An adaptive selection function that chooses the optimal strategy based on the target index. For small indices, it uses the heapselect method; otherwise, it starts with quickselect and falls back to heapselect if necessary.
  - **`quickselect`:** A classic partition‑based selection algorithm that uses random pivots to position the kth smallest element in its correct sorted order. If the operation exceeds an iteration limit, it automatically falls back to heapselect.
  - **`heapselect`:** A heap‑based approach that builds a fixed‑size max‑heap to efficiently locate the kth smallest element.
- **Performance as a feature!**
  Selectlib comes with benchmark scripts that run multiple tests for varying list sizes and selection percentages, then produce visual output as grouped bar charts.
- **Median Benchmarking:**
  In addition to the benchmark for selecting the k‑smallest elements, selectlib provides a dedicated median benchmark script (`benchmark_median.py`) that compares Python’s built‑in `statistics.median_low` with selectlib’s `nth_element`, `quickselect`, and `heapselect` methods for computing the median of a list. This benchmark runs the tests for list sizes ranging from 1,000 to 1,000,000 elements and displays the median computation performance in a grouped bar chart.

## Usage Example

Below is an example demonstrating how to use each of the three selection algorithms to find the kth smallest element in a list:

```python
import selectlib

data = [9, 3, 7, 1, 5, 8, 2]
k = 3  # We wish to position the element at index 3, as in a sorted list

# Using nth_element:
selectlib.nth_element(data, k)
print("After nth_element, kth smallest element is:", data[k])

# Reset the list for a fresh example:
data = [9, 3, 7, 1, 5, 8, 2]

# Using quickselect:
selectlib.quickselect(data, k)
print("After quickselect, kth smallest element is:", data[k])

# Reset the list:
data = [9, 3, 7, 1, 5, 8, 2]

# Using heapselect:
selectlib.heapselect(data, k)
print("After heapselect, kth smallest element is:", data[k])
```

You can also provide an optional key function to customize comparisons. For example, if you wish to determine the kth largest element rather than the kth smallest, simply negate the value in a lambda function:

```python
data = [15, 8, 22, 5, 13]
k = 2
selectlib.quickselect(data, k, key=lambda x: -x)
print("The kth largest element is:", data[k])
```

## Median Benchmarking

In addition to the k‑smallest elements benchmark, selectlib provides a median benchmark script named `benchmark_median.py`. This script compares the performance of the following methods for computing the median (using the low median for even‑length lists):

1. **`median_low`** – Uses Python’s built‑in `statistics.median_low`.
2. **`nth_element`** – Uses `selectlib.nth_element` to partition the list so that the median element is in place.
3. **`quickselect`** – Uses `selectlib.quickselect` for median selection.
4. **`heapselect`** – Uses `selectlib.heapselect` for median selection.

For each list size (from 1,000 to 1,000,000 elements), the script runs 5 iterations and records the median runtime. The performance results are then plotted as a grouped bar chart, with each group corresponding to a different list size.

![Median Benchmark Results](https://github.com/grantjenks/python-selectlib/blob/main/plot_median.png?raw=true)

To run the median benchmark, execute:

```bash
python benchmark_median.py
```

## K-Smallest Benchmarking

Selectlib comes with a benchmark script named `benchmark.py` that compares the following five methods to obtain the K smallest items from a list:

1. **`sort`** – Creates a sorted copy of the list and slices the first k elements.
2. **`heapq.nsmallest`** – Uses Python’s standard library heap algorithm.
3. **`quickselect`** – Partitions using `selectlib.quickselect`, then slices and sorts the first k elements.
4. **`heapselect`** – Partitions using `selectlib.heapselect`, then slices and sorts the first k elements.
5. **`nth_element`** – Partitions using `selectlib.nth_element`, then slices and sorts the first k elements.

For each list size (ranging from 1,000 to 1,000,000 elements) and for several values of k (0.2%, 1%, 10%, and 25% of N), each method is executed five times, and the median runtime is recorded. The benchmark results are then visualized as grouped bar charts.

![Benchmark Results](https://github.com/grantjenks/python-selectlib/blob/main/plot.png?raw=true)

To run the benchmark, execute:

```bash
python benchmark.py
```

## Development & Continuous Integration

Before installing locally, ensure you have a C compiler and the Python development headers installed for your platform.

1. **Clone the repository:**

   ```bash
   git clone https://github.com/grantjenks/python-selectlib.git
   cd python-selectlib
   ```

2. **Build and install in editable mode:**

   ```bash
   python -m pip install -e .
   ```

This project uses GitHub Actions for CI/CD. The available workflows cover:

- **release.yml** – Builds wheels for multiple platforms and publishes packages to PyPI.
- **test.yml** – Runs automated tests and linting on multiple Python versions.

## License

selectlib is licensed under the Apache License, Version 2.0. See the [LICENSE](LICENSE) file for full details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/grantjenks/python-selectlib",
    "name": "selectlib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Grant Jenks",
    "author_email": "grant.jenks@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/63/c1/b202e7f2558292c5489ec1d827bff9faac39b637593e97dee7f0bccada86/selectlib-1.0.4.tar.gz",
    "platform": null,
    "description": "# selectlib\n\nselectlib is a lightweight C extension module for Python that implements several in\u2011place selection algorithms for efficiently finding the kth smallest element in an unsorted list. The module provides three main functions\u2014`nth_element`, `quickselect`, and `heapselect`\u2014that allow you to partition a list so that the element at a given index is in its final sorted position, without performing a full sort.\n\nYou can install selectlib using pip:\n\n```bash\npython -m pip install selectlib\n```\n\n## Features\n\n- **In\u2011place partitioning using three different strategies:**\n  - **`nth_element`:** An adaptive selection function that chooses the optimal strategy based on the target index. For small indices, it uses the heapselect method; otherwise, it starts with quickselect and falls back to heapselect if necessary.\n  - **`quickselect`:** A classic partition\u2011based selection algorithm that uses random pivots to position the kth smallest element in its correct sorted order. If the operation exceeds an iteration limit, it automatically falls back to heapselect.\n  - **`heapselect`:** A heap\u2011based approach that builds a fixed\u2011size max\u2011heap to efficiently locate the kth smallest element.\n- **Performance as a feature!**\n  Selectlib comes with benchmark scripts that run multiple tests for varying list sizes and selection percentages, then produce visual output as grouped bar charts.\n- **Median Benchmarking:**\n  In addition to the benchmark for selecting the k\u2011smallest elements, selectlib provides a dedicated median benchmark script (`benchmark_median.py`) that compares Python\u2019s built\u2011in `statistics.median_low` with selectlib\u2019s `nth_element`, `quickselect`, and `heapselect` methods for computing the median of a list. This benchmark runs the tests for list sizes ranging from 1,000 to 1,000,000 elements and displays the median computation performance in a grouped bar chart.\n\n## Usage Example\n\nBelow is an example demonstrating how to use each of the three selection algorithms to find the kth smallest element in a list:\n\n```python\nimport selectlib\n\ndata = [9, 3, 7, 1, 5, 8, 2]\nk = 3  # We wish to position the element at index 3, as in a sorted list\n\n# Using nth_element:\nselectlib.nth_element(data, k)\nprint(\"After nth_element, kth smallest element is:\", data[k])\n\n# Reset the list for a fresh example:\ndata = [9, 3, 7, 1, 5, 8, 2]\n\n# Using quickselect:\nselectlib.quickselect(data, k)\nprint(\"After quickselect, kth smallest element is:\", data[k])\n\n# Reset the list:\ndata = [9, 3, 7, 1, 5, 8, 2]\n\n# Using heapselect:\nselectlib.heapselect(data, k)\nprint(\"After heapselect, kth smallest element is:\", data[k])\n```\n\nYou can also provide an optional key function to customize comparisons. For example, if you wish to determine the kth largest element rather than the kth smallest, simply negate the value in a lambda function:\n\n```python\ndata = [15, 8, 22, 5, 13]\nk = 2\nselectlib.quickselect(data, k, key=lambda x: -x)\nprint(\"The kth largest element is:\", data[k])\n```\n\n## Median Benchmarking\n\nIn addition to the k\u2011smallest elements benchmark, selectlib provides a median benchmark script named `benchmark_median.py`. This script compares the performance of the following methods for computing the median (using the low median for even\u2011length lists):\n\n1. **`median_low`** \u2013 Uses Python\u2019s built\u2011in `statistics.median_low`.\n2. **`nth_element`** \u2013 Uses `selectlib.nth_element` to partition the list so that the median element is in place.\n3. **`quickselect`** \u2013 Uses `selectlib.quickselect` for median selection.\n4. **`heapselect`** \u2013 Uses `selectlib.heapselect` for median selection.\n\nFor each list size (from 1,000 to 1,000,000 elements), the script runs 5 iterations and records the median runtime. The performance results are then plotted as a grouped bar chart, with each group corresponding to a different list size.\n\n![Median Benchmark Results](https://github.com/grantjenks/python-selectlib/blob/main/plot_median.png?raw=true)\n\nTo run the median benchmark, execute:\n\n```bash\npython benchmark_median.py\n```\n\n## K-Smallest Benchmarking\n\nSelectlib comes with a benchmark script named `benchmark.py` that compares the following five methods to obtain the K smallest items from a list:\n\n1. **`sort`** \u2013 Creates a sorted copy of the list and slices the first k elements.\n2. **`heapq.nsmallest`** \u2013 Uses Python\u2019s standard library heap algorithm.\n3. **`quickselect`** \u2013 Partitions using `selectlib.quickselect`, then slices and sorts the first k elements.\n4. **`heapselect`** \u2013 Partitions using `selectlib.heapselect`, then slices and sorts the first k elements.\n5. **`nth_element`** \u2013 Partitions using `selectlib.nth_element`, then slices and sorts the first k elements.\n\nFor each list size (ranging from 1,000 to 1,000,000 elements) and for several values of k (0.2%, 1%, 10%, and 25% of N), each method is executed five times, and the median runtime is recorded. The benchmark results are then visualized as grouped bar charts.\n\n![Benchmark Results](https://github.com/grantjenks/python-selectlib/blob/main/plot.png?raw=true)\n\nTo run the benchmark, execute:\n\n```bash\npython benchmark.py\n```\n\n## Development & Continuous Integration\n\nBefore installing locally, ensure you have a C compiler and the Python development headers installed for your platform.\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/grantjenks/python-selectlib.git\n   cd python-selectlib\n   ```\n\n2. **Build and install in editable mode:**\n\n   ```bash\n   python -m pip install -e .\n   ```\n\nThis project uses GitHub Actions for CI/CD. The available workflows cover:\n\n- **release.yml** \u2013 Builds wheels for multiple platforms and publishes packages to PyPI.\n- **test.yml** \u2013 Runs automated tests and linting on multiple Python versions.\n\n## License\n\nselectlib is licensed under the Apache License, Version 2.0. See the [LICENSE](LICENSE) file for full details.\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Lightweight C extension module for Python that implements several in\u2011place selection algorithms.",
    "version": "1.0.4",
    "project_urls": {
        "Homepage": "https://github.com/grantjenks/python-selectlib"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "73106fa6b4b963fe314ed8c0998ec6329c5f81231811e870d21ac6832d5aaa75",
                "md5": "d44e357d28fc6812daea3c9812eb9548",
                "sha256": "8128b3c81f7fe3c282f3197244378d7eecd7c1350edaf81bfa95aa0d4ef2e98e"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d44e357d28fc6812daea3c9812eb9548",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 9114,
            "upload_time": "2025-02-05T05:28:26",
            "upload_time_iso_8601": "2025-02-05T05:28:26.714070Z",
            "url": "https://files.pythonhosted.org/packages/73/10/6fa6b4b963fe314ed8c0998ec6329c5f81231811e870d21ac6832d5aaa75/selectlib-1.0.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99fa227647d31e08184d9f71f23c21c6b3c1ace17ba11952dfc4fa1c6dd72609",
                "md5": "f07c782a5e274b2bc88ef4090a31c7db",
                "sha256": "a8bc77cdc9af1f50ae7aab054d7dcb6fc3f54aa3c102e5a786e6947437f5c8c4"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "f07c782a5e274b2bc88ef4090a31c7db",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 24521,
            "upload_time": "2025-02-05T05:28:28",
            "upload_time_iso_8601": "2025-02-05T05:28:28.238411Z",
            "url": "https://files.pythonhosted.org/packages/99/fa/227647d31e08184d9f71f23c21c6b3c1ace17ba11952dfc4fa1c6dd72609/selectlib-1.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "246fe7676836eac4990126adf27f6dfa9f537c44b9f1ba8e19d56457c156eed6",
                "md5": "2399011f81b9b386423b0a9944c88876",
                "sha256": "1659ef2ae471876492b3832df2c3c84ad5077bea646a7376e9859b25c80d673c"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2399011f81b9b386423b0a9944c88876",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 25713,
            "upload_time": "2025-02-05T05:28:30",
            "upload_time_iso_8601": "2025-02-05T05:28:30.070375Z",
            "url": "https://files.pythonhosted.org/packages/24/6f/e7676836eac4990126adf27f6dfa9f537c44b9f1ba8e19d56457c156eed6/selectlib-1.0.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38ec6c73f62bd146bacce2b10dca32ddf9b06adf9605a1ecbcbd961cc8d7787b",
                "md5": "524ee8c067b37437e792797b0a0e12b1",
                "sha256": "55243def4a721d0b8c41821ff00f2747e279ec4a63f4ea0752871e45e508c934"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "524ee8c067b37437e792797b0a0e12b1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 27119,
            "upload_time": "2025-02-05T05:28:31",
            "upload_time_iso_8601": "2025-02-05T05:28:31.188754Z",
            "url": "https://files.pythonhosted.org/packages/38/ec/6c73f62bd146bacce2b10dca32ddf9b06adf9605a1ecbcbd961cc8d7787b/selectlib-1.0.4-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83ffb25dea6e43b5080a7d313fd70a9e28065ed7f074d7f75d655960cd97b077",
                "md5": "5a45553bbbe6bca70a02dd08e1bfbf07",
                "sha256": "dbc81a603d149c6e26c41ca844368ab12b43d12db412f9ec66c0aaa91a6b98a8"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5a45553bbbe6bca70a02dd08e1bfbf07",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 27125,
            "upload_time": "2025-02-05T05:28:32",
            "upload_time_iso_8601": "2025-02-05T05:28:32.317030Z",
            "url": "https://files.pythonhosted.org/packages/83/ff/b25dea6e43b5080a7d313fd70a9e28065ed7f074d7f75d655960cd97b077/selectlib-1.0.4-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "46e4f58545e73bff87bf7aff5e313a78a17cc4a0a164dac4b6cb80d8adc74be0",
                "md5": "c93c41c61a6ae447f16dbfb11324cc9a",
                "sha256": "a52e85556cd14b5daadfb2dbd757cd8dce545d1433a0cb5465c86ce8ff57a776"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "c93c41c61a6ae447f16dbfb11324cc9a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 11282,
            "upload_time": "2025-02-05T05:28:33",
            "upload_time_iso_8601": "2025-02-05T05:28:33.796982Z",
            "url": "https://files.pythonhosted.org/packages/46/e4/f58545e73bff87bf7aff5e313a78a17cc4a0a164dac4b6cb80d8adc74be0/selectlib-1.0.4-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8ec5d7d5a63c8c66504f372079a19aa099977e6bc2fb5b37722eb7f9492f5a0",
                "md5": "a2c2f126ef39fee60cc20baf45829622",
                "sha256": "fa989d93071bac3fd1527907a0bb8078fb93cc77262adba28def42d27620b0bb"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a2c2f126ef39fee60cc20baf45829622",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 12000,
            "upload_time": "2025-02-05T05:28:34",
            "upload_time_iso_8601": "2025-02-05T05:28:34.652970Z",
            "url": "https://files.pythonhosted.org/packages/f8/ec/5d7d5a63c8c66504f372079a19aa099977e6bc2fb5b37722eb7f9492f5a0/selectlib-1.0.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "df4b0ba79a07fb916fdb9e0a2fc8a546d14e6354eb3bbd28baae8a44945389d7",
                "md5": "51b7b57196e202afcaedf8c5070e712d",
                "sha256": "7c550b77ca57c3232d4092214e4d7d098f1e771742e5fe96a5be5d8caa2cd371"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "51b7b57196e202afcaedf8c5070e712d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 9112,
            "upload_time": "2025-02-05T05:28:36",
            "upload_time_iso_8601": "2025-02-05T05:28:36.659822Z",
            "url": "https://files.pythonhosted.org/packages/df/4b/0ba79a07fb916fdb9e0a2fc8a546d14e6354eb3bbd28baae8a44945389d7/selectlib-1.0.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97ce1ea98469684437c5f87e7f7866c3e4ae54662ad4039af0b5d8193f147de9",
                "md5": "b0b7b804672a1bc415746de5e34d6995",
                "sha256": "2715157c9e3554e3acd2347a43a7f3a720ed078effcaaf9fbb6bc17b7801ba06"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b0b7b804672a1bc415746de5e34d6995",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 24643,
            "upload_time": "2025-02-05T05:28:37",
            "upload_time_iso_8601": "2025-02-05T05:28:37.908126Z",
            "url": "https://files.pythonhosted.org/packages/97/ce/1ea98469684437c5f87e7f7866c3e4ae54662ad4039af0b5d8193f147de9/selectlib-1.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e12b0a7f5a9cc8eb4b01be4cfb77c75416462804d193102a12bb15d7da82c8a",
                "md5": "6d683a229b4e15f5ce151101ec71f714",
                "sha256": "e41f8dfbc18b4ef813bb393e3e5acde4c3c39807bee40cad57102394bc29f502"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6d683a229b4e15f5ce151101ec71f714",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 25887,
            "upload_time": "2025-02-05T05:28:38",
            "upload_time_iso_8601": "2025-02-05T05:28:38.997778Z",
            "url": "https://files.pythonhosted.org/packages/5e/12/b0a7f5a9cc8eb4b01be4cfb77c75416462804d193102a12bb15d7da82c8a/selectlib-1.0.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "699590d72722dbc7a8f56dccdb5a23e507f5d1c9bb4a7265f2dc1ee102bfef70",
                "md5": "4febfa5455ce03e20a7b2ba9b6ccfe72",
                "sha256": "725a931319b9d32693f01d682ebf410e5d979c6c317cf915f34b888d254bf832"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "4febfa5455ce03e20a7b2ba9b6ccfe72",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 27248,
            "upload_time": "2025-02-05T05:28:40",
            "upload_time_iso_8601": "2025-02-05T05:28:40.698863Z",
            "url": "https://files.pythonhosted.org/packages/69/95/90d72722dbc7a8f56dccdb5a23e507f5d1c9bb4a7265f2dc1ee102bfef70/selectlib-1.0.4-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "448265189574be2938685af49e6754748be4b860f054ed0389f033917fc3adce",
                "md5": "eaba7f2730ea4a6a66811607149f16d3",
                "sha256": "58eead4f6b3cbf26a2fefaf23dc6e53f0217e82b3db313b8bc5f1d2e92a1a77a"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eaba7f2730ea4a6a66811607149f16d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 27250,
            "upload_time": "2025-02-05T05:28:41",
            "upload_time_iso_8601": "2025-02-05T05:28:41.838371Z",
            "url": "https://files.pythonhosted.org/packages/44/82/65189574be2938685af49e6754748be4b860f054ed0389f033917fc3adce/selectlib-1.0.4-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2330cfc59ffaa426d4b68c060ca2dc572ac968293d08401b270539fea27529a",
                "md5": "0630a1f4646831f2abd9f9b79ba46acf",
                "sha256": "c55b6e4cebc6a57b10fda291691ed91d509aa2747d91907ec260d576d70d737a"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "0630a1f4646831f2abd9f9b79ba46acf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 11278,
            "upload_time": "2025-02-05T05:28:42",
            "upload_time_iso_8601": "2025-02-05T05:28:42.899228Z",
            "url": "https://files.pythonhosted.org/packages/d2/33/0cfc59ffaa426d4b68c060ca2dc572ac968293d08401b270539fea27529a/selectlib-1.0.4-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79a5bca8c6f1df27055842df8fefb7ee8bf762e8b9217758b3805affdc327adc",
                "md5": "28883d1d4700c5e76eefc4898ad2ba00",
                "sha256": "aaaf1f1a2ddbc47ea1ca364d2cf8dc7c3e5116f59c0d0c01ba2a5c8703999e49"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "28883d1d4700c5e76eefc4898ad2ba00",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 11999,
            "upload_time": "2025-02-05T05:28:46",
            "upload_time_iso_8601": "2025-02-05T05:28:46.037289Z",
            "url": "https://files.pythonhosted.org/packages/79/a5/bca8c6f1df27055842df8fefb7ee8bf762e8b9217758b3805affdc327adc/selectlib-1.0.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc3feaaefc6325b04ef6a1f606ebe002b715c476037d1beee15294fd072095aa",
                "md5": "072050829f32920fa72704265136bbd4",
                "sha256": "4a7cb7cec337593780438052fd315f2c20901fc29ebb3c1eafd696a60117e106"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "072050829f32920fa72704265136bbd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 9142,
            "upload_time": "2025-02-05T05:28:46",
            "upload_time_iso_8601": "2025-02-05T05:28:46.943688Z",
            "url": "https://files.pythonhosted.org/packages/bc/3f/eaaefc6325b04ef6a1f606ebe002b715c476037d1beee15294fd072095aa/selectlib-1.0.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b8e49b312a019050276056c9ab78fb290a3c67bddcc0405317b6e28e061261d",
                "md5": "d8c4c8cfd2acf8a805f2ee81f890e798",
                "sha256": "a9c5ac29a30e908dfbb1e6e53a9242de415c3a3625c9dc6dca2cb495d520faf9"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d8c4c8cfd2acf8a805f2ee81f890e798",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 25197,
            "upload_time": "2025-02-05T05:28:47",
            "upload_time_iso_8601": "2025-02-05T05:28:47.997446Z",
            "url": "https://files.pythonhosted.org/packages/7b/8e/49b312a019050276056c9ab78fb290a3c67bddcc0405317b6e28e061261d/selectlib-1.0.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5916fbff5f068833fa502850a5b675097a4321e696979d5f358d10e930630571",
                "md5": "1abc06293c33e3c3e408a6e53b149dcf",
                "sha256": "d9f2e751422d40e71fd26aaa78496781f783cf1cd755e84e57f886953db1c750"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1abc06293c33e3c3e408a6e53b149dcf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 25990,
            "upload_time": "2025-02-05T05:28:49",
            "upload_time_iso_8601": "2025-02-05T05:28:49.343767Z",
            "url": "https://files.pythonhosted.org/packages/59/16/fbff5f068833fa502850a5b675097a4321e696979d5f358d10e930630571/selectlib-1.0.4-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": "562e951770e5d307a2f28ad9d150b349ad554a56d4b862036b685bb19fc38221",
                "md5": "efc4c304ea7703f928f40a88a5909e81",
                "sha256": "75b37e3f120e88ad984152800af95192ec68818074453d48d36a82818d1b3198"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "efc4c304ea7703f928f40a88a5909e81",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 25866,
            "upload_time": "2025-02-05T05:28:50",
            "upload_time_iso_8601": "2025-02-05T05:28:50.261252Z",
            "url": "https://files.pythonhosted.org/packages/56/2e/951770e5d307a2f28ad9d150b349ad554a56d4b862036b685bb19fc38221/selectlib-1.0.4-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e333dd613e1826d2363543c6faa70c23ea515409a51355469a3577f5bcd9cc6f",
                "md5": "689f39223fd9378e74c8cd7c8af6f9fd",
                "sha256": "319ffecacd19e630052aa805f0605fe67523453034f7fd601c0efebaaed89380"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "689f39223fd9378e74c8cd7c8af6f9fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 25731,
            "upload_time": "2025-02-05T05:28:51",
            "upload_time_iso_8601": "2025-02-05T05:28:51.149008Z",
            "url": "https://files.pythonhosted.org/packages/e3/33/dd613e1826d2363543c6faa70c23ea515409a51355469a3577f5bcd9cc6f/selectlib-1.0.4-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6c659846d7b95dd2b5ae8921729747d2bacf2203f43caac1d6edc9c32b1df59c",
                "md5": "d23c641dd5fa379b99da3aab78148659",
                "sha256": "25edc6168e7ef9121282f65974bb7ecfc30caa1ce7bc1eb4da80d4f06cd6afc9"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "d23c641dd5fa379b99da3aab78148659",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 11328,
            "upload_time": "2025-02-05T05:28:52",
            "upload_time_iso_8601": "2025-02-05T05:28:52.063990Z",
            "url": "https://files.pythonhosted.org/packages/6c/65/9846d7b95dd2b5ae8921729747d2bacf2203f43caac1d6edc9c32b1df59c/selectlib-1.0.4-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a70de38760399dd43ac5fe0c925ca937928e6a6774b9cfb1a0dd74df557977ff",
                "md5": "5482ed9f1fbe4f0f02cbd85a73a2addc",
                "sha256": "a32d193add09a11a7adfe525b37c317082d10cf3c85346c6720401b5536dc687"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5482ed9f1fbe4f0f02cbd85a73a2addc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 12050,
            "upload_time": "2025-02-05T05:28:52",
            "upload_time_iso_8601": "2025-02-05T05:28:52.929803Z",
            "url": "https://files.pythonhosted.org/packages/a7/0d/e38760399dd43ac5fe0c925ca937928e6a6774b9cfb1a0dd74df557977ff/selectlib-1.0.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85c4afce32d1ec505a51e4ae2a58cf86bd7540dfcca9434ce9cea4d8e119d9d9",
                "md5": "002d03a916426d5e3c42de51c059e759",
                "sha256": "4db74c0849b30c61d5d96088a94133b3ab31e33d1a2cf8fe4338a0daf95000b8"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "002d03a916426d5e3c42de51c059e759",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 9138,
            "upload_time": "2025-02-05T05:28:53",
            "upload_time_iso_8601": "2025-02-05T05:28:53.901055Z",
            "url": "https://files.pythonhosted.org/packages/85/c4/afce32d1ec505a51e4ae2a58cf86bd7540dfcca9434ce9cea4d8e119d9d9/selectlib-1.0.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbe6b2f6e162f2267bb2fd980ab4b0350599708fbb49f819008a6c143f7bf413",
                "md5": "b0823f05e79e48f74fc749853898c238",
                "sha256": "ee05417663a39bd7d745c1ad2ecea2b5f9ed4142cbfb4cf9840a74f7066b18d9"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b0823f05e79e48f74fc749853898c238",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 25158,
            "upload_time": "2025-02-05T05:28:54",
            "upload_time_iso_8601": "2025-02-05T05:28:54.754852Z",
            "url": "https://files.pythonhosted.org/packages/cb/e6/b2f6e162f2267bb2fd980ab4b0350599708fbb49f819008a6c143f7bf413/selectlib-1.0.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc9ede585d93052f131395cdc94a72b2b64c46edc52ac3969f01f4f662797a33",
                "md5": "bd57a31f9c2595bd390a737d57025399",
                "sha256": "8e61ea177d6ae6aae2dcc75977a1395b64377d9ac137ffa4bf44cee76679ee1b"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bd57a31f9c2595bd390a737d57025399",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 25967,
            "upload_time": "2025-02-05T05:28:56",
            "upload_time_iso_8601": "2025-02-05T05:28:56.268364Z",
            "url": "https://files.pythonhosted.org/packages/cc/9e/de585d93052f131395cdc94a72b2b64c46edc52ac3969f01f4f662797a33/selectlib-1.0.4-cp313-cp313-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": "8415c93c5e29867ac9fbef70c9ad2d9de2600a5c85f4842490ce529283fa9df2",
                "md5": "4d8923ae3a1f1e0c8d8c429a115a995c",
                "sha256": "42e6e829ce7f66ff2af3a03a42ce75a2d3dcad4eda362d3fbd3fa6cd10e4369a"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "4d8923ae3a1f1e0c8d8c429a115a995c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 25910,
            "upload_time": "2025-02-05T05:28:57",
            "upload_time_iso_8601": "2025-02-05T05:28:57.257126Z",
            "url": "https://files.pythonhosted.org/packages/84/15/c93c5e29867ac9fbef70c9ad2d9de2600a5c85f4842490ce529283fa9df2/selectlib-1.0.4-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8e305d707018faacc536c38c5cf3e9d12002255f4b0c682ac0bba830b3f067f",
                "md5": "5c2c2552bf81ced48838174c8c22b767",
                "sha256": "6856864d7f51383d23728e211d9ffbf2b48808697c93e7835f9c926bc44337c6"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5c2c2552bf81ced48838174c8c22b767",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 25742,
            "upload_time": "2025-02-05T05:28:58",
            "upload_time_iso_8601": "2025-02-05T05:28:58.994702Z",
            "url": "https://files.pythonhosted.org/packages/d8/e3/05d707018faacc536c38c5cf3e9d12002255f4b0c682ac0bba830b3f067f/selectlib-1.0.4-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9caf5d936d55cb37d028e5d1991ef89ff1bc0ae43a3b5de95484c08e56cb2bf3",
                "md5": "8728895c293b089262ce416002d656ac",
                "sha256": "bba635c120208b699bb26d6d9d061090ee1ea90f558040c256a67ce45572bbec"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "8728895c293b089262ce416002d656ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 11331,
            "upload_time": "2025-02-05T05:29:01",
            "upload_time_iso_8601": "2025-02-05T05:29:01.123810Z",
            "url": "https://files.pythonhosted.org/packages/9c/af/5d936d55cb37d028e5d1991ef89ff1bc0ae43a3b5de95484c08e56cb2bf3/selectlib-1.0.4-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7a51a9ce7705a622ec8be0e7f49755a7a57cd1485c6ab92086bf3002f847112f",
                "md5": "0a62a02a8bff0ece97e2e9bca31fe6cb",
                "sha256": "ef2e0912aa24f673a8d1005fff8e719ed9cd8f9ef3c40fe5da066d9f517800d6"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0a62a02a8bff0ece97e2e9bca31fe6cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 12051,
            "upload_time": "2025-02-05T05:29:04",
            "upload_time_iso_8601": "2025-02-05T05:29:04.198906Z",
            "url": "https://files.pythonhosted.org/packages/7a/51/a9ce7705a622ec8be0e7f49755a7a57cd1485c6ab92086bf3002f847112f/selectlib-1.0.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a24dc766ef8350d692b58f5727dd43a94d8dce5763bdf26d4a611e2dc2b7e8a",
                "md5": "34e8d6a0a6e8d6fe740c911457019126",
                "sha256": "b67453fec137721e78f2cda3cb8b78d1bd6214275f0340dad6b0b3208a3c938d"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "34e8d6a0a6e8d6fe740c911457019126",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 9052,
            "upload_time": "2025-02-05T05:29:07",
            "upload_time_iso_8601": "2025-02-05T05:29:07.341257Z",
            "url": "https://files.pythonhosted.org/packages/9a/24/dc766ef8350d692b58f5727dd43a94d8dce5763bdf26d4a611e2dc2b7e8a/selectlib-1.0.4-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec7db04bca737bedb0f39801b634a035a7b1eb189527689c71f40a7f329a5bfc",
                "md5": "8800afcd91aea6fb5765a9e5508506da",
                "sha256": "f843a2ee34af2882e938c10ad1bc4cb1f824046567c0b637294f60d33e81bb8a"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "8800afcd91aea6fb5765a9e5508506da",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 25003,
            "upload_time": "2025-02-05T05:29:08",
            "upload_time_iso_8601": "2025-02-05T05:29:08.343826Z",
            "url": "https://files.pythonhosted.org/packages/ec/7d/b04bca737bedb0f39801b634a035a7b1eb189527689c71f40a7f329a5bfc/selectlib-1.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "126fab1ea0ecf87efa8e82d3446183328a1193ba5d305c4be182f80d245ae0a9",
                "md5": "f4a2eef5a2f504ce69f6f3c62834b057",
                "sha256": "a2c9bdb5edf1e9670aa4111e603a3dafb7803763da1e4637f967fb59e10b2709"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f4a2eef5a2f504ce69f6f3c62834b057",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 26246,
            "upload_time": "2025-02-05T05:29:09",
            "upload_time_iso_8601": "2025-02-05T05:29:09.259983Z",
            "url": "https://files.pythonhosted.org/packages/12/6f/ab1ea0ecf87efa8e82d3446183328a1193ba5d305c4be182f80d245ae0a9/selectlib-1.0.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c9517abc23639d4054fed13862e48c50d7cda831ebb66850cdd53fcb23a5a00",
                "md5": "d8151b1a43d35240ac9e8b96085ac1d6",
                "sha256": "dc4fc7d042e0d4e2b714a06114855daf8fc51e51779dcc6d1ccb9ae2b833250c"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "d8151b1a43d35240ac9e8b96085ac1d6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 27084,
            "upload_time": "2025-02-05T05:29:11",
            "upload_time_iso_8601": "2025-02-05T05:29:11.150555Z",
            "url": "https://files.pythonhosted.org/packages/4c/95/17abc23639d4054fed13862e48c50d7cda831ebb66850cdd53fcb23a5a00/selectlib-1.0.4-cp38-cp38-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2bc0b8c94ca934af20bb4b035d23232f440be66394afcb7ce8b6b454c3fdd6a7",
                "md5": "274351fcfcb0d635884ebe29b0fb22b5",
                "sha256": "5c9c8a0dda457b4778c602faa15ed122a199d404e7e38c88fe515185230e7c4a"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "274351fcfcb0d635884ebe29b0fb22b5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 27028,
            "upload_time": "2025-02-05T05:29:13",
            "upload_time_iso_8601": "2025-02-05T05:29:13.142249Z",
            "url": "https://files.pythonhosted.org/packages/2b/c0/b8c94ca934af20bb4b035d23232f440be66394afcb7ce8b6b454c3fdd6a7/selectlib-1.0.4-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "15e1043e289eab4e6df3bf425c8403a82e98bccff55fce19ba1cacf815a8b592",
                "md5": "dc9affa1a290d115c22e3612fd7af0d4",
                "sha256": "1664a7669f9c7bddb81250866c36716a11e410ecea9aa7fd6a24e121e7e0293c"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "dc9affa1a290d115c22e3612fd7af0d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 11234,
            "upload_time": "2025-02-05T05:29:14",
            "upload_time_iso_8601": "2025-02-05T05:29:14.074469Z",
            "url": "https://files.pythonhosted.org/packages/15/e1/043e289eab4e6df3bf425c8403a82e98bccff55fce19ba1cacf815a8b592/selectlib-1.0.4-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7541821ea49aa7598ffd82e0fa804b99ebc037aa10203fc1fc5a28114eb5a76c",
                "md5": "aaf4f9f6f95313a3eaa1297909ec6d0f",
                "sha256": "5586ed54f6bedcf30448295ca21e064eef0a313c0f29a4ea4cf83d1dd3858ca9"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aaf4f9f6f95313a3eaa1297909ec6d0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 11946,
            "upload_time": "2025-02-05T05:29:15",
            "upload_time_iso_8601": "2025-02-05T05:29:15.739913Z",
            "url": "https://files.pythonhosted.org/packages/75/41/821ea49aa7598ffd82e0fa804b99ebc037aa10203fc1fc5a28114eb5a76c/selectlib-1.0.4-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "536a0ce3f059b79451e4a99ea844278914da6800e2f0f60bfa21b32a8d8a7a6d",
                "md5": "eb0e98cb3060291344cf31f439a99016",
                "sha256": "052a3f933b7e89fd20c7c0ae6505ac3202ffeee8508501b3f0de9ede676965f1"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "eb0e98cb3060291344cf31f439a99016",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 9107,
            "upload_time": "2025-02-05T05:29:16",
            "upload_time_iso_8601": "2025-02-05T05:29:16.637821Z",
            "url": "https://files.pythonhosted.org/packages/53/6a/0ce3f059b79451e4a99ea844278914da6800e2f0f60bfa21b32a8d8a7a6d/selectlib-1.0.4-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "478f4145a2f03c4c2f08e81dd2d0eabfa077e29ca19cffeb85422b090b53abb7",
                "md5": "70ee074d60105ed5d5aeac3c4874547a",
                "sha256": "748a86c22f7e1d191be484543a2d5700401148c4afa6909128f9f85e53028577"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "70ee074d60105ed5d5aeac3c4874547a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 24241,
            "upload_time": "2025-02-05T05:29:17",
            "upload_time_iso_8601": "2025-02-05T05:29:17.736567Z",
            "url": "https://files.pythonhosted.org/packages/47/8f/4145a2f03c4c2f08e81dd2d0eabfa077e29ca19cffeb85422b090b53abb7/selectlib-1.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "87a539612b333baa0c4f16d83c1036c0018505f61eda4daf0ff31069ba5648d3",
                "md5": "0db163b83b69e42d4d37ddcef844a969",
                "sha256": "b37b85f100dd0550b4303dfcfdc8398a5982836799c5ab5dee0c51be9c82c9a7"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0db163b83b69e42d4d37ddcef844a969",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 25471,
            "upload_time": "2025-02-05T05:29:19",
            "upload_time_iso_8601": "2025-02-05T05:29:19.474583Z",
            "url": "https://files.pythonhosted.org/packages/87/a5/39612b333baa0c4f16d83c1036c0018505f61eda4daf0ff31069ba5648d3/selectlib-1.0.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6c2daa07da2414526f11e8c438ec30f8fd927859ad44c9897238862041840f3",
                "md5": "bf7c711e1dada6a335a0eb1792c76ad6",
                "sha256": "76fa858923ecf3ada725075868649ff07cb0661dd097c24b0481e01eaa7988c9"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "bf7c711e1dada6a335a0eb1792c76ad6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 26931,
            "upload_time": "2025-02-05T05:29:21",
            "upload_time_iso_8601": "2025-02-05T05:29:21.648341Z",
            "url": "https://files.pythonhosted.org/packages/c6/c2/daa07da2414526f11e8c438ec30f8fd927859ad44c9897238862041840f3/selectlib-1.0.4-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "752d8ae519e8386d589291560083146f12e539ab08e55c3342c4a6e8b04a9bb6",
                "md5": "e0a45f2a0304c20f70958417a20f0cfc",
                "sha256": "f5c80f1dd30230e297037707d9623e2f1d0f4b433246b6f1a37517b04d17f420"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e0a45f2a0304c20f70958417a20f0cfc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 26885,
            "upload_time": "2025-02-05T05:29:22",
            "upload_time_iso_8601": "2025-02-05T05:29:22.618522Z",
            "url": "https://files.pythonhosted.org/packages/75/2d/8ae519e8386d589291560083146f12e539ab08e55c3342c4a6e8b04a9bb6/selectlib-1.0.4-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70b5ee8ccb04b3bc014c85343d320d860457927d19db8b620bc2458b3a4693f9",
                "md5": "bdf00bf81d29cb131ab23620604c2664",
                "sha256": "b68eb01379c5278aec3f1bd07681e0d6622029815783bd15d4d9a747e28b535f"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "bdf00bf81d29cb131ab23620604c2664",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 11287,
            "upload_time": "2025-02-05T05:29:23",
            "upload_time_iso_8601": "2025-02-05T05:29:23.519253Z",
            "url": "https://files.pythonhosted.org/packages/70/b5/ee8ccb04b3bc014c85343d320d860457927d19db8b620bc2458b3a4693f9/selectlib-1.0.4-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "adec6cfb26fe9bbc3a3af4f334b4984dd820fad4803d9899c970b929a0417893",
                "md5": "07e5772a4583173c98c60edb8966c99c",
                "sha256": "8747bae5a6885691c9ee86912d8531f71f94e8e9a18f7b64414191d5021b65c6"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "07e5772a4583173c98c60edb8966c99c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 11997,
            "upload_time": "2025-02-05T05:29:25",
            "upload_time_iso_8601": "2025-02-05T05:29:25.175904Z",
            "url": "https://files.pythonhosted.org/packages/ad/ec/6cfb26fe9bbc3a3af4f334b4984dd820fad4803d9899c970b929a0417893/selectlib-1.0.4-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66d400fe28e02053aa14e0a79872387f2024505211b59cfb81d931193ba68f80",
                "md5": "557dfc65dd62d8a68f9045c685280f08",
                "sha256": "e885f8f8268739b13f1f28722874f5c94fe87125c949754035e370e0f7319e2c"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "557dfc65dd62d8a68f9045c685280f08",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 8913,
            "upload_time": "2025-02-05T05:29:26",
            "upload_time_iso_8601": "2025-02-05T05:29:26.077969Z",
            "url": "https://files.pythonhosted.org/packages/66/d4/00fe28e02053aa14e0a79872387f2024505211b59cfb81d931193ba68f80/selectlib-1.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "daccf325a06c0adca4b44585138ded7cb201ab3414c98930d267df0653f016e6",
                "md5": "18b4cf00bba22c91295e62e400998205",
                "sha256": "d827cc2f89393a7a210fd13e9b9480b0048c3532facf9b746f5e86da61a4ff26"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "18b4cf00bba22c91295e62e400998205",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 10593,
            "upload_time": "2025-02-05T05:29:27",
            "upload_time_iso_8601": "2025-02-05T05:29:27.706143Z",
            "url": "https://files.pythonhosted.org/packages/da/cc/f325a06c0adca4b44585138ded7cb201ab3414c98930d267df0653f016e6/selectlib-1.0.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d9e27344613403cea05ad6536ae1ab4c7d9da330465dad964602b2c89fb6539",
                "md5": "1950b40279962f2576c816be0d0a2568",
                "sha256": "b36f8da04a046d8a655d296cb0adb1f14a80f08a85e6bd7cce389a273f579511"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1950b40279962f2576c816be0d0a2568",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 10496,
            "upload_time": "2025-02-05T05:29:28",
            "upload_time_iso_8601": "2025-02-05T05:29:28.619444Z",
            "url": "https://files.pythonhosted.org/packages/8d/9e/27344613403cea05ad6536ae1ab4c7d9da330465dad964602b2c89fb6539/selectlib-1.0.4-pp310-pypy310_pp73-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": "16b27d33e75588f472c15a4f5e04d451300f2230821bb03e6c7c57897ca019c6",
                "md5": "350c21bf3c58cefcf96058712148d668",
                "sha256": "50e296ab02e4b15364d338731992ee3401972315384ba52a759dfd68089deba3"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "350c21bf3c58cefcf96058712148d668",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 12077,
            "upload_time": "2025-02-05T05:29:29",
            "upload_time_iso_8601": "2025-02-05T05:29:29.495055Z",
            "url": "https://files.pythonhosted.org/packages/16/b2/7d33e75588f472c15a4f5e04d451300f2230821bb03e6c7c57897ca019c6/selectlib-1.0.4-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "527d00f035bbfda15c898a05dcd1a83938aaa1869c32761f10e0a4e5a02ffacb",
                "md5": "940f0b432146d67afd5927265be16221",
                "sha256": "2a548cf1b94f664c7178cc7ba3194cc0666b4949030e362d1c7ca3afe6eb86a4"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "940f0b432146d67afd5927265be16221",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 8848,
            "upload_time": "2025-02-05T05:29:31",
            "upload_time_iso_8601": "2025-02-05T05:29:31.176011Z",
            "url": "https://files.pythonhosted.org/packages/52/7d/00f035bbfda15c898a05dcd1a83938aaa1869c32761f10e0a4e5a02ffacb/selectlib-1.0.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "62c427645d9479e44d3f93c63a6ed620a9eb0868d45a8f4e8f40920193472994",
                "md5": "10e32f8d09fa1a54a5e8781ee758f34e",
                "sha256": "4d10d2d183fc5a0639f625205e3e145a882c62d56322eaeab34839d9aa6bc8eb"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "10e32f8d09fa1a54a5e8781ee758f34e",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 10573,
            "upload_time": "2025-02-05T05:29:32",
            "upload_time_iso_8601": "2025-02-05T05:29:32.066444Z",
            "url": "https://files.pythonhosted.org/packages/62/c4/27645d9479e44d3f93c63a6ed620a9eb0868d45a8f4e8f40920193472994/selectlib-1.0.4-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "794588db1ff90e4d03c3daacd952d3110e719ffd527f8b286ac0719986e33d56",
                "md5": "ae6b6f11e77558365ee4c75bb7fe559e",
                "sha256": "04c5447ec1cf77599d14ca1b1dbf9f8362bd1cfe6bb865d6fa967bfe5ecef967"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ae6b6f11e77558365ee4c75bb7fe559e",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 10486,
            "upload_time": "2025-02-05T05:29:33",
            "upload_time_iso_8601": "2025-02-05T05:29:33.679045Z",
            "url": "https://files.pythonhosted.org/packages/79/45/88db1ff90e4d03c3daacd952d3110e719ffd527f8b286ac0719986e33d56/selectlib-1.0.4-pp38-pypy38_pp73-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": "e7ef074260db1a9642651a876347ce6e143010dbcdf258e37a03ce721d7d91d8",
                "md5": "5b56e2a365beda49b07473f4517a2eae",
                "sha256": "411fe5aaf7167767dac0ea937f4640f090437b20bd9df581eb05779cb8732cd3"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5b56e2a365beda49b07473f4517a2eae",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 12020,
            "upload_time": "2025-02-05T05:29:34",
            "upload_time_iso_8601": "2025-02-05T05:29:34.570351Z",
            "url": "https://files.pythonhosted.org/packages/e7/ef/074260db1a9642651a876347ce6e143010dbcdf258e37a03ce721d7d91d8/selectlib-1.0.4-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bbd572eb09e3265f03dada5f011364f068529f8f8c13d4d5fbd5df5032f3740f",
                "md5": "a59a079424add8ac70c024e0dfd8ac58",
                "sha256": "093efb34e3277cd87bf8d38d072e7762de3003e34299e03ee5b964b8b2fdfbab"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a59a079424add8ac70c024e0dfd8ac58",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 8904,
            "upload_time": "2025-02-05T05:29:36",
            "upload_time_iso_8601": "2025-02-05T05:29:36.338270Z",
            "url": "https://files.pythonhosted.org/packages/bb/d5/72eb09e3265f03dada5f011364f068529f8f8c13d4d5fbd5df5032f3740f/selectlib-1.0.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a62cf2bac4815da0b3eeef5fd2a54ee24e2cf52698aaf406ebb05a411e7f5fce",
                "md5": "58447e90cb395e306d16874c15d34bf0",
                "sha256": "2d4913ec840ac15bc701034041279082abc5ac2a2b6eae525204bc8faf79f555"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "58447e90cb395e306d16874c15d34bf0",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 10589,
            "upload_time": "2025-02-05T05:29:37",
            "upload_time_iso_8601": "2025-02-05T05:29:37.338316Z",
            "url": "https://files.pythonhosted.org/packages/a6/2c/f2bac4815da0b3eeef5fd2a54ee24e2cf52698aaf406ebb05a411e7f5fce/selectlib-1.0.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "73159b62bb9c6e5a0e621079d0850c177d171b4a90504f84f1ab274e260022ba",
                "md5": "47e2d2c09c8db29fe462ab75ebd3e455",
                "sha256": "4b6f723f0779ac86db4e29fc4314da9d986589ddd2b3e7edd4ffcdeed3432ce2"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "47e2d2c09c8db29fe462ab75ebd3e455",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 10491,
            "upload_time": "2025-02-05T05:29:38",
            "upload_time_iso_8601": "2025-02-05T05:29:38.272781Z",
            "url": "https://files.pythonhosted.org/packages/73/15/9b62bb9c6e5a0e621079d0850c177d171b4a90504f84f1ab274e260022ba/selectlib-1.0.4-pp39-pypy39_pp73-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": "af34ac2ee9144d48b1fcd5bda4bf18680668fae4e29cc5c558b0ae58c88c4d5a",
                "md5": "46938fcacac188940249f5fc824496fe",
                "sha256": "c032cd39a753754f136ef08007eae1eca8f0622fb1a39790819676afae58b618"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "46938fcacac188940249f5fc824496fe",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 12076,
            "upload_time": "2025-02-05T05:29:39",
            "upload_time_iso_8601": "2025-02-05T05:29:39.142948Z",
            "url": "https://files.pythonhosted.org/packages/af/34/ac2ee9144d48b1fcd5bda4bf18680668fae4e29cc5c558b0ae58c88c4d5a/selectlib-1.0.4-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63c1b202e7f2558292c5489ec1d827bff9faac39b637593e97dee7f0bccada86",
                "md5": "c9987b085c3301fce78e97a46fe256cb",
                "sha256": "b4195e67ca8b402f2a6bd05890dfe19f28e530368e888ccb49d1fe488fa63900"
            },
            "downloads": -1,
            "filename": "selectlib-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "c9987b085c3301fce78e97a46fe256cb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8391,
            "upload_time": "2025-02-05T05:29:40",
            "upload_time_iso_8601": "2025-02-05T05:29:40.052678Z",
            "url": "https://files.pythonhosted.org/packages/63/c1/b202e7f2558292c5489ec1d827bff9faac39b637593e97dee7f0bccada86/selectlib-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-05 05:29:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "grantjenks",
    "github_project": "python-selectlib",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "selectlib"
}
        
Elapsed time: 1.00806s