bpeasy


Namebpeasy JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryFast bare-bones BPE for modern tokenizer training
upload_time2023-12-19 10:55:51
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords tokenizer tokenization bpe
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bpeasy

[![codecov](https://codecov.io/gh/gautierdag/bpeasy/branch/main/graph/badge.svg?token=NWHDJ22L8I)](https://codecov.io/gh/gautierdag/bpeasy) [![tests](https://github.com/gautierdag/bpeasy/actions/workflows/test.yml/badge.svg)](https://github.com/gautierdag/bpeasy/actions/workflows/test.yml) [![image](https://img.shields.io/pypi/l/bpeasy.svg)](https://pypi.python.org/pypi/bpeasy) [![image](https://img.shields.io/pypi/pyversions/bpeasy.svg)](https://pypi.python.org/pypi/bpeasy) [![PyPI version](https://badge.fury.io/py/bpeasy.svg)](https://badge.fury.io/py/bpeasy)

## Overview

`bpeasy` is a Python package that provides a tokenizer trainer, implementing in 400 lines of rust an efficient version of Byte Pair Encoding (BPE). The implementation largely follows the huggingface `tokenizers` library, but makes opinionated decisions to simplify the tokenizer training specifically to:

1. Treat text data at the byte-level first --- all text is converted to bytes before training rather than using a character-level approach (like in Huggingface).
2. Always use a regex-based split pre-tokenizer. This is a customisable regex that is applied to the text before training. This regex decides where to split the text and limits what kind of tokens are possible. This is technically possible in Huggingface but is not well documented. We also use the `fancy-regex` crate which supports a richer set of regex features than the `regex` crate used in Huggingface.
3. Use `int64` types for counting to allow for training on much larger datasets without the risk of overflow.

**You can think of `bpeasy` as the `tiktoken` training code that never was.**

See the [benchmarks](/benchmarks/README.md) section for a comparison with the Huggingface library.

## Installation

Simply install the package using pip:

```bash
pip install bpeasy
```

## Training

The training function is designed to be bare-bones and returns the trained tokenizer vocab as a dictionary of bytes to integers. This is to allow for maximum flexibility in how you want to use the tokenizer. For example, you can use then port these to tiktoken or Huggingface tokenizers (see below).

```python
# should be an iterator over str
iterator = jsonl_content_iterator(args)
# example regex from GPT-4
regex_pattern = r"""(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+"""

# returns the vocab (dict[bytes, int])
vocab = bpeasy.train_bpe(
    iterator,
    regex_pattern,
    args.max_sentencepiece_length, # max length of tokens
    args.vocab_size, # max size of vocab
)
```

Alternatively, you can also train using the basic tokenizer class provided:

```python
from bpeasy.tokenizer import BPEasyTokenizer

tokenizer = BPEasyTokenizer.train(
    iterator, # iterator over str
    vocab_size=vocab_size,
    max_token_length=max_token_length,
    regex_pattern=regex_pattern,
    special_tokens=["<s>", "<pad>", "</s>"],
    fill_to_nearest_multiple_of_eight=True,
    name="bpeasy",
)
```

### Encoding/Decoding

To test your tokenizer you can use the `BPEasyTokenizer` class, which is a wrapper around the `tiktoken.Encoding` module, simplifying the handling of vocabularies, special tokens, and regex patterns for tokenization.

```python
from bpeasy.tokenizer import BPEasyTokenizer

your_special_tokens = ["<s>", "<pad>", "</s>"]

tokenizer = BPEasyTokenizer(
    vocab=vocab,
    regex_pattern=regex_pattern,
    special_tokens=your_special_tokens,
    fill_to_nearest_multiple_of_eight=True, # pad vocab to multiple of 8
    name="bpeasy" # optional name for the tokenizer
)

test = "hello_world"

# encode and decode uses the tiktoken functions
encoded = tokenizer.encode(test)
decoded = tokenizer.decode(encoded)
> "hello_world"
```

You can also use `tiktoken` directly, but you would need to handle the special tokens and regex pattern yourself:

```python
import tiktoken

vocab = bpeasy.train_bpe(...)
special_tokens = ["<s>", "<pad>", "</s>"]

# Sort the vocab by rank
sorted_vocab = sorted(list(vocab.items()), key=lambda x: x[1])

# add special tokens
special_token_ranks = {}
for special_token in special_tokens:
    special_token_ranks[special_token] = len(sorted_vocab)
    sorted_vocab.append((special_token.encode("utf-8"), len(sorted_vocab)))

full_vocab = dict(sorted_vocab)

encoder = tiktoken.Encoding(
            name=name,
            pat_str=regex_pattern,
            mergeable_ranks=full_vocab,
            special_tokens=special_token_ranks,
        )
```

### Save/Load tokenizer from file

We provide basic utility functions to save and load the tokenizer from a json file.

```python
tokenizer.save("path_to_file.json")

tokenizer = BPEasyTokenizer.from_file("path_to_file.json")
```

### Export to HuggingFace format

We also support exporting the tokenizer to the HuggingFace format, which can then be used directly with the HuggingFace `transformers` library.

```python
from bpeasy.tokenizer import BPEasyTokenizer
from trans
tokenizer = BPEasyTokenizer(
    ...
)

tokenizer.export_to_huggingface_format("hf_tokenizer.json")

from transformers import PreTrainedTokenizerFast

hf_tokenizer = PreTrainedTokenizerFast(tokenizer_file="hf_tokenizer.json")
```

### Export vocab to `tiktoken` txt format

```python
from bpeasy import 
vocab = bpeasy.train_bpe(...)

# saves the vocab to a tiktoken txt file format
save_vocab_to_tiktoken(vocab, "vocab.txt", special_tokens=["<s>", "<pad>", "</s>"])

```

If you want to use the `tiktoken` txt format, you will still need to handle the regex and special tokens yourself, as shown above,

## Contributing

Contributions are welcome! Please open an issue if you have any suggestions or improvements.

## License

This project is licensed under the MIT License.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bpeasy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "tokenizer,tokenization,bpe",
    "author": null,
    "author_email": "<gautier.dagan@ed.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/81/a9/03ee038b34b71e5c0072d78c331415c12dd76b9fe11ed37aa1f6574e98a6/bpeasy-0.1.2.tar.gz",
    "platform": null,
    "description": "# bpeasy\n\n[![codecov](https://codecov.io/gh/gautierdag/bpeasy/branch/main/graph/badge.svg?token=NWHDJ22L8I)](https://codecov.io/gh/gautierdag/bpeasy) [![tests](https://github.com/gautierdag/bpeasy/actions/workflows/test.yml/badge.svg)](https://github.com/gautierdag/bpeasy/actions/workflows/test.yml) [![image](https://img.shields.io/pypi/l/bpeasy.svg)](https://pypi.python.org/pypi/bpeasy) [![image](https://img.shields.io/pypi/pyversions/bpeasy.svg)](https://pypi.python.org/pypi/bpeasy) [![PyPI version](https://badge.fury.io/py/bpeasy.svg)](https://badge.fury.io/py/bpeasy)\n\n## Overview\n\n`bpeasy` is a Python package that provides a tokenizer trainer, implementing in 400 lines of rust an efficient version of Byte Pair Encoding (BPE). The implementation largely follows the huggingface `tokenizers` library, but makes opinionated decisions to simplify the tokenizer training specifically to:\n\n1. Treat text data at the byte-level first --- all text is converted to bytes before training rather than using a character-level approach (like in Huggingface).\n2. Always use a regex-based split pre-tokenizer. This is a customisable regex that is applied to the text before training. This regex decides where to split the text and limits what kind of tokens are possible. This is technically possible in Huggingface but is not well documented. We also use the `fancy-regex` crate which supports a richer set of regex features than the `regex` crate used in Huggingface.\n3. Use `int64` types for counting to allow for training on much larger datasets without the risk of overflow.\n\n**You can think of `bpeasy` as the `tiktoken` training code that never was.**\n\nSee the [benchmarks](/benchmarks/README.md) section for a comparison with the Huggingface library.\n\n## Installation\n\nSimply install the package using pip:\n\n```bash\npip install bpeasy\n```\n\n## Training\n\nThe training function is designed to be bare-bones and returns the trained tokenizer vocab as a dictionary of bytes to integers. This is to allow for maximum flexibility in how you want to use the tokenizer. For example, you can use then port these to tiktoken or Huggingface tokenizers (see below).\n\n```python\n# should be an iterator over str\niterator = jsonl_content_iterator(args)\n# example regex from GPT-4\nregex_pattern = r\"\"\"(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+\"\"\"\n\n# returns the vocab (dict[bytes, int])\nvocab = bpeasy.train_bpe(\n    iterator,\n    regex_pattern,\n    args.max_sentencepiece_length, # max length of tokens\n    args.vocab_size, # max size of vocab\n)\n```\n\nAlternatively, you can also train using the basic tokenizer class provided:\n\n```python\nfrom bpeasy.tokenizer import BPEasyTokenizer\n\ntokenizer = BPEasyTokenizer.train(\n    iterator, # iterator over str\n    vocab_size=vocab_size,\n    max_token_length=max_token_length,\n    regex_pattern=regex_pattern,\n    special_tokens=[\"<s>\", \"<pad>\", \"</s>\"],\n    fill_to_nearest_multiple_of_eight=True,\n    name=\"bpeasy\",\n)\n```\n\n### Encoding/Decoding\n\nTo test your tokenizer you can use the `BPEasyTokenizer` class, which is a wrapper around the `tiktoken.Encoding` module, simplifying the handling of vocabularies, special tokens, and regex patterns for tokenization.\n\n```python\nfrom bpeasy.tokenizer import BPEasyTokenizer\n\nyour_special_tokens = [\"<s>\", \"<pad>\", \"</s>\"]\n\ntokenizer = BPEasyTokenizer(\n    vocab=vocab,\n    regex_pattern=regex_pattern,\n    special_tokens=your_special_tokens,\n    fill_to_nearest_multiple_of_eight=True, # pad vocab to multiple of 8\n    name=\"bpeasy\" # optional name for the tokenizer\n)\n\ntest = \"hello_world\"\n\n# encode and decode uses the tiktoken functions\nencoded = tokenizer.encode(test)\ndecoded = tokenizer.decode(encoded)\n> \"hello_world\"\n```\n\nYou can also use `tiktoken` directly, but you would need to handle the special tokens and regex pattern yourself:\n\n```python\nimport tiktoken\n\nvocab = bpeasy.train_bpe(...)\nspecial_tokens = [\"<s>\", \"<pad>\", \"</s>\"]\n\n# Sort the vocab by rank\nsorted_vocab = sorted(list(vocab.items()), key=lambda x: x[1])\n\n# add special tokens\nspecial_token_ranks = {}\nfor special_token in special_tokens:\n    special_token_ranks[special_token] = len(sorted_vocab)\n    sorted_vocab.append((special_token.encode(\"utf-8\"), len(sorted_vocab)))\n\nfull_vocab = dict(sorted_vocab)\n\nencoder = tiktoken.Encoding(\n            name=name,\n            pat_str=regex_pattern,\n            mergeable_ranks=full_vocab,\n            special_tokens=special_token_ranks,\n        )\n```\n\n### Save/Load tokenizer from file\n\nWe provide basic utility functions to save and load the tokenizer from a json file.\n\n```python\ntokenizer.save(\"path_to_file.json\")\n\ntokenizer = BPEasyTokenizer.from_file(\"path_to_file.json\")\n```\n\n### Export to HuggingFace format\n\nWe also support exporting the tokenizer to the HuggingFace format, which can then be used directly with the HuggingFace `transformers` library.\n\n```python\nfrom bpeasy.tokenizer import BPEasyTokenizer\nfrom trans\ntokenizer = BPEasyTokenizer(\n    ...\n)\n\ntokenizer.export_to_huggingface_format(\"hf_tokenizer.json\")\n\nfrom transformers import PreTrainedTokenizerFast\n\nhf_tokenizer = PreTrainedTokenizerFast(tokenizer_file=\"hf_tokenizer.json\")\n```\n\n### Export vocab to `tiktoken` txt format\n\n```python\nfrom bpeasy import \nvocab = bpeasy.train_bpe(...)\n\n# saves the vocab to a tiktoken txt file format\nsave_vocab_to_tiktoken(vocab, \"vocab.txt\", special_tokens=[\"<s>\", \"<pad>\", \"</s>\"])\n\n```\n\nIf you want to use the `tiktoken` txt format, you will still need to handle the regex and special tokens yourself, as shown above,\n\n## Contributing\n\nContributions are welcome! Please open an issue if you have any suggestions or improvements.\n\n## License\n\nThis project is licensed under the MIT License.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Fast bare-bones BPE for modern tokenizer training",
    "version": "0.1.2",
    "project_urls": null,
    "split_keywords": [
        "tokenizer",
        "tokenization",
        "bpe"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0c1bd3a987e9109c7def27d5ad35a32c405a3029332eadebf449a3e57767db94",
                "md5": "86ed89281fe282ac368452493bb9a93d",
                "sha256": "74976e51f4833edfda7fa933eb8da51d1b504a736d821dae5f2d30057c5b725d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "86ed89281fe282ac368452493bb9a93d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 934489,
            "upload_time": "2023-12-19T10:53:56",
            "upload_time_iso_8601": "2023-12-19T10:53:56.617844Z",
            "url": "https://files.pythonhosted.org/packages/0c/1b/d3a987e9109c7def27d5ad35a32c405a3029332eadebf449a3e57767db94/bpeasy-0.1.2-cp310-cp310-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fab9b6086a7f0c5248abbe3d5496b2a18a645d32c147153970694fc974a03df7",
                "md5": "f02421c004e8aa6ef45b5a5d9f53bf8e",
                "sha256": "6bdf652caffce6af7305bca857abe89ebe1a00ca06a3800b14f9497967000ccd"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f02421c004e8aa6ef45b5a5d9f53bf8e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 867907,
            "upload_time": "2023-12-19T10:53:58",
            "upload_time_iso_8601": "2023-12-19T10:53:58.692486Z",
            "url": "https://files.pythonhosted.org/packages/fa/b9/b6086a7f0c5248abbe3d5496b2a18a645d32c147153970694fc974a03df7/bpeasy-0.1.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d997f4883d95b6dc9ea67f689ef00490c3a11970c690aaec7bd79e688d873ded",
                "md5": "3cba3da8d656db9885fad374ec1ad68e",
                "sha256": "492d12bc70c425ac9cb322b668187be4e499a8c4ee9b35b326f74844bcfbaf64"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "3cba3da8d656db9885fad374ec1ad68e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1337923,
            "upload_time": "2023-12-19T10:54:00",
            "upload_time_iso_8601": "2023-12-19T10:54:00.639571Z",
            "url": "https://files.pythonhosted.org/packages/d9/97/f4883d95b6dc9ea67f689ef00490c3a11970c690aaec7bd79e688d873ded/bpeasy-0.1.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "423af7d4bc73bd582cf8508e1ba9fe44dfaf8d9770e8cf369229a54123b667f7",
                "md5": "f6756310d3bfe634f513ce6e94d7cee3",
                "sha256": "2548056958ec55fbe727149a5349274a60a5e57abcc115b38c53e41164886436"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f6756310d3bfe634f513ce6e94d7cee3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1342584,
            "upload_time": "2023-12-19T10:54:02",
            "upload_time_iso_8601": "2023-12-19T10:54:02.873747Z",
            "url": "https://files.pythonhosted.org/packages/42/3a/f7d4bc73bd582cf8508e1ba9fe44dfaf8d9770e8cf369229a54123b667f7/bpeasy-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aed9ce59c3b96791907466cfacfb6828a2e5226060a488807decb5c1eca8b7bc",
                "md5": "ac7f9d299dfc1fee328e52c0fd65bfd1",
                "sha256": "c9f6a63664c6c2a743a8642efea16eb89bc1226e9a4e330bfa1c2b85341b0f00"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "ac7f9d299dfc1fee328e52c0fd65bfd1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1324085,
            "upload_time": "2023-12-19T10:54:04",
            "upload_time_iso_8601": "2023-12-19T10:54:04.764962Z",
            "url": "https://files.pythonhosted.org/packages/ae/d9/ce59c3b96791907466cfacfb6828a2e5226060a488807decb5c1eca8b7bc/bpeasy-0.1.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7e113545f4f9ea846fa55eab72c12de709437b74ad6e01a51131f125aadde73b",
                "md5": "572144be1be74b7d10e2b408e4f14e63",
                "sha256": "3c5710b710e6b32b4e585df49cccc1d34b1abe97f453d1f439e88116bea11857"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "572144be1be74b7d10e2b408e4f14e63",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1360887,
            "upload_time": "2023-12-19T10:54:06",
            "upload_time_iso_8601": "2023-12-19T10:54:06.177726Z",
            "url": "https://files.pythonhosted.org/packages/7e/11/3545f4f9ea846fa55eab72c12de709437b74ad6e01a51131f125aadde73b/bpeasy-0.1.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "774b57d07f6b8656adf9fa5c143a26ea097ab982ac407f53b4977bb83cda288c",
                "md5": "cc16882d01f50166e3746120876d8162",
                "sha256": "c4c5d33b374af07851f1afb30265f98cf186e8b9ba1a8858cee9160a780d7c16"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "cc16882d01f50166e3746120876d8162",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1641790,
            "upload_time": "2023-12-19T10:54:08",
            "upload_time_iso_8601": "2023-12-19T10:54:08.139484Z",
            "url": "https://files.pythonhosted.org/packages/77/4b/57d07f6b8656adf9fa5c143a26ea097ab982ac407f53b4977bb83cda288c/bpeasy-0.1.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f8ce0f8cbce3142a332fbfb9da1f0579d0780854509da766c2285be2d0765c3",
                "md5": "843cad58828e125bda991e10ee96acfc",
                "sha256": "8f19d325798af82a773165484bfd29a5b3f617d5b037b23056bc7372acfd34e4"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "843cad58828e125bda991e10ee96acfc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1367789,
            "upload_time": "2023-12-19T10:54:10",
            "upload_time_iso_8601": "2023-12-19T10:54:10.108302Z",
            "url": "https://files.pythonhosted.org/packages/7f/8c/e0f8cbce3142a332fbfb9da1f0579d0780854509da766c2285be2d0765c3/bpeasy-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "179696195273133e4669f438052644b164c649a58926f222fcf967b9ffb175b2",
                "md5": "90994ad1d5ddab7ff9316dc35908edc1",
                "sha256": "340a7bc698904ca01a468e87a632c57c56bd4cb4bc8d9ce96b32446cdbf2fc80"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "90994ad1d5ddab7ff9316dc35908edc1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 673183,
            "upload_time": "2023-12-19T10:54:11",
            "upload_time_iso_8601": "2023-12-19T10:54:11.886547Z",
            "url": "https://files.pythonhosted.org/packages/17/96/96195273133e4669f438052644b164c649a58926f222fcf967b9ffb175b2/bpeasy-0.1.2-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2fd15696125f2bd79e7389e6704a3dae3d38641ae79a54bb462f6f8b38f3c687",
                "md5": "4fc651d3d43230899832e730c0c06feb",
                "sha256": "cc68341f741226e9020b6b2066c5d7d9b6b2ff1507b894e4b158afbea7a23a3c"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4fc651d3d43230899832e730c0c06feb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 750592,
            "upload_time": "2023-12-19T10:54:13",
            "upload_time_iso_8601": "2023-12-19T10:54:13.910579Z",
            "url": "https://files.pythonhosted.org/packages/2f/d1/5696125f2bd79e7389e6704a3dae3d38641ae79a54bb462f6f8b38f3c687/bpeasy-0.1.2-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "948283eaff59779b79fda5cb43c7924228fc92cc85117dbd999dfa8d5c176e56",
                "md5": "677b5bb108f79e4e6161e69994158bc0",
                "sha256": "e49e9d5e97b495e89b2b3536a20433ec178ec2260e2ff0013208c4cd8959b274"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "677b5bb108f79e4e6161e69994158bc0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 934491,
            "upload_time": "2023-12-19T10:54:15",
            "upload_time_iso_8601": "2023-12-19T10:54:15.331090Z",
            "url": "https://files.pythonhosted.org/packages/94/82/83eaff59779b79fda5cb43c7924228fc92cc85117dbd999dfa8d5c176e56/bpeasy-0.1.2-cp311-cp311-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b885d454561483976f256c4d007798970a4f00170513a62c2f3e6efbc223a874",
                "md5": "7a4f1aaa4978bdde10d481de11ec68ee",
                "sha256": "a5a377680fb0fb8856f32624ce063d9a4c727eb7f267b1a46c8e56e87259c25e"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7a4f1aaa4978bdde10d481de11ec68ee",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 867906,
            "upload_time": "2023-12-19T10:54:16",
            "upload_time_iso_8601": "2023-12-19T10:54:16.761794Z",
            "url": "https://files.pythonhosted.org/packages/b8/85/d454561483976f256c4d007798970a4f00170513a62c2f3e6efbc223a874/bpeasy-0.1.2-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fe0060b89eb2aa0f8bbb140c6cd0c16dfbb7554bc1aae6309f5f50239a2e37cd",
                "md5": "b157227d54e9b31066040ceabb434794",
                "sha256": "15f03aacf84d7a1c447ed93a2d5fa3f3266af80d624cc21a3fd258f3715d8948"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "b157227d54e9b31066040ceabb434794",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1337924,
            "upload_time": "2023-12-19T10:54:18",
            "upload_time_iso_8601": "2023-12-19T10:54:18.071333Z",
            "url": "https://files.pythonhosted.org/packages/fe/00/60b89eb2aa0f8bbb140c6cd0c16dfbb7554bc1aae6309f5f50239a2e37cd/bpeasy-0.1.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "87833eb845127f2480664d32dcb95002df7e8829de633d58fe91901db47d0f8b",
                "md5": "65c1e04cf97faf5fb159ea37d6325726",
                "sha256": "173bfc762248906b183e2bb21f66b5960249f10e56496bdaf48147c521379b2a"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "65c1e04cf97faf5fb159ea37d6325726",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1342584,
            "upload_time": "2023-12-19T10:54:19",
            "upload_time_iso_8601": "2023-12-19T10:54:19.343806Z",
            "url": "https://files.pythonhosted.org/packages/87/83/3eb845127f2480664d32dcb95002df7e8829de633d58fe91901db47d0f8b/bpeasy-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3cc1264215f8ea8b5eb7eaf31a6a37de50f8d8c6d4abb948289e7c76046baaa1",
                "md5": "301971e12694a9e9e4f9cfc42f1d5605",
                "sha256": "32c13fddc48f9df2c7490f88ef6d21ac52aaeaf68af8e5a5b2bece9df48a2fef"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "301971e12694a9e9e4f9cfc42f1d5605",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1324084,
            "upload_time": "2023-12-19T10:54:20",
            "upload_time_iso_8601": "2023-12-19T10:54:20.867002Z",
            "url": "https://files.pythonhosted.org/packages/3c/c1/264215f8ea8b5eb7eaf31a6a37de50f8d8c6d4abb948289e7c76046baaa1/bpeasy-0.1.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bacb643a0977013ab74bafe1f79cc183162771b4f44c934f67c352170ae84263",
                "md5": "0ebc548c2f5885c382e98457fed83c65",
                "sha256": "52dafc4195db7cc61f0917a2b42ec4c7ddb6b659519e9eff1cbd473c51cca248"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0ebc548c2f5885c382e98457fed83c65",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1360887,
            "upload_time": "2023-12-19T10:54:22",
            "upload_time_iso_8601": "2023-12-19T10:54:22.409972Z",
            "url": "https://files.pythonhosted.org/packages/ba/cb/643a0977013ab74bafe1f79cc183162771b4f44c934f67c352170ae84263/bpeasy-0.1.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63a616bf580f5acd6d98dfa0fc29f10f171a08c706be21a365e474ad84d63d69",
                "md5": "35306b34ee69355f0e0de3cffaf3b507",
                "sha256": "c3d67b1d9f7a8141fd8959b9053c40ca0de1f8637f4c27777adae8c57d3bd827"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "35306b34ee69355f0e0de3cffaf3b507",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1641790,
            "upload_time": "2023-12-19T10:54:24",
            "upload_time_iso_8601": "2023-12-19T10:54:24.304554Z",
            "url": "https://files.pythonhosted.org/packages/63/a6/16bf580f5acd6d98dfa0fc29f10f171a08c706be21a365e474ad84d63d69/bpeasy-0.1.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "05949e4887767be6b36a974760aea73910540721e0fe7b6abc2f386a2d744d7c",
                "md5": "53489a5389519795ef683147c1269bd9",
                "sha256": "4fff449c5d54d982ead4bfd215983574474b41085316a0ec7991cb3fc9dbec43"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "53489a5389519795ef683147c1269bd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1367790,
            "upload_time": "2023-12-19T10:54:25",
            "upload_time_iso_8601": "2023-12-19T10:54:25.699688Z",
            "url": "https://files.pythonhosted.org/packages/05/94/9e4887767be6b36a974760aea73910540721e0fe7b6abc2f386a2d744d7c/bpeasy-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "29906d819dacb2caec168d0d08fc5572ba4b95844e20a0181692b3abe8d341ff",
                "md5": "8296529781d821f170756da532f025e1",
                "sha256": "e6a7d5dfa4e4ef67cfd0669298fd87f70e2ba0d8e93a7f81472620fb72e91b17"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "8296529781d821f170756da532f025e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 673180,
            "upload_time": "2023-12-19T10:54:26",
            "upload_time_iso_8601": "2023-12-19T10:54:26.992906Z",
            "url": "https://files.pythonhosted.org/packages/29/90/6d819dacb2caec168d0d08fc5572ba4b95844e20a0181692b3abe8d341ff/bpeasy-0.1.2-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8de1cee68e924d875bbe7ecd45fd5a273ebe62f2331c6fa8ddd6d1c5eb3924bb",
                "md5": "7d0393054ebc313721690ffce4a692ba",
                "sha256": "a5119ff0dd87c832ea16f33f5b667df02b02662634153537a4039693f5fcbe62"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7d0393054ebc313721690ffce4a692ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 750594,
            "upload_time": "2023-12-19T10:54:28",
            "upload_time_iso_8601": "2023-12-19T10:54:28.246837Z",
            "url": "https://files.pythonhosted.org/packages/8d/e1/cee68e924d875bbe7ecd45fd5a273ebe62f2331c6fa8ddd6d1c5eb3924bb/bpeasy-0.1.2-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0377e14ea2bbd0bc2cc7606621cc4549892590eefa9d6ce8d55b0965e9760133",
                "md5": "c80c5e1e294b23f0d60ad3490ee18ee0",
                "sha256": "557d968f05a586e31cda0f367000e7d36ea199a4a1c46f0f9fe7fd99939a28ca"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c80c5e1e294b23f0d60ad3490ee18ee0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 935345,
            "upload_time": "2023-12-19T10:54:29",
            "upload_time_iso_8601": "2023-12-19T10:54:29.533290Z",
            "url": "https://files.pythonhosted.org/packages/03/77/e14ea2bbd0bc2cc7606621cc4549892590eefa9d6ce8d55b0965e9760133/bpeasy-0.1.2-cp312-cp312-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a029d0bd560133e08315251566a8154e10f345862949d0167b5a316f4270f69",
                "md5": "acb97c80467a4bbac36e50ca9a431589",
                "sha256": "680e0d44eb9d7124d82eeab156c9a0c040015267dcfa801a82c11c64a7a152c7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "acb97c80467a4bbac36e50ca9a431589",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 869074,
            "upload_time": "2023-12-19T10:54:30",
            "upload_time_iso_8601": "2023-12-19T10:54:30.826341Z",
            "url": "https://files.pythonhosted.org/packages/7a/02/9d0bd560133e08315251566a8154e10f345862949d0167b5a316f4270f69/bpeasy-0.1.2-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "de99d92ef3b6e3dbb1b0da353f1f00d4355afe6e2a65ad601dc6a33d488a05c0",
                "md5": "6bce33cdd1e134daf4b893330b6050ac",
                "sha256": "fbf8c32d5465c1c4ac427535c2f4bbc2917971279ff232e02d0cd688995d9754"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "6bce33cdd1e134daf4b893330b6050ac",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1337146,
            "upload_time": "2023-12-19T10:54:32",
            "upload_time_iso_8601": "2023-12-19T10:54:32.219013Z",
            "url": "https://files.pythonhosted.org/packages/de/99/d92ef3b6e3dbb1b0da353f1f00d4355afe6e2a65ad601dc6a33d488a05c0/bpeasy-0.1.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8253d058bdb5be74209d240f4f7517e8d6afdca85ff99886993cf97a04edd051",
                "md5": "82452e0422ffad579f86dffbbc40ecd5",
                "sha256": "0aec66571a7ab29062d722808adee06673806840969baa7ce93c035015d1b0ec"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "82452e0422ffad579f86dffbbc40ecd5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1342329,
            "upload_time": "2023-12-19T10:54:33",
            "upload_time_iso_8601": "2023-12-19T10:54:33.550930Z",
            "url": "https://files.pythonhosted.org/packages/82/53/d058bdb5be74209d240f4f7517e8d6afdca85ff99886993cf97a04edd051/bpeasy-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "46db1160dd1c7a3677bda932f18ed142ab7d8e7a6d2e0b2734952d2afc898a31",
                "md5": "f1a98435a0261f2600f5d2ce18766dfa",
                "sha256": "690e8fded154e258ae3c07c257640e80f4071864b6f9e8a2f5aba621c458b3e4"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "f1a98435a0261f2600f5d2ce18766dfa",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1324304,
            "upload_time": "2023-12-19T10:54:35",
            "upload_time_iso_8601": "2023-12-19T10:54:35.497150Z",
            "url": "https://files.pythonhosted.org/packages/46/db/1160dd1c7a3677bda932f18ed142ab7d8e7a6d2e0b2734952d2afc898a31/bpeasy-0.1.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "628b644b019f1c358eb1a119108164320a3a50c85bbcaad79b34df22e10cde08",
                "md5": "99df3a50cb131a4ec8ff6f194fd9a06c",
                "sha256": "128bb82d7f1dd1f68fe266073a770a175d1f175dd0810d73112f543227a39093"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "99df3a50cb131a4ec8ff6f194fd9a06c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1360582,
            "upload_time": "2023-12-19T10:54:36",
            "upload_time_iso_8601": "2023-12-19T10:54:36.855273Z",
            "url": "https://files.pythonhosted.org/packages/62/8b/644b019f1c358eb1a119108164320a3a50c85bbcaad79b34df22e10cde08/bpeasy-0.1.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6d0a13705f29488946684b8f552bd733eaf1e8906a787428e47379f9d4cc5698",
                "md5": "78bb259a8913f22b119297c717226763",
                "sha256": "1f3b5736a15faf0f203c5ba7195c4de9fd047749888f363ad47e372c48da61d6"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "78bb259a8913f22b119297c717226763",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1644193,
            "upload_time": "2023-12-19T10:54:38",
            "upload_time_iso_8601": "2023-12-19T10:54:38.834026Z",
            "url": "https://files.pythonhosted.org/packages/6d/0a/13705f29488946684b8f552bd733eaf1e8906a787428e47379f9d4cc5698/bpeasy-0.1.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa666c271d2842b91d24acb85d75c86ca458b09732d0a79506c1b200db0f3236",
                "md5": "1c75f71ca500b64ecec5a97e6ffeb66f",
                "sha256": "339083d3174a8160ae6195ee425ae01dc3c183c6981c234d0e4b609b916a7364"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1c75f71ca500b64ecec5a97e6ffeb66f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1367765,
            "upload_time": "2023-12-19T10:54:40",
            "upload_time_iso_8601": "2023-12-19T10:54:40.952478Z",
            "url": "https://files.pythonhosted.org/packages/aa/66/6c271d2842b91d24acb85d75c86ca458b09732d0a79506c1b200db0f3236/bpeasy-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b20edfa519cd73e7d01b786864dd90ba69aa8e87d015f34f6bf10aeeedee8d83",
                "md5": "8b2a3c24844c6fb7a5518b1373a1fbae",
                "sha256": "6c9cf6dad950d218c5b7716dde5e082a68d73684544a762d523d355346ded65a"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-none-win32.whl",
            "has_sig": false,
            "md5_digest": "8b2a3c24844c6fb7a5518b1373a1fbae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 673355,
            "upload_time": "2023-12-19T10:54:42",
            "upload_time_iso_8601": "2023-12-19T10:54:42.730719Z",
            "url": "https://files.pythonhosted.org/packages/b2/0e/dfa519cd73e7d01b786864dd90ba69aa8e87d015f34f6bf10aeeedee8d83/bpeasy-0.1.2-cp312-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8dec87f17a3cfb9f5967baef6f323026d6954e6d9030fdfaa73a62cd0f0b3773",
                "md5": "cd1d0984deee29c06dc4ad8b2bcacc98",
                "sha256": "3a1f411feb92586514d25e6b7d53540a1b5b59483bcd65606b4402a58f931599"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cd1d0984deee29c06dc4ad8b2bcacc98",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 751270,
            "upload_time": "2023-12-19T10:54:44",
            "upload_time_iso_8601": "2023-12-19T10:54:44.638097Z",
            "url": "https://files.pythonhosted.org/packages/8d/ec/87f17a3cfb9f5967baef6f323026d6954e6d9030fdfaa73a62cd0f0b3773/bpeasy-0.1.2-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96c1dbe784938b9e9578c7bd9cb64358b39b74c36146c083f1f43d4f29c8fa41",
                "md5": "feebaf80f3dddfd2c149d4e48b2389bd",
                "sha256": "5e622d82f2e84c36faa7ba8c7e8cb60b0cc0c660cb42737195d1eb5b6fe8c54d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "feebaf80f3dddfd2c149d4e48b2389bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1342328,
            "upload_time": "2023-12-19T10:54:46",
            "upload_time_iso_8601": "2023-12-19T10:54:46.554513Z",
            "url": "https://files.pythonhosted.org/packages/96/c1/dbe784938b9e9578c7bd9cb64358b39b74c36146c083f1f43d4f29c8fa41/bpeasy-0.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4353521a6dfe4b376d92da799448290ded08cd5d04ba575f30b9492b7dea27e",
                "md5": "6ac626662ea85f410bbe36d85386228b",
                "sha256": "a6282e9b87f88f0f952438274f0e63b6c6049a223defab0518cfc89ebf0046ce"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "6ac626662ea85f410bbe36d85386228b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1324305,
            "upload_time": "2023-12-19T10:54:48",
            "upload_time_iso_8601": "2023-12-19T10:54:48.034481Z",
            "url": "https://files.pythonhosted.org/packages/d4/35/3521a6dfe4b376d92da799448290ded08cd5d04ba575f30b9492b7dea27e/bpeasy-0.1.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f08caaddf791fcb2a2216f8f220ae4015fed32194a41a18d1dde07c5a02a2bd6",
                "md5": "4bd757c51861a1b12812c334a7f09da3",
                "sha256": "9fb5137669c70eec7e3c881e75ceb912af3c6069baeae0225f2caa65885629b5"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "4bd757c51861a1b12812c334a7f09da3",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1360583,
            "upload_time": "2023-12-19T10:54:49",
            "upload_time_iso_8601": "2023-12-19T10:54:49.951527Z",
            "url": "https://files.pythonhosted.org/packages/f0/8c/aaddf791fcb2a2216f8f220ae4015fed32194a41a18d1dde07c5a02a2bd6/bpeasy-0.1.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "60f456d2ed570b3a383dd82d1aede82fa6a4b4091e1610da2939d94da66a33aa",
                "md5": "ab50e4dc55edf936f1648709355238c6",
                "sha256": "7c2dd043f7fa6e0a7e170a4d148a5c324dd42c32964699c81cec39d42d20aad7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "ab50e4dc55edf936f1648709355238c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 1644193,
            "upload_time": "2023-12-19T10:54:51",
            "upload_time_iso_8601": "2023-12-19T10:54:51.814158Z",
            "url": "https://files.pythonhosted.org/packages/60/f4/56d2ed570b3a383dd82d1aede82fa6a4b4091e1610da2939d94da66a33aa/bpeasy-0.1.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "423690469c68d85be611e0f689bae8107134767e4d738db50af83f0b73f6692c",
                "md5": "b7d5130e865453c704d549c987aaf676",
                "sha256": "30d051a31d99d8f37b2d0f665d6a4c0f9c61e4fd5dc05fbed5a0eb98e3fc4f69"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "b7d5130e865453c704d549c987aaf676",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1337899,
            "upload_time": "2023-12-19T10:54:53",
            "upload_time_iso_8601": "2023-12-19T10:54:53.175147Z",
            "url": "https://files.pythonhosted.org/packages/42/36/90469c68d85be611e0f689bae8107134767e4d738db50af83f0b73f6692c/bpeasy-0.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bcec9033a12d8d913ab8f664eb1e818058422773bd6f97ca476f4ac8ac27e084",
                "md5": "ffc64204447f94a73b0ebbaac995221e",
                "sha256": "96fb999f3cfb6e81d37f77508e88778a6249fce7decb7671b4568ca861a81715"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ffc64204447f94a73b0ebbaac995221e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1342486,
            "upload_time": "2023-12-19T10:54:54",
            "upload_time_iso_8601": "2023-12-19T10:54:54.573689Z",
            "url": "https://files.pythonhosted.org/packages/bc/ec/9033a12d8d913ab8f664eb1e818058422773bd6f97ca476f4ac8ac27e084/bpeasy-0.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e5499e9367308b40a2e2ed03cf7d28c3004315afd62412042705bdea84b1b385",
                "md5": "d8dda91e201f290d98b0ac3d14ccb10b",
                "sha256": "8ea17e81b051de713819ff5b3d4a19d9dec7daa57b4740324b8dc30bbf7c6fac"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "d8dda91e201f290d98b0ac3d14ccb10b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1324080,
            "upload_time": "2023-12-19T10:54:56",
            "upload_time_iso_8601": "2023-12-19T10:54:56.089925Z",
            "url": "https://files.pythonhosted.org/packages/e5/49/9e9367308b40a2e2ed03cf7d28c3004315afd62412042705bdea84b1b385/bpeasy-0.1.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "629b45f4aab99e28932391be2c9c5085d858cdfdb09efd9b4e569ee7b56fc578",
                "md5": "83f5e66b5037604b5ef31316b4801108",
                "sha256": "2600862bb60ac8c4d9555e53dd85f137e4ea75179b95cd1809a376fd665d0c7b"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "83f5e66b5037604b5ef31316b4801108",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1360906,
            "upload_time": "2023-12-19T10:54:58",
            "upload_time_iso_8601": "2023-12-19T10:54:58.026883Z",
            "url": "https://files.pythonhosted.org/packages/62/9b/45f4aab99e28932391be2c9c5085d858cdfdb09efd9b4e569ee7b56fc578/bpeasy-0.1.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bea7e022375e444cbb4ea2ee7cdf4e7fa63438e915796843dd08bb2aad4e92f4",
                "md5": "1d157dfc6fb32a145ca5ec8dcd7296e9",
                "sha256": "4471be882e8bcc8fb44b65c7077f7bb64bf09d3098b95fb03aecc5bd902cc04c"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "1d157dfc6fb32a145ca5ec8dcd7296e9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1641760,
            "upload_time": "2023-12-19T10:55:00",
            "upload_time_iso_8601": "2023-12-19T10:55:00.072870Z",
            "url": "https://files.pythonhosted.org/packages/be/a7/e022375e444cbb4ea2ee7cdf4e7fa63438e915796843dd08bb2aad4e92f4/bpeasy-0.1.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "799fd3e1e5596ebad9621d8bce2e109899637f8e76514057465a6d395cda4e72",
                "md5": "3fdb7a7f1a3730d635e2c85be11fc44c",
                "sha256": "bd4b9f678bf8cab52a46f6ca939114db36215140014e50aad72e554746f8c53f"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3fdb7a7f1a3730d635e2c85be11fc44c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1367785,
            "upload_time": "2023-12-19T10:55:01",
            "upload_time_iso_8601": "2023-12-19T10:55:01.832768Z",
            "url": "https://files.pythonhosted.org/packages/79/9f/d3e1e5596ebad9621d8bce2e109899637f8e76514057465a6d395cda4e72/bpeasy-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "432c47c39bc31bbaed55944da9c12a7548f438bc52c05c62659afe0430ee2d93",
                "md5": "765df51790c3f110a308dd65b99f2da4",
                "sha256": "c85be39ccf66e3f58a8f35a580563ca5a26a936d4968be4d8ca028f43f747d31"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "765df51790c3f110a308dd65b99f2da4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 673171,
            "upload_time": "2023-12-19T10:55:03",
            "upload_time_iso_8601": "2023-12-19T10:55:03.578673Z",
            "url": "https://files.pythonhosted.org/packages/43/2c/47c39bc31bbaed55944da9c12a7548f438bc52c05c62659afe0430ee2d93/bpeasy-0.1.2-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2fb78bf12de5323afbcb25cc8c2b63b15a4cc1b983475ac8bfe4df636ed8196c",
                "md5": "5001059ac0e4e550bf04bb8a5547a320",
                "sha256": "00279f8263128d53c862020ef5445af38b299755a38493a21d5501238ed2e762"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5001059ac0e4e550bf04bb8a5547a320",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 750580,
            "upload_time": "2023-12-19T10:55:05",
            "upload_time_iso_8601": "2023-12-19T10:55:05.024643Z",
            "url": "https://files.pythonhosted.org/packages/2f/b7/8bf12de5323afbcb25cc8c2b63b15a4cc1b983475ac8bfe4df636ed8196c/bpeasy-0.1.2-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e941ecaa379399e7bbde788d4b6e38bbcd4695ddac706750c58a2802e5310809",
                "md5": "e802190d12cce83f8d9be447689fa4e5",
                "sha256": "2ae4470e48670c32de4acf5a1d9cd1f5238a97e11241b6bd3c155b72d053b4b4"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "e802190d12cce83f8d9be447689fa4e5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1337922,
            "upload_time": "2023-12-19T10:55:06",
            "upload_time_iso_8601": "2023-12-19T10:55:06.982356Z",
            "url": "https://files.pythonhosted.org/packages/e9/41/ecaa379399e7bbde788d4b6e38bbcd4695ddac706750c58a2802e5310809/bpeasy-0.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "686e4e234cd478ce3a3fc021fabd4946709fb1c16ab1705e893784373ef331a8",
                "md5": "8264a9f464c41fc5ead6263b34289ef1",
                "sha256": "ebeee14b66b9441c2e74e067a0dd5e3cc818371c9f9aa6422ef522c646b9d2be"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8264a9f464c41fc5ead6263b34289ef1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1342580,
            "upload_time": "2023-12-19T10:55:08",
            "upload_time_iso_8601": "2023-12-19T10:55:08.939462Z",
            "url": "https://files.pythonhosted.org/packages/68/6e/4e234cd478ce3a3fc021fabd4946709fb1c16ab1705e893784373ef331a8/bpeasy-0.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "851482eb529083b629874b4cdf9733e481784dceb3e927d68f5f84e3e8d8d4ff",
                "md5": "51e6b85aa15e30654a9408ab83d7e1e1",
                "sha256": "f6baa5b7e59dddf15a40b3b219b6cc5265d279c62e406f3ef8f93caa4ba1c0f0"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "51e6b85aa15e30654a9408ab83d7e1e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1324082,
            "upload_time": "2023-12-19T10:55:10",
            "upload_time_iso_8601": "2023-12-19T10:55:10.486152Z",
            "url": "https://files.pythonhosted.org/packages/85/14/82eb529083b629874b4cdf9733e481784dceb3e927d68f5f84e3e8d8d4ff/bpeasy-0.1.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7bfce265d6d653ce522cc7d4d1699e0ac6e5c2237cb88b06217620ff6bb7334a",
                "md5": "5ec2bee6e8805c7bd9ba622b5d9074eb",
                "sha256": "4f2fe7f98a3d7ce978c3896c6d7e318a6604fa58fbdbb8d0bf646f36317a5189"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "5ec2bee6e8805c7bd9ba622b5d9074eb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1360884,
            "upload_time": "2023-12-19T10:55:12",
            "upload_time_iso_8601": "2023-12-19T10:55:12.325285Z",
            "url": "https://files.pythonhosted.org/packages/7b/fc/e265d6d653ce522cc7d4d1699e0ac6e5c2237cb88b06217620ff6bb7334a/bpeasy-0.1.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "113b71d8778e564b2d9f06fea5344efbbcd064fe17b5ef5ff63b7af1aab424de",
                "md5": "a63bfd331a9d6465dd5a98e8bd9c2459",
                "sha256": "8d1dd24d24b6e4c080ffc3f7cf4f28efb4242aba1c6fd8b8c456cfdd8a6bb97e"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "a63bfd331a9d6465dd5a98e8bd9c2459",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1641788,
            "upload_time": "2023-12-19T10:55:13",
            "upload_time_iso_8601": "2023-12-19T10:55:13.724950Z",
            "url": "https://files.pythonhosted.org/packages/11/3b/71d8778e564b2d9f06fea5344efbbcd064fe17b5ef5ff63b7af1aab424de/bpeasy-0.1.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d062aab14cb8e0a69f572d8eb40c90bde927c3d4a87fe1d2d02b7ad4c1e51566",
                "md5": "05b99fa64e9af81b87793713b2d1b125",
                "sha256": "0ba299b53ffe2f4df098fbeb9a0bde742ec7c6fb9102ee82b44e32ba3e293085"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "05b99fa64e9af81b87793713b2d1b125",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1367787,
            "upload_time": "2023-12-19T10:55:15",
            "upload_time_iso_8601": "2023-12-19T10:55:15.744581Z",
            "url": "https://files.pythonhosted.org/packages/d0/62/aab14cb8e0a69f572d8eb40c90bde927c3d4a87fe1d2d02b7ad4c1e51566/bpeasy-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f07f03bdac80e274004d98516c227cef472cce483f6cd1e31a72e67f8aa1787",
                "md5": "e5ec86ea242ce4de867b1e7358fb938c",
                "sha256": "3ed4d6a2e27ffd99bb674e40462f21cf5571bf7124c91b242170f312115404b7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "e5ec86ea242ce4de867b1e7358fb938c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 673178,
            "upload_time": "2023-12-19T10:55:17",
            "upload_time_iso_8601": "2023-12-19T10:55:17.264811Z",
            "url": "https://files.pythonhosted.org/packages/8f/07/f03bdac80e274004d98516c227cef472cce483f6cd1e31a72e67f8aa1787/bpeasy-0.1.2-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee665ca90487a5f021f7a4643bfc1a13d095ce622f7085d903d114a509480448",
                "md5": "4ba5182086d160c2411d3058ecd9d2b3",
                "sha256": "0ffb11236bcd23c6bed9f5fe6c69fe6c759bcceb7cf00a07ec4db73079e6135f"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4ba5182086d160c2411d3058ecd9d2b3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 750588,
            "upload_time": "2023-12-19T10:55:18",
            "upload_time_iso_8601": "2023-12-19T10:55:18.740105Z",
            "url": "https://files.pythonhosted.org/packages/ee/66/5ca90487a5f021f7a4643bfc1a13d095ce622f7085d903d114a509480448/bpeasy-0.1.2-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "56b7eed1a69633eb3554d9b31b8f46916b9c0a5d091eb40b4b4982c48498f133",
                "md5": "3123368da6535bcaf993ae8ce475f992",
                "sha256": "136c1b67fd8c21277541ee9fd44ebdf2b6d0aff3d3876afe207a35756eb00eeb"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "3123368da6535bcaf993ae8ce475f992",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1337850,
            "upload_time": "2023-12-19T10:55:20",
            "upload_time_iso_8601": "2023-12-19T10:55:20.811796Z",
            "url": "https://files.pythonhosted.org/packages/56/b7/eed1a69633eb3554d9b31b8f46916b9c0a5d091eb40b4b4982c48498f133/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8728021cc7c3ec9cd96d038381aff60298b2bf322236cc0321e5e27366f8864c",
                "md5": "da4d4886a2a77e3b602323f677adc5c5",
                "sha256": "e624dab08abf19cd70c87c8a5c4cb09f29b45e06fa80284ab07a2a6702d75c26"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "da4d4886a2a77e3b602323f677adc5c5",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1342815,
            "upload_time": "2023-12-19T10:55:22",
            "upload_time_iso_8601": "2023-12-19T10:55:22.295673Z",
            "url": "https://files.pythonhosted.org/packages/87/28/021cc7c3ec9cd96d038381aff60298b2bf322236cc0321e5e27366f8864c/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "38669b3532ccecf1b92b69c7ea757aa7e6e26066f73de56c7bc9b2a593315112",
                "md5": "7121405dcf10fbb7961858bc709bbf3c",
                "sha256": "ef3139b5c75a4f4e4840a2e22a3dd2be7f6f3a736d62dd33c6124b03ac27056d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "7121405dcf10fbb7961858bc709bbf3c",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1324244,
            "upload_time": "2023-12-19T10:55:23",
            "upload_time_iso_8601": "2023-12-19T10:55:23.854524Z",
            "url": "https://files.pythonhosted.org/packages/38/66/9b3532ccecf1b92b69c7ea757aa7e6e26066f73de56c7bc9b2a593315112/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ca6809728c762a54aed5d4cfff186df9e80c37ff379787d750111eb149b4e67",
                "md5": "d9583aba36968894c44f4f9574b561f5",
                "sha256": "127e9119bc3973ad76af2ba5f2b51c5d51bd568443c8f8e40cd59dc460037b0d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "d9583aba36968894c44f4f9574b561f5",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1361371,
            "upload_time": "2023-12-19T10:55:25",
            "upload_time_iso_8601": "2023-12-19T10:55:25.252359Z",
            "url": "https://files.pythonhosted.org/packages/0c/a6/809728c762a54aed5d4cfff186df9e80c37ff379787d750111eb149b4e67/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a3c70ca1444e6c07de6879d3e6c9977a39ca7f967645c841fd475900cea6bc32",
                "md5": "da00fbdcdfc32d00f4eda03d0a7825b4",
                "sha256": "7fc5c9ec33d07905dae631e7483b41306fd74f18108f035d0b8c0465b63f5b38"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "da00fbdcdfc32d00f4eda03d0a7825b4",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1643127,
            "upload_time": "2023-12-19T10:55:27",
            "upload_time_iso_8601": "2023-12-19T10:55:27.251262Z",
            "url": "https://files.pythonhosted.org/packages/a3/c7/0ca1444e6c07de6879d3e6c9977a39ca7f967645c841fd475900cea6bc32/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e252a9edfe7bd08583b7a89987cc9d62b4e59a34f328c1a3e65bd296f38d405a",
                "md5": "aabbe8aec8642bf57354a72213d9d0ad",
                "sha256": "3638fe892263f2954eaced365fef7fe48a7315eb2ae6cf7debd7ae2cc8b55d19"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aabbe8aec8642bf57354a72213d9d0ad",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1368086,
            "upload_time": "2023-12-19T10:55:29",
            "upload_time_iso_8601": "2023-12-19T10:55:29.339481Z",
            "url": "https://files.pythonhosted.org/packages/e2/52/a9edfe7bd08583b7a89987cc9d62b4e59a34f328c1a3e65bd296f38d405a/bpeasy-0.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "124ca3b9daffe722e4f9db64dae668c692fcc8761a1426d20e2c0ff5ee4f1ae3",
                "md5": "3913c8a329c6a9d45f2cbd75f3b3a26d",
                "sha256": "a73280b659d4c2b8b3038d15e769d384b3e01dc9c5428f34e10736529722577b"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "3913c8a329c6a9d45f2cbd75f3b3a26d",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1337843,
            "upload_time": "2023-12-19T10:55:30",
            "upload_time_iso_8601": "2023-12-19T10:55:30.667396Z",
            "url": "https://files.pythonhosted.org/packages/12/4c/a3b9daffe722e4f9db64dae668c692fcc8761a1426d20e2c0ff5ee4f1ae3/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f9d1cd716bd540a241e0797e4987f29e0a1acbd0fcba7e47cbed0b76a5f7c774",
                "md5": "fc6086e28c6921d3a4610ed114863a46",
                "sha256": "4fb5fb1aed89a312a7e452e7c184626075540ad14caba3201f68f10b6124aac9"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fc6086e28c6921d3a4610ed114863a46",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1342806,
            "upload_time": "2023-12-19T10:55:32",
            "upload_time_iso_8601": "2023-12-19T10:55:32.141790Z",
            "url": "https://files.pythonhosted.org/packages/f9/d1/cd716bd540a241e0797e4987f29e0a1acbd0fcba7e47cbed0b76a5f7c774/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b3b6cd1e16c484090eca90e135694c3bb7486d2d78eaad1ce6be978b36cab64",
                "md5": "8a6ac61daf68f4ef8851ad768bc88b84",
                "sha256": "823b4496e9349a3fba05d5104d83056d54c9e668f5ceb1127c33a1f314b6c4e7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "8a6ac61daf68f4ef8851ad768bc88b84",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1324245,
            "upload_time": "2023-12-19T10:55:34",
            "upload_time_iso_8601": "2023-12-19T10:55:34.202542Z",
            "url": "https://files.pythonhosted.org/packages/9b/3b/6cd1e16c484090eca90e135694c3bb7486d2d78eaad1ce6be978b36cab64/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c4806fde631539c3355b13825fcbb64d12ebcd41f6b6517c2a974ee90305bf77",
                "md5": "cc27d4dd80503e8230d0de3a57a7856d",
                "sha256": "208f6c3fc17ad3b3dcea778ac6f0e6f5e2b1936436b10f99e3a28d44d3107629"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "cc27d4dd80503e8230d0de3a57a7856d",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1361336,
            "upload_time": "2023-12-19T10:55:36",
            "upload_time_iso_8601": "2023-12-19T10:55:36.287408Z",
            "url": "https://files.pythonhosted.org/packages/c4/80/6fde631539c3355b13825fcbb64d12ebcd41f6b6517c2a974ee90305bf77/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b87a39795c0ba96331d915dd89ae49ce7ce0851ff0039e7e17e48980c273b93a",
                "md5": "6127d39b59ba68689d85bfea2b028775",
                "sha256": "277e52d4b90798e5e93af719ed7c80f52827ef7075d6f8d38adb6b9a2f656ef7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "6127d39b59ba68689d85bfea2b028775",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1643125,
            "upload_time": "2023-12-19T10:55:38",
            "upload_time_iso_8601": "2023-12-19T10:55:38.743545Z",
            "url": "https://files.pythonhosted.org/packages/b8/7a/39795c0ba96331d915dd89ae49ce7ce0851ff0039e7e17e48980c273b93a/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1abc4cd67efcb715b6f45ba8c45f95e679b230d09436f55416f5f24b1cf7a570",
                "md5": "e06000666b1a6c6b6b02a2304113c8ba",
                "sha256": "07632b933f6f64c6cdc72d39a79af584cfc0c336df1b7fb4238035a27b1c0b3d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e06000666b1a6c6b6b02a2304113c8ba",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1368079,
            "upload_time": "2023-12-19T10:55:40",
            "upload_time_iso_8601": "2023-12-19T10:55:40.943763Z",
            "url": "https://files.pythonhosted.org/packages/1a/bc/4cd67efcb715b6f45ba8c45f95e679b230d09436f55416f5f24b1cf7a570/bpeasy-0.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d47130331f4a1b2ba6aa7bc1e5a1fdf7c2699cac636f3a3ddccfe190d29869e1",
                "md5": "f273c7ff5017ef3a53ad5aea877e48bd",
                "sha256": "8cbb68edf210890e0964e84d5a36d42a23cff6802e4377aeac9f0543105eed21"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "f273c7ff5017ef3a53ad5aea877e48bd",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1337845,
            "upload_time": "2023-12-19T10:55:42",
            "upload_time_iso_8601": "2023-12-19T10:55:42.511112Z",
            "url": "https://files.pythonhosted.org/packages/d4/71/30331f4a1b2ba6aa7bc1e5a1fdf7c2699cac636f3a3ddccfe190d29869e1/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9be9c587a85326ac3e73313bf19413652c1b8f70008e8a401cd15596d7600f3f",
                "md5": "04aec23647886b28e7c948feb9ebb813",
                "sha256": "c0bc70411e6398804bd1d534b64be681044b639e57825ad49e99a4726af0f52d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "04aec23647886b28e7c948feb9ebb813",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1342810,
            "upload_time": "2023-12-19T10:55:43",
            "upload_time_iso_8601": "2023-12-19T10:55:43.906814Z",
            "url": "https://files.pythonhosted.org/packages/9b/e9/c587a85326ac3e73313bf19413652c1b8f70008e8a401cd15596d7600f3f/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c13f14c8eacf12fcfeae55b59240757cf50aecd29c9849d71d3e3e1f44a03f90",
                "md5": "b6dbe78d035bb34add2b931f2b847a84",
                "sha256": "8a56387f6558f89368c40268a423a4803456cefdc4cc3839be20e5a9d8dcacdc"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "b6dbe78d035bb34add2b931f2b847a84",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1324240,
            "upload_time": "2023-12-19T10:55:45",
            "upload_time_iso_8601": "2023-12-19T10:55:45.411517Z",
            "url": "https://files.pythonhosted.org/packages/c1/3f/14c8eacf12fcfeae55b59240757cf50aecd29c9849d71d3e3e1f44a03f90/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4d7809fcb3fec737b8dba35503db644645816962d2d21ad7d15528ed86a000c6",
                "md5": "5288a71398a45f2088e74b9e719cbf30",
                "sha256": "49b2d39f4616c69a2cf2c12eb7fd7e3944f88d89263f8a770394c36cb3ba3c4a"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "5288a71398a45f2088e74b9e719cbf30",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1361365,
            "upload_time": "2023-12-19T10:55:46",
            "upload_time_iso_8601": "2023-12-19T10:55:46.961953Z",
            "url": "https://files.pythonhosted.org/packages/4d/78/09fcb3fec737b8dba35503db644645816962d2d21ad7d15528ed86a000c6/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "faa67a372095b585345ce103425b2ea37f23d51e7db2bb72ffec497b5f433cbd",
                "md5": "69b6db7f08b72e7cb8d19c00e968c303",
                "sha256": "b318f590d53b9dd08133ea61abff465944273b8ed33264599b2608b902e89004"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "69b6db7f08b72e7cb8d19c00e968c303",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1643123,
            "upload_time": "2023-12-19T10:55:48",
            "upload_time_iso_8601": "2023-12-19T10:55:48.424393Z",
            "url": "https://files.pythonhosted.org/packages/fa/a6/7a372095b585345ce103425b2ea37f23d51e7db2bb72ffec497b5f433cbd/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4c49bfe99ecccc83c956cc4d003a52d82a24f06679f92ddb13ab3cc8d9f9ad96",
                "md5": "08193bc2bbee6c6173d78853a79f2c47",
                "sha256": "0f80d854bb9e0ac30ad15c387ab790202045d8e964e068cb64c07113c3969381"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "08193bc2bbee6c6173d78853a79f2c47",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1368081,
            "upload_time": "2023-12-19T10:55:49",
            "upload_time_iso_8601": "2023-12-19T10:55:49.915607Z",
            "url": "https://files.pythonhosted.org/packages/4c/49/bfe99ecccc83c956cc4d003a52d82a24f06679f92ddb13ab3cc8d9f9ad96/bpeasy-0.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81a903ee038b34b71e5c0072d78c331415c12dd76b9fe11ed37aa1f6574e98a6",
                "md5": "862a7a24234aee00ec1e42dc9d60dc77",
                "sha256": "ad5f2567be36824407aea153043348f926ba4fa0018eef43ddfd5b6bac7cc288"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "862a7a24234aee00ec1e42dc9d60dc77",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 931925,
            "upload_time": "2023-12-19T10:55:51",
            "upload_time_iso_8601": "2023-12-19T10:55:51.468129Z",
            "url": "https://files.pythonhosted.org/packages/81/a9/03ee038b34b71e5c0072d78c331415c12dd76b9fe11ed37aa1f6574e98a6/bpeasy-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-19 10:55:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "bpeasy"
}
        
Elapsed time: 0.15540s