bpeasy


Namebpeasy JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryFast bare-bones BPE for modern tokenizer training
upload_time2024-08-23 10:47:52
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/07/fb/bab53acbe09de7ffa9a8235be3920aed5ff477f2c1e7274ab4bac3f5c2ae/bpeasy-0.1.3.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.3",
    "project_urls": null,
    "split_keywords": [
        "tokenizer",
        " tokenization",
        " bpe"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "617083cc44ce95dc989e272c4624f07830c578ba28be5d0f918e997949923305",
                "md5": "d4f3fcdb1c9a9aad6a84e02d82f10260",
                "sha256": "561cbeef6303f7a0f5ad0189f1e8963ffaff828771c321841f9bb3fd02ff0352"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d4f3fcdb1c9a9aad6a84e02d82f10260",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 812540,
            "upload_time": "2024-08-23T10:46:18",
            "upload_time_iso_8601": "2024-08-23T10:46:18.247674Z",
            "url": "https://files.pythonhosted.org/packages/61/70/83cc44ce95dc989e272c4624f07830c578ba28be5d0f918e997949923305/bpeasy-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4136b307d0382a4a12bda043a58cde822d32b68172103c188bb3df705f425a54",
                "md5": "9cd00bcb4547774708464b6c545eb514",
                "sha256": "84392d1d3f69d71673063ca26b5465f59fe7e49bed214e63af1e86828e8f9724"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9cd00bcb4547774708464b6c545eb514",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 757903,
            "upload_time": "2024-08-23T10:46:20",
            "upload_time_iso_8601": "2024-08-23T10:46:20.063482Z",
            "url": "https://files.pythonhosted.org/packages/41/36/b307d0382a4a12bda043a58cde822d32b68172103c188bb3df705f425a54/bpeasy-0.1.3-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "71d78b6c7201e069c372a3dd1bc72b7d0896586227cdbdd807c8e60d1bc75354",
                "md5": "be06771f30decd92df6ea4ddb560962a",
                "sha256": "a822e34c6e22167ff0805e5651e4d1440d627413662b3a797f320403a101e903"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "be06771f30decd92df6ea4ddb560962a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 845556,
            "upload_time": "2024-08-23T10:46:21",
            "upload_time_iso_8601": "2024-08-23T10:46:21.673613Z",
            "url": "https://files.pythonhosted.org/packages/71/d7/8b6c7201e069c372a3dd1bc72b7d0896586227cdbdd807c8e60d1bc75354/bpeasy-0.1.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec02823b2b42e2cec20b37f0d9efb7ac8c5af21236690f459ff01102f13dbb69",
                "md5": "a4a004664ec4aa2a9c5ffb697e961c6e",
                "sha256": "8acb8c64641264a51788ce38853a66a9475a5ca9be000cec2f58268b5c1ef498"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a4a004664ec4aa2a9c5ffb697e961c6e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 863220,
            "upload_time": "2024-08-23T10:46:23",
            "upload_time_iso_8601": "2024-08-23T10:46:23.077006Z",
            "url": "https://files.pythonhosted.org/packages/ec/02/823b2b42e2cec20b37f0d9efb7ac8c5af21236690f459ff01102f13dbb69/bpeasy-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c7962ecfc52b72b54d2d9af3ef5291e3103e012b06d39d4710b7fd95a6fd238",
                "md5": "7e0aec569cc63cc9700cf10ec9f165e2",
                "sha256": "fe37f632738bdf09ce6745be3ff51db8fce77cd2a277f525d068da44cc8c25e5"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "7e0aec569cc63cc9700cf10ec9f165e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 834485,
            "upload_time": "2024-08-23T10:46:24",
            "upload_time_iso_8601": "2024-08-23T10:46:24.414208Z",
            "url": "https://files.pythonhosted.org/packages/8c/79/62ecfc52b72b54d2d9af3ef5291e3103e012b06d39d4710b7fd95a6fd238/bpeasy-0.1.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0db2f50f1dbe6737f14fd6ee89adbd59027cc5011a3c6347667e53585ae25ad0",
                "md5": "131fe812e9fbec35227e00501b0f1476",
                "sha256": "595c4cdda1bff24f576ce841e8ef6682581f71666128073dbe2b0cd1d309f191"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "131fe812e9fbec35227e00501b0f1476",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 895634,
            "upload_time": "2024-08-23T10:46:26",
            "upload_time_iso_8601": "2024-08-23T10:46:26.016288Z",
            "url": "https://files.pythonhosted.org/packages/0d/b2/f50f1dbe6737f14fd6ee89adbd59027cc5011a3c6347667e53585ae25ad0/bpeasy-0.1.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1cf4a19b0daba7050ce91f7bbafe2ab382b1b7ab53159458a739f495b4efc895",
                "md5": "d5f4f414c5e99def3818e1e805669fef",
                "sha256": "afd58b20f7de977ae6cf408bb332dd3cf35d65075781b3b6be1dca0a8f3c86b8"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "d5f4f414c5e99def3818e1e805669fef",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1093724,
            "upload_time": "2024-08-23T10:46:27",
            "upload_time_iso_8601": "2024-08-23T10:46:27.681269Z",
            "url": "https://files.pythonhosted.org/packages/1c/f4/a19b0daba7050ce91f7bbafe2ab382b1b7ab53159458a739f495b4efc895/bpeasy-0.1.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ab98fd76448fa597e19f5180c370c2ea040f88186ead0627e5f3a8db259a21d",
                "md5": "57608123f5015297b4f8753b680ed21d",
                "sha256": "d901f69129be13d29ec2c4e7fc3299033b13982dcf87415134b03c5308141236"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "57608123f5015297b4f8753b680ed21d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 883381,
            "upload_time": "2024-08-23T10:46:29",
            "upload_time_iso_8601": "2024-08-23T10:46:29.472398Z",
            "url": "https://files.pythonhosted.org/packages/5a/b9/8fd76448fa597e19f5180c370c2ea040f88186ead0627e5f3a8db259a21d/bpeasy-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "771a259b3a131c6deaf16a653614c09a1d959e83469502db6ff8d8a3680f1d23",
                "md5": "2624e014b94d4029420e950e5c14049f",
                "sha256": "f6a5bd44dffbbee03fc85c8e319695ba98e6ad38e3d96f2bb119b0b2eee858fd"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "2624e014b94d4029420e950e5c14049f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 642623,
            "upload_time": "2024-08-23T10:46:30",
            "upload_time_iso_8601": "2024-08-23T10:46:30.989191Z",
            "url": "https://files.pythonhosted.org/packages/77/1a/259b3a131c6deaf16a653614c09a1d959e83469502db6ff8d8a3680f1d23/bpeasy-0.1.3-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fde0a9bac586877c9aadb89bf05b00cea06c47e0c060f777b0b53832a5ede8c6",
                "md5": "7297333de8a8a9e2ae6a0202e12b7135",
                "sha256": "48fc82ae000adfdf206a22f78c646b9636f44255eac894e87028b0baa44473d5"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7297333de8a8a9e2ae6a0202e12b7135",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 719775,
            "upload_time": "2024-08-23T10:46:32",
            "upload_time_iso_8601": "2024-08-23T10:46:32.152837Z",
            "url": "https://files.pythonhosted.org/packages/fd/e0/a9bac586877c9aadb89bf05b00cea06c47e0c060f777b0b53832a5ede8c6/bpeasy-0.1.3-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9ebd25eb517442d51ec470894ae8ba78b551fa1300943e113ac0f05ea23ad04",
                "md5": "d80cff9a5d008923711b3349ed3979ef",
                "sha256": "cba698c670d19ce542abf010d8c46dc359b5c9c59aaf719b9f54b20076f34593"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d80cff9a5d008923711b3349ed3979ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 812540,
            "upload_time": "2024-08-23T10:46:33",
            "upload_time_iso_8601": "2024-08-23T10:46:33.794283Z",
            "url": "https://files.pythonhosted.org/packages/c9/eb/d25eb517442d51ec470894ae8ba78b551fa1300943e113ac0f05ea23ad04/bpeasy-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3c7b03e14b254c07aca8f605d01b0fcfe43db848b7edeb16c0e5dd76639211c5",
                "md5": "b2b45b08ca938867e46a5d0beb38be90",
                "sha256": "c40fff7fdec3c90dcedb7c1e4b597c7e6085ddb386434fda853c97100bfad10d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b2b45b08ca938867e46a5d0beb38be90",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 757902,
            "upload_time": "2024-08-23T10:46:35",
            "upload_time_iso_8601": "2024-08-23T10:46:35.207504Z",
            "url": "https://files.pythonhosted.org/packages/3c/7b/03e14b254c07aca8f605d01b0fcfe43db848b7edeb16c0e5dd76639211c5/bpeasy-0.1.3-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ea85ecdaf8a3276ab81fcac4ef7799c7faf56fe974a8a3a960924a772195f1ba",
                "md5": "08ec6be2a0a74b9b1e4374d36724d63c",
                "sha256": "d7a5b393089b149b4330294c5f5db6a757b889b8525105aa693c778ca0b09440"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "08ec6be2a0a74b9b1e4374d36724d63c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 845557,
            "upload_time": "2024-08-23T10:46:36",
            "upload_time_iso_8601": "2024-08-23T10:46:36.334411Z",
            "url": "https://files.pythonhosted.org/packages/ea/85/ecdaf8a3276ab81fcac4ef7799c7faf56fe974a8a3a960924a772195f1ba/bpeasy-0.1.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d1b39cd8f1e618899a3c5081a3e34f8108dcacadaa74d5f0a4d3a366d2128436",
                "md5": "80a7ac0d49accf55f3aa2e864ee13073",
                "sha256": "cd7c1b66581d6ec9a1e5d3cb12d9aff4ab9afb1f6f44d884a7bbbbe941e60039"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "80a7ac0d49accf55f3aa2e864ee13073",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 863219,
            "upload_time": "2024-08-23T10:46:37",
            "upload_time_iso_8601": "2024-08-23T10:46:37.939750Z",
            "url": "https://files.pythonhosted.org/packages/d1/b3/9cd8f1e618899a3c5081a3e34f8108dcacadaa74d5f0a4d3a366d2128436/bpeasy-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "30de28683c149b057da680e7328c0a21d652fa06b556395c107d81ddb9d274ce",
                "md5": "9e4d0db000585736f0599aaef2280323",
                "sha256": "a2bd8c1750a28ccf70c00a143d59c5e85d7630369b6ab2a9bc2cb16ce616be85"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "9e4d0db000585736f0599aaef2280323",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 834484,
            "upload_time": "2024-08-23T10:46:39",
            "upload_time_iso_8601": "2024-08-23T10:46:39.157014Z",
            "url": "https://files.pythonhosted.org/packages/30/de/28683c149b057da680e7328c0a21d652fa06b556395c107d81ddb9d274ce/bpeasy-0.1.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c57c8fec54d058be3fe63fabcdcc4f62d0a372a88d68a38af3262ce03a0d2e5c",
                "md5": "310580d90c4304038d66b723d599a42d",
                "sha256": "7858cc5f5f92ceae7ed2720b2d33e6ea4bccf9137de3131f60102284679f834d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "310580d90c4304038d66b723d599a42d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 895635,
            "upload_time": "2024-08-23T10:46:40",
            "upload_time_iso_8601": "2024-08-23T10:46:40.312414Z",
            "url": "https://files.pythonhosted.org/packages/c5/7c/8fec54d058be3fe63fabcdcc4f62d0a372a88d68a38af3262ce03a0d2e5c/bpeasy-0.1.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8e561f08480752653e7e2dd5b64e9d1c76f06f15193f96747731926ca72e207b",
                "md5": "e9c18342cbe05489e40165f88c25f188",
                "sha256": "9dce1fcac350177467c7a36eda773f76ee3ee05923cc7a3ca5f9495eee116429"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "e9c18342cbe05489e40165f88c25f188",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1093724,
            "upload_time": "2024-08-23T10:46:41",
            "upload_time_iso_8601": "2024-08-23T10:46:41.479205Z",
            "url": "https://files.pythonhosted.org/packages/8e/56/1f08480752653e7e2dd5b64e9d1c76f06f15193f96747731926ca72e207b/bpeasy-0.1.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fdb82beadd1e3a5c7449ea82a6d270b7acb414701049fb27ae84a1cabef96a31",
                "md5": "a76cdc63ff7022caa121f6ac5a33b538",
                "sha256": "f8fcaa400cb6ce571c5af068103a9a19459146a946fe6313eb06b663abeb3f4b"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a76cdc63ff7022caa121f6ac5a33b538",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 883382,
            "upload_time": "2024-08-23T10:46:42",
            "upload_time_iso_8601": "2024-08-23T10:46:42.740549Z",
            "url": "https://files.pythonhosted.org/packages/fd/b8/2beadd1e3a5c7449ea82a6d270b7acb414701049fb27ae84a1cabef96a31/bpeasy-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9007a210f71fdd041f8171b88737b855f94a1fe0f353e2df4b690baab66a2cb4",
                "md5": "9c77de2624e8d8acce12a336fe6b19be",
                "sha256": "a8680f335e93a4ca77f623c3e41e92a659fe5c013b027315d1e825cc847f82b7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "9c77de2624e8d8acce12a336fe6b19be",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 642620,
            "upload_time": "2024-08-23T10:46:44",
            "upload_time_iso_8601": "2024-08-23T10:46:44.423291Z",
            "url": "https://files.pythonhosted.org/packages/90/07/a210f71fdd041f8171b88737b855f94a1fe0f353e2df4b690baab66a2cb4/bpeasy-0.1.3-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64e98ce206603477e58eae39a48666a68c2a054e698a5bf0d13f1215007d4d93",
                "md5": "b20f17a97ace725a93a127212cbc1fff",
                "sha256": "5de20aef38f1475022041d621603c214f77f13d7fca03302e967d0424c9ab9ac"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b20f17a97ace725a93a127212cbc1fff",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 719775,
            "upload_time": "2024-08-23T10:46:46",
            "upload_time_iso_8601": "2024-08-23T10:46:46.047717Z",
            "url": "https://files.pythonhosted.org/packages/64/e9/8ce206603477e58eae39a48666a68c2a054e698a5bf0d13f1215007d4d93/bpeasy-0.1.3-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b05887e8bae6101442a9d735b6261cf54db7b3dd1352a9111f153c99295bb9e9",
                "md5": "ad1f83c5f8f5e76cad372a64858be86b",
                "sha256": "26596f9a0f84c026e24faf3b52138813e375715f0a4b26c6a9f66aa4a8b3a67a"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ad1f83c5f8f5e76cad372a64858be86b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 812326,
            "upload_time": "2024-08-23T10:46:47",
            "upload_time_iso_8601": "2024-08-23T10:46:47.780869Z",
            "url": "https://files.pythonhosted.org/packages/b0/58/87e8bae6101442a9d735b6261cf54db7b3dd1352a9111f153c99295bb9e9/bpeasy-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1ba8b63d7ff57d7563d74b485dce80fb01f147df20d92c69fc8d540197e467da",
                "md5": "c8e9a45b98c2f5da13b295ee1c87dfd6",
                "sha256": "210fbaa7591d4cc0fba9e94130a6e9858454d987b4f4d931611aed82a6be7fdb"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c8e9a45b98c2f5da13b295ee1c87dfd6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 757597,
            "upload_time": "2024-08-23T10:46:50",
            "upload_time_iso_8601": "2024-08-23T10:46:50.453417Z",
            "url": "https://files.pythonhosted.org/packages/1b/a8/b63d7ff57d7563d74b485dce80fb01f147df20d92c69fc8d540197e467da/bpeasy-0.1.3-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0e2b8ade0614d482434dafa3219b6468f47ce3f7a8f74e1b93eb9ac57e45173d",
                "md5": "98df06a114505cd5d5f8759ac4f0a362",
                "sha256": "560e499c12ad1717cf9390f8716632107c1d43c559fdf052e58873c492d512ce"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "98df06a114505cd5d5f8759ac4f0a362",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 845199,
            "upload_time": "2024-08-23T10:46:52",
            "upload_time_iso_8601": "2024-08-23T10:46:52.340864Z",
            "url": "https://files.pythonhosted.org/packages/0e/2b/8ade0614d482434dafa3219b6468f47ce3f7a8f74e1b93eb9ac57e45173d/bpeasy-0.1.3-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "731f8ee96e98db6c3347765d9d72e7e2ebcb08bacb2bc846a1f4dadfb64b2305",
                "md5": "888b51844a725c79fb0004083a2988f3",
                "sha256": "b998d6e0a47338ac940bfa609661e253de39a6d9647379d1176b3e37b38fc91e"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "888b51844a725c79fb0004083a2988f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 862814,
            "upload_time": "2024-08-23T10:46:54",
            "upload_time_iso_8601": "2024-08-23T10:46:54.122853Z",
            "url": "https://files.pythonhosted.org/packages/73/1f/8ee96e98db6c3347765d9d72e7e2ebcb08bacb2bc846a1f4dadfb64b2305/bpeasy-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3ca27a0df1487d78b14c9638ce3be7a540dd2214e938b48cf30078c91d1a216d",
                "md5": "6d79dc78a4e7bab15843ea4a87654858",
                "sha256": "20d8b6935418d35410b4f0c389e719cf9e621bb0b8f27afbb14837f98e54b901"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "6d79dc78a4e7bab15843ea4a87654858",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 834003,
            "upload_time": "2024-08-23T10:46:55",
            "upload_time_iso_8601": "2024-08-23T10:46:55.473256Z",
            "url": "https://files.pythonhosted.org/packages/3c/a2/7a0df1487d78b14c9638ce3be7a540dd2214e938b48cf30078c91d1a216d/bpeasy-0.1.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df936b6c75651fad4ca23a97eb60c5c2224a21ffad0636571d4969e7f53de568",
                "md5": "644c8700a1d8133d7c2c8a672288fcdb",
                "sha256": "c1affd2fb50b994311c1cb89e24dee76b7310aac371282459ddb9cca816b1ce9"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "644c8700a1d8133d7c2c8a672288fcdb",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 895049,
            "upload_time": "2024-08-23T10:46:57",
            "upload_time_iso_8601": "2024-08-23T10:46:57.355916Z",
            "url": "https://files.pythonhosted.org/packages/df/93/6b6c75651fad4ca23a97eb60c5c2224a21ffad0636571d4969e7f53de568/bpeasy-0.1.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e9352916b26c726c1928e384b8cc6a9f52fa79db26869f9dbfeed282bb2abae1",
                "md5": "d461212131e1fdd4d048826ccc3e3aa4",
                "sha256": "0366d8be253ed7258e98f555dfb04b06f1f38471e23c71489893efa68a5b1d7c"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "d461212131e1fdd4d048826ccc3e3aa4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1092306,
            "upload_time": "2024-08-23T10:46:58",
            "upload_time_iso_8601": "2024-08-23T10:46:58.608181Z",
            "url": "https://files.pythonhosted.org/packages/e9/35/2916b26c726c1928e384b8cc6a9f52fa79db26869f9dbfeed282bb2abae1/bpeasy-0.1.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a3ffa19ea7161069b8ac66b7e093afa18213a58b800b09a48ecb69ec09efb4d4",
                "md5": "51c99170e6fc155c7f6be9d9ffc3646c",
                "sha256": "03a8b5d51704704535fd96c21400dff2c162ea09420bbdec90a0c6772f752ab5"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "51c99170e6fc155c7f6be9d9ffc3646c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 883180,
            "upload_time": "2024-08-23T10:47:00",
            "upload_time_iso_8601": "2024-08-23T10:47:00.022489Z",
            "url": "https://files.pythonhosted.org/packages/a3/ff/a19ea7161069b8ac66b7e093afa18213a58b800b09a48ecb69ec09efb4d4/bpeasy-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cf7da2689fc7a8f41d39209851266805276d944b23654013cf77fb169b49fe0d",
                "md5": "d8509068319208144c0cf4417a2581e5",
                "sha256": "7ac6e6c504f7dafb7cc55458feb36cfc1ed58c4b18bbfe04029df6f91dc39543"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-none-win32.whl",
            "has_sig": false,
            "md5_digest": "d8509068319208144c0cf4417a2581e5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 639867,
            "upload_time": "2024-08-23T10:47:01",
            "upload_time_iso_8601": "2024-08-23T10:47:01.685458Z",
            "url": "https://files.pythonhosted.org/packages/cf/7d/a2689fc7a8f41d39209851266805276d944b23654013cf77fb169b49fe0d/bpeasy-0.1.3-cp312-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "426fef4343bfd06006bb4a5ec00f6b9603af71b4b7d7a0f3357feacd332804c9",
                "md5": "cdcb8f9670f791dddb26e007756b862d",
                "sha256": "5890694247dea00cb334022a550d5262e9657caa8c28be0b8dd15507b4f4db6d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cdcb8f9670f791dddb26e007756b862d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 716222,
            "upload_time": "2024-08-23T10:47:03",
            "upload_time_iso_8601": "2024-08-23T10:47:03.124907Z",
            "url": "https://files.pythonhosted.org/packages/42/6f/ef4343bfd06006bb4a5ec00f6b9603af71b4b7d7a0f3357feacd332804c9/bpeasy-0.1.3-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5cea0658bf6ea7b2176660851b336a9426c470482eb7af272cc0ec900102011a",
                "md5": "0bedc19b6d1154c2beaa48aeb9b0e426",
                "sha256": "55e4341e5e766717d6dbdb3d351a9b22006bf49600521e98573b76df1aed3998"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "0bedc19b6d1154c2beaa48aeb9b0e426",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 845548,
            "upload_time": "2024-08-23T10:47:05",
            "upload_time_iso_8601": "2024-08-23T10:47:05.244855Z",
            "url": "https://files.pythonhosted.org/packages/5c/ea/0658bf6ea7b2176660851b336a9426c470482eb7af272cc0ec900102011a/bpeasy-0.1.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "450a4c42392a249a7d88087fc0dff2f30e02b9a9c99f8a3cf149840162a07d5b",
                "md5": "0d9c0434cacc3fd131773b068d2c7fd8",
                "sha256": "725faf1a52779066757b17a792733eb1096d0b3ad27eefeaa4bdea462a879a45"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0d9c0434cacc3fd131773b068d2c7fd8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 863208,
            "upload_time": "2024-08-23T10:47:06",
            "upload_time_iso_8601": "2024-08-23T10:47:06.464252Z",
            "url": "https://files.pythonhosted.org/packages/45/0a/4c42392a249a7d88087fc0dff2f30e02b9a9c99f8a3cf149840162a07d5b/bpeasy-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "398e41e0d78a3b45f4821a68bd77191ecbaf2138636a0b7a72b21e4a99092526",
                "md5": "02f4958b4e7503adf3fd0d446616f84c",
                "sha256": "f712c7cd2a8f292c8e50536f98edf7de594514112c04dfb1bf4701f1c7491d25"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "02f4958b4e7503adf3fd0d446616f84c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 834513,
            "upload_time": "2024-08-23T10:47:08",
            "upload_time_iso_8601": "2024-08-23T10:47:08.113932Z",
            "url": "https://files.pythonhosted.org/packages/39/8e/41e0d78a3b45f4821a68bd77191ecbaf2138636a0b7a72b21e4a99092526/bpeasy-0.1.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4dbe1437506d141f9ec36489f104cc6cc37388cda6fdec367bf88a9dfaba809e",
                "md5": "0e83956b050fe4fd35510083c5ddd17c",
                "sha256": "36279da972a8cca21131f1c68f640e60b996da8cbde6afd37b9bb7e50a0a70fa"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0e83956b050fe4fd35510083c5ddd17c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 895570,
            "upload_time": "2024-08-23T10:47:09",
            "upload_time_iso_8601": "2024-08-23T10:47:09.352613Z",
            "url": "https://files.pythonhosted.org/packages/4d/be/1437506d141f9ec36489f104cc6cc37388cda6fdec367bf88a9dfaba809e/bpeasy-0.1.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "04571a71a1e0cd38192a30510dbda6a6c9599c90aa28f87af0f183262a78a3cd",
                "md5": "6e39d698eca1e4bec5a8965aebb24c1f",
                "sha256": "15ce1ffff92399074dc1c398ecebf7f97d7711dfc6214b1974ec96bf30b3ab0c"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "6e39d698eca1e4bec5a8965aebb24c1f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1093703,
            "upload_time": "2024-08-23T10:47:10",
            "upload_time_iso_8601": "2024-08-23T10:47:10.616054Z",
            "url": "https://files.pythonhosted.org/packages/04/57/1a71a1e0cd38192a30510dbda6a6c9599c90aa28f87af0f183262a78a3cd/bpeasy-0.1.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa45a44f7b069c8ac973efa17dfac1a05dececd6663d21add1fae229104e2be5",
                "md5": "29c84a95fa3f288e6e6bd38b6c595c92",
                "sha256": "ea95b97382c86d75ebd77fb29a82352751cc53a3071b1322c51c317bfc52815d"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "29c84a95fa3f288e6e6bd38b6c595c92",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 883461,
            "upload_time": "2024-08-23T10:47:11",
            "upload_time_iso_8601": "2024-08-23T10:47:11.862731Z",
            "url": "https://files.pythonhosted.org/packages/fa/45/a44f7b069c8ac973efa17dfac1a05dececd6663d21add1fae229104e2be5/bpeasy-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "72df33bd353914d20d1ad97575000ffb0753ad2e9505ac79ef0d36ed2354668a",
                "md5": "6605d12067c1b77361ee87fb810509a8",
                "sha256": "8a06932516a047d499e5fd7c6f9e497d19a5406d5904b52c4767ce5b30048939"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "6605d12067c1b77361ee87fb810509a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 642602,
            "upload_time": "2024-08-23T10:47:13",
            "upload_time_iso_8601": "2024-08-23T10:47:13.058157Z",
            "url": "https://files.pythonhosted.org/packages/72/df/33bd353914d20d1ad97575000ffb0753ad2e9505ac79ef0d36ed2354668a/bpeasy-0.1.3-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "af32e222689808d970e794ccb0b320a77b9997239eb2ec513e886ae74c333c28",
                "md5": "91f483de54192bde0d97b8f10abfddc6",
                "sha256": "398982d716c2719db7a0170c960b51c4c3ca3e90d9d46123116e7804317b9eb3"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "91f483de54192bde0d97b8f10abfddc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 719770,
            "upload_time": "2024-08-23T10:47:14",
            "upload_time_iso_8601": "2024-08-23T10:47:14.285902Z",
            "url": "https://files.pythonhosted.org/packages/af/32/e222689808d970e794ccb0b320a77b9997239eb2ec513e886ae74c333c28/bpeasy-0.1.3-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f92640998ae556d692fe5c4b5381025b337cf7a9797a34180ddb31f815dd8e61",
                "md5": "7ba032cd1d0b8a63af8f96190bd53a2d",
                "sha256": "c951c80e7fb38ba46001d7e1810a4bcaccf4f8aaefab1de00eaa23d2a44be771"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7ba032cd1d0b8a63af8f96190bd53a2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 812540,
            "upload_time": "2024-08-23T10:47:16",
            "upload_time_iso_8601": "2024-08-23T10:47:16.011222Z",
            "url": "https://files.pythonhosted.org/packages/f9/26/40998ae556d692fe5c4b5381025b337cf7a9797a34180ddb31f815dd8e61/bpeasy-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0230f3d86a78b90bbac82f1790e600a691c27ee5f69a0fa2091ddb7ae352dd8d",
                "md5": "a9d0f3a944612440296f16ac4767ae68",
                "sha256": "75954f607006255b54e3779ca280880d08f6b12e7fee95056b3e436120200571"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a9d0f3a944612440296f16ac4767ae68",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 757895,
            "upload_time": "2024-08-23T10:47:17",
            "upload_time_iso_8601": "2024-08-23T10:47:17.340832Z",
            "url": "https://files.pythonhosted.org/packages/02/30/f3d86a78b90bbac82f1790e600a691c27ee5f69a0fa2091ddb7ae352dd8d/bpeasy-0.1.3-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3f565660455f373a2a0f7932540cd0e0dadd9a3f9acf54c003820c251b6038db",
                "md5": "898d8306dc5890297b67ee65587935af",
                "sha256": "e12bacc9ca971d007021e19907da2c30293bf8a0ba1f781b1c944684805bb760"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "898d8306dc5890297b67ee65587935af",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 845553,
            "upload_time": "2024-08-23T10:47:18",
            "upload_time_iso_8601": "2024-08-23T10:47:18.503635Z",
            "url": "https://files.pythonhosted.org/packages/3f/56/5660455f373a2a0f7932540cd0e0dadd9a3f9acf54c003820c251b6038db/bpeasy-0.1.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9602620ef86d65983e1621ffb2fd058c1e48a4feb0cc9655e410cc830b989f2b",
                "md5": "fe1518d3304b942de7f1d48d96ea4b57",
                "sha256": "612d22b52551c7fa019865b98b56d6e88b680a6140cf674705ac91ab2e024b74"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fe1518d3304b942de7f1d48d96ea4b57",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 863215,
            "upload_time": "2024-08-23T10:47:20",
            "upload_time_iso_8601": "2024-08-23T10:47:20.417466Z",
            "url": "https://files.pythonhosted.org/packages/96/02/620ef86d65983e1621ffb2fd058c1e48a4feb0cc9655e410cc830b989f2b/bpeasy-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e808d8e6746280b090929f47dc281ca6d6bc16a7bd58f98242720da1bae23d6f",
                "md5": "43a9ccaf56f5649dcc4ab6cbf1a1735a",
                "sha256": "ed27b78da2b895f2f93075981504f4559dbbe158c8b36a51ec06212b7c64f010"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "43a9ccaf56f5649dcc4ab6cbf1a1735a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 834480,
            "upload_time": "2024-08-23T10:47:22",
            "upload_time_iso_8601": "2024-08-23T10:47:22.090126Z",
            "url": "https://files.pythonhosted.org/packages/e8/08/d8e6746280b090929f47dc281ca6d6bc16a7bd58f98242720da1bae23d6f/bpeasy-0.1.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "86f2287b1fce33005725316d1735ca84f29a589ae2cfbdd15c4829ae5f94e7fa",
                "md5": "438f0744c90cff72b92cbda68ea7d400",
                "sha256": "16d7e7380133da89d434347af4cc7f637396aecf83516580bd2eb0b7addec239"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "438f0744c90cff72b92cbda68ea7d400",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 895630,
            "upload_time": "2024-08-23T10:47:23",
            "upload_time_iso_8601": "2024-08-23T10:47:23.266311Z",
            "url": "https://files.pythonhosted.org/packages/86/f2/287b1fce33005725316d1735ca84f29a589ae2cfbdd15c4829ae5f94e7fa/bpeasy-0.1.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9a6597a9a308733f57bfa974109cc4443ff52f501f9f4c4bd5a8782ea4f194e8",
                "md5": "6cd19f7743186ed132610562b8f204a9",
                "sha256": "1c67156538ddf0838e3d1391f11395b156be110f2c92fb67afc65052ceec20f7"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "6cd19f7743186ed132610562b8f204a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1093722,
            "upload_time": "2024-08-23T10:47:24",
            "upload_time_iso_8601": "2024-08-23T10:47:24.455360Z",
            "url": "https://files.pythonhosted.org/packages/9a/65/97a9a308733f57bfa974109cc4443ff52f501f9f4c4bd5a8782ea4f194e8/bpeasy-0.1.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e218477e5cedf780b6fd7624d1c933c5095403b2c0a4bf997f58c70cc4063c7b",
                "md5": "afbd97143b506f7716ee92bea4463614",
                "sha256": "a733bed5cd633f8fe190ca81c6fcda6df4592cda3e20e1347c065f9938a96c5f"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "afbd97143b506f7716ee92bea4463614",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 883380,
            "upload_time": "2024-08-23T10:47:25",
            "upload_time_iso_8601": "2024-08-23T10:47:25.650672Z",
            "url": "https://files.pythonhosted.org/packages/e2/18/477e5cedf780b6fd7624d1c933c5095403b2c0a4bf997f58c70cc4063c7b/bpeasy-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c471cd28a588adb05ae49ae3c6ed9cf11513fdb4276d2f6bea508f4ed3ba8f80",
                "md5": "482993c99f1ec32c467bac33087165c7",
                "sha256": "34134e827814d40a04a7801cbc16f5ac9d79c0e42fa9efea78f8a320a5f20dec"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "482993c99f1ec32c467bac33087165c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 642622,
            "upload_time": "2024-08-23T10:47:26",
            "upload_time_iso_8601": "2024-08-23T10:47:26.866079Z",
            "url": "https://files.pythonhosted.org/packages/c4/71/cd28a588adb05ae49ae3c6ed9cf11513fdb4276d2f6bea508f4ed3ba8f80/bpeasy-0.1.3-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "22616e4d3f40b32ff24d099fb5c444441e4b165fe5c45f7bb44142c646584548",
                "md5": "5e2de779f1ffcce08d95f534bfaa53d1",
                "sha256": "058579d28a04204d34cfe41ef243b94d0bcd67e6ce258514ca7a8c6a00c48774"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5e2de779f1ffcce08d95f534bfaa53d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 719767,
            "upload_time": "2024-08-23T10:47:28",
            "upload_time_iso_8601": "2024-08-23T10:47:28.290068Z",
            "url": "https://files.pythonhosted.org/packages/22/61/6e4d3f40b32ff24d099fb5c444441e4b165fe5c45f7bb44142c646584548/bpeasy-0.1.3-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1875c2806a437f5cacef252a7f3ab8363e1a3e4a208a9a3ef83d0b6b2ccaf699",
                "md5": "2ec9c4c71c21f8b0375c71da2c0bab90",
                "sha256": "d7ebbb5270361cb1b272e75a63a58f42b6fda6e7dcbae3f40977846585838935"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "2ec9c4c71c21f8b0375c71da2c0bab90",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 845848,
            "upload_time": "2024-08-23T10:47:29",
            "upload_time_iso_8601": "2024-08-23T10:47:29.700720Z",
            "url": "https://files.pythonhosted.org/packages/18/75/c2806a437f5cacef252a7f3ab8363e1a3e4a208a9a3ef83d0b6b2ccaf699/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "691d3ad5c199605cc73d805fd700f1eaa6f0309e33f0d01f3f05bbb4c570f6c3",
                "md5": "6cb8213999709b7115e78f7b560ee959",
                "sha256": "e633ac5f32a61e7d7c0ec58b13f90c755d811af8d0c2acf623e34a7c4f699ae9"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6cb8213999709b7115e78f7b560ee959",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 863591,
            "upload_time": "2024-08-23T10:47:31",
            "upload_time_iso_8601": "2024-08-23T10:47:31.693933Z",
            "url": "https://files.pythonhosted.org/packages/69/1d/3ad5c199605cc73d805fd700f1eaa6f0309e33f0d01f3f05bbb4c570f6c3/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "787f10d0801860b39a7eb6504b659c53ed5b5e7705fd56e05ea66e15188128ce",
                "md5": "a84296bc795a455cbd282653c6e48d49",
                "sha256": "37c73cb273fcc64776c4953698f67ed5fb02c0d79418e813339888626abe7d53"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "a84296bc795a455cbd282653c6e48d49",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 834649,
            "upload_time": "2024-08-23T10:47:33",
            "upload_time_iso_8601": "2024-08-23T10:47:33.326617Z",
            "url": "https://files.pythonhosted.org/packages/78/7f/10d0801860b39a7eb6504b659c53ed5b5e7705fd56e05ea66e15188128ce/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a40e506407c12f4b72cfd5107ef4ad3311a2c2a3d2bda1308b49ca2520c031c1",
                "md5": "e0e49c3a59cfe58477facecdffcc6281",
                "sha256": "f95112db8177eabc883c160d552fe19db42348af85823144337b9ed1b3710a84"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "e0e49c3a59cfe58477facecdffcc6281",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 895861,
            "upload_time": "2024-08-23T10:47:34",
            "upload_time_iso_8601": "2024-08-23T10:47:34.602248Z",
            "url": "https://files.pythonhosted.org/packages/a4/0e/506407c12f4b72cfd5107ef4ad3311a2c2a3d2bda1308b49ca2520c031c1/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9d9635f9b4a5665fc0b0ba86a92c0cf1a17ffe8e277d9134224988c4e65b9ff4",
                "md5": "c7f6dc73e02a52d65e2b7ecf175b30fd",
                "sha256": "93757d8b6a85742a4b1fbbb3e1e0780c2a928e37100d6e7dde92ca768ba30fc8"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "c7f6dc73e02a52d65e2b7ecf175b30fd",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1094466,
            "upload_time": "2024-08-23T10:47:36",
            "upload_time_iso_8601": "2024-08-23T10:47:36.100225Z",
            "url": "https://files.pythonhosted.org/packages/9d/96/35f9b4a5665fc0b0ba86a92c0cf1a17ffe8e277d9134224988c4e65b9ff4/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d7cdc75cda83f4713813bad77ea90910bc626549bd90c59cd6288c75c49fdbaa",
                "md5": "341e365be065faf3486e9387ef59578f",
                "sha256": "80ab03e3399db70e9bcb1b0e09c69df9900dd074144e3af86e647bd5fd422dca"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "341e365be065faf3486e9387ef59578f",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 883796,
            "upload_time": "2024-08-23T10:47:37",
            "upload_time_iso_8601": "2024-08-23T10:47:37.647157Z",
            "url": "https://files.pythonhosted.org/packages/d7/cd/c75cda83f4713813bad77ea90910bc626549bd90c59cd6288c75c49fdbaa/bpeasy-0.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4956183ade381ebf9fa4514069d236aad747f24298f96fb14296833817181367",
                "md5": "9074b69af7df5db772410b3ab2b9dc40",
                "sha256": "acec25c5752f12eb3a64e340f2029086f01be66166a3123e91b6076eea1da16a"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9074b69af7df5db772410b3ab2b9dc40",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 863604,
            "upload_time": "2024-08-23T10:47:39",
            "upload_time_iso_8601": "2024-08-23T10:47:39.191695Z",
            "url": "https://files.pythonhosted.org/packages/49/56/183ade381ebf9fa4514069d236aad747f24298f96fb14296833817181367/bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1858e96d9e6940f3d82293f9ed7c5d657f76bc35f90ad4fe9ff88b70ccda5199",
                "md5": "e10c4c9873efc54bcf5ca517594e10c0",
                "sha256": "d7b7243d95b61b1f4ddaadec8e6015487ede9e3221ed3aeba228d9f16838c359"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "e10c4c9873efc54bcf5ca517594e10c0",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 834652,
            "upload_time": "2024-08-23T10:47:40",
            "upload_time_iso_8601": "2024-08-23T10:47:40.569623Z",
            "url": "https://files.pythonhosted.org/packages/18/58/e96d9e6940f3d82293f9ed7c5d657f76bc35f90ad4fe9ff88b70ccda5199/bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "740cb0e5d3fe176846fccbc43051c794caa631be337d59a1992ecf38269067fa",
                "md5": "723df95aca1abb98cf88b551d9dae4b0",
                "sha256": "3b0454dffdf71f666a844398a9e48cdf9306ab7366b78638b8c53a0d4ce90251"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "723df95aca1abb98cf88b551d9dae4b0",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 895859,
            "upload_time": "2024-08-23T10:47:41",
            "upload_time_iso_8601": "2024-08-23T10:47:41.732327Z",
            "url": "https://files.pythonhosted.org/packages/74/0c/b0e5d3fe176846fccbc43051c794caa631be337d59a1992ecf38269067fa/bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6403ffaf3e0adfa73c692de22b52f00f862a0934808a7fdea416f3dd952324e8",
                "md5": "14d349f15ff6c38b95eb63e0ea23fb34",
                "sha256": "42854d41ea36051462479821a56b1ea0c9aa6e9c7143b29408647669c407b634"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "14d349f15ff6c38b95eb63e0ea23fb34",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1094411,
            "upload_time": "2024-08-23T10:47:42",
            "upload_time_iso_8601": "2024-08-23T10:47:42.931515Z",
            "url": "https://files.pythonhosted.org/packages/64/03/ffaf3e0adfa73c692de22b52f00f862a0934808a7fdea416f3dd952324e8/bpeasy-0.1.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9bfb4ef4bda6654302bf783bc9f65bdc32f42f5ab1992005f54ac691e7e4b127",
                "md5": "49f733fde6e5b55fb564ef4f80a1fd59",
                "sha256": "f03565e25a4fd8028c2780c7a2ea366cb2fab890e38662d492dbfc15676d1b1c"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "49f733fde6e5b55fb564ef4f80a1fd59",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 845845,
            "upload_time": "2024-08-23T10:47:44",
            "upload_time_iso_8601": "2024-08-23T10:47:44.822660Z",
            "url": "https://files.pythonhosted.org/packages/9b/fb/4ef4bda6654302bf783bc9f65bdc32f42f5ab1992005f54ac691e7e4b127/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "348db1d831c5e22c978809fbbbdcafef9b80f82d6b505adc4030b1f60a2efa01",
                "md5": "57eaef3fe0d7277bc450a35b486356d9",
                "sha256": "f52cfe723784d225b6a0fb3b60bf6edd639d68c89ff47e969603c467a80e1f60"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "57eaef3fe0d7277bc450a35b486356d9",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 863587,
            "upload_time": "2024-08-23T10:47:46",
            "upload_time_iso_8601": "2024-08-23T10:47:46.165434Z",
            "url": "https://files.pythonhosted.org/packages/34/8d/b1d831c5e22c978809fbbbdcafef9b80f82d6b505adc4030b1f60a2efa01/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "daca565f2eca0dbe47d86cf8cd8282eca6ab9ab3766f7eac0b3555bfb186b8e5",
                "md5": "193f306f69c0ec499dc65c77211e02ef",
                "sha256": "226e5fc2d50166105db0af4fcc5260b019bdbce1f26987823d1d7831e9838330"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "193f306f69c0ec499dc65c77211e02ef",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 834646,
            "upload_time": "2024-08-23T10:47:47",
            "upload_time_iso_8601": "2024-08-23T10:47:47.810099Z",
            "url": "https://files.pythonhosted.org/packages/da/ca/565f2eca0dbe47d86cf8cd8282eca6ab9ab3766f7eac0b3555bfb186b8e5/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85241178c221347ee8b97aa5d62a5f0260845e7a78ead51f5f8fc889d221cdac",
                "md5": "8b7afa139486c82ab040900b00688cbd",
                "sha256": "07e301a1b385a3ac9b15299155fa2e43dae362970c2f0e2a0d4148e9bc1d06e8"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "8b7afa139486c82ab040900b00688cbd",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 895855,
            "upload_time": "2024-08-23T10:47:48",
            "upload_time_iso_8601": "2024-08-23T10:47:48.984282Z",
            "url": "https://files.pythonhosted.org/packages/85/24/1178c221347ee8b97aa5d62a5f0260845e7a78ead51f5f8fc889d221cdac/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "99fc34a8125ac669140dcc8f6ccd212cd81f1d03a64cddc5a9ac88e6b5864a40",
                "md5": "bc9d6f0b590bb2f3942254096315f352",
                "sha256": "b23aa36c3b3065f9a14ac1009c9cf756a8ac5bd343a1174c357c78daaec59cba"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "bc9d6f0b590bb2f3942254096315f352",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1094458,
            "upload_time": "2024-08-23T10:47:50",
            "upload_time_iso_8601": "2024-08-23T10:47:50.172457Z",
            "url": "https://files.pythonhosted.org/packages/99/fc/34a8125ac669140dcc8f6ccd212cd81f1d03a64cddc5a9ac88e6b5864a40/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7b04c0fc1d86d403a6119fb905256e55536914b8e19465c6dc13ffb6d249e927",
                "md5": "4d541334ca669f21340d8fbb6be895f5",
                "sha256": "12fe0a57195584661302bfecbea9510cc4f214df3c6619500b0d3051fdfafa53"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4d541334ca669f21340d8fbb6be895f5",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 883792,
            "upload_time": "2024-08-23T10:47:51",
            "upload_time_iso_8601": "2024-08-23T10:47:51.523702Z",
            "url": "https://files.pythonhosted.org/packages/7b/04/c0fc1d86d403a6119fb905256e55536914b8e19465c6dc13ffb6d249e927/bpeasy-0.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "07fbbab53acbe09de7ffa9a8235be3920aed5ff477f2c1e7274ab4bac3f5c2ae",
                "md5": "a88c1bb31b2b64968b456d149056f78c",
                "sha256": "3904c29c530e30911af5405192390bf2ff982b5fe95c3f2760004e856767ba91"
            },
            "downloads": -1,
            "filename": "bpeasy-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a88c1bb31b2b64968b456d149056f78c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 932058,
            "upload_time": "2024-08-23T10:47:52",
            "upload_time_iso_8601": "2024-08-23T10:47:52.760027Z",
            "url": "https://files.pythonhosted.org/packages/07/fb/bab53acbe09de7ffa9a8235be3920aed5ff477f2c1e7274ab4bac3f5c2ae/bpeasy-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-23 10:47:52",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "bpeasy"
}
        
Elapsed time: 0.29941s