pybbi


Namepybbi JSON
Version 0.4.1 PyPI version JSON
download
home_pageNone
SummaryPython bindings to the UCSC source for Big Binary Indexed (bigWig/bigBed) files.
upload_time2024-10-18 15:58:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords genomics bioinformatics bigwig bigbed bigbinaryindexed bbi ucsc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pybbi #

![Build Status](https://github.com/nvictus/pybbi/actions/workflows/ci.yml/badge.svg)
[![DOI](https://zenodo.org/badge/58960207.svg)](https://zenodo.org/doi/10.5281/zenodo.10382980)

Python interface to Jim Kent's Big Binary Indexed file (BBI) \[[1](#ref1)\] library from the [UCSC Genome Browser source tree](https://github.com/ucscGenomeBrowser/kent) using Cython.

This provides read-level access to local and remote bigWig and bigBed files but no write capabilitites. The main feature is fast retrieval of range queries into numpy arrays.


## Installation ##

Wheels for `pybbi` are available on PyPI for Python 3.8, 3.9, 3.10, 3.11 on Linux (x86_64 and aarch64) and Mac OSX (x86_64/Intel). Apple Silicon (arm64) wheels will be made available once M1 runners are available in GitHub Actions.

```
$ pip install pybbi
```

## API ##

The `bbi.open` function returns a `BBIFile` object.

```
bbi.open(path) -> BBIFile
```

`path` can be a local file path (bigWig or bigBed) or a URL. `BBIFile` objects are context managers and can be used in a `with` statement to clean up resources without calling `BBIFile.close()`.

```python
>>> with bbi.open('bigWigExample.bw') as f:
...     x = f.fetch('chr21', 1000000, 2000000, bins=40)
```

### Introspection

```
BBIFile.is_bigwig -> bool
BBIFile.is_bigbed -> bool
BBIFile.chromsizes -> OrderedDict
BBIFile.zooms -> list
BBIFile.info -> dict
BBIFile.schema -> dict
BBIFile.read_autosql() -> str
```

Note: `BBIFile.schema['dtypes']` provides numpy data types for the fields in a bigWig or bigBed (matched from the autoSql definition).


### Interval output

The actual interval records in a bigWig or bigBed can be retrieved as a pandas dataframe or as an iterator over records as tuples. The pandas output is parsed according to the file's schema.

```
BBIFile.fetch_intervals(chrom, start, end) -> pandas.DataFrame
BBIFile.fetch_intervals(chrom, start, end, iterator=True) -> interval iterator
```

Summary bin records at each zoom level are also accessible.

```
BBIFile.fetch_summaries(chrom, start, end, zoom) -> pandas.DataFrame
```

### Array output

Retrieve quantitative signal as an array. The signal of a bigWig file is obtained from its "value" field. The signal of a bigBed file is obtained from the genomic coverage of its intervals.

For a single range query:
```
BBIFile.fetch(chrom, start, end, [bins [, missing [, oob, [, summary]]]]) -> 1D numpy array
```

To produce a stacked heatmap from a list of (1) equal-length intervals or (2) arbitrary-length intervals with `bins` specified:
```
BBIFile.stackup(chroms, starts, ends, [bins [, missing [, oob, [, summary]]]]) -> 2D numpy array
```

* **Summary** querying is supported by specifying the number of `bins` for coarsening. The `summary` statistic can be one of: 'mean', 'min', 'max', 'cov', 'std', 'or 'sum'. (default = 'mean'). Intervals need not have the same length, in which case the data from each interval will be interpolated to the same number of bins (e.g., gene bodies).

* **Missing** data can be filled with a custom fill value, `missing` (default = 0). 

* **Out-of-bounds** ranges (i.e. `start` less than zero or `end` greater than the chromosome length) are permitted because of their utility e.g., for generating vertical heatmap stacks centered at specific genomic features. A separate custom fill value, `oob` can be provided for out-of-bounds positions (default = NaN).

### Function API

The original function-based API is still available:

```python
bbi.is_bbi(path: str) -> bool
bbi.is_bigwig(path: str) -> bool
bbi.is_bigbed(path:str) -> bool
bbi.chromsizes(path: str) -> OrderedDict
bbi.zooms(path: str) -> list
bbi.info(path: str) -> dict
bbi.fetch_intervals(path: str, chrom: str, start: int, end: int, iterator: bool) -> Union[Iterable, pd.DataFrame]
bbi.fetch(path: str, chrom: str, start: int, end: int, [bins: int [, missing: float [, oob: float, [, summary: str]]]]) -> np.array[1, 'float64']
bbi.stackup(path: str, chroms: np.array, starts: np.array, ends: np.array, [bins: int [, missing: float [, oob: float, [, summary: str]]]]) -> np.array[2, 'float64']
```

See the docstrings for complete documentation.

## Related projects ##

- [libBigWig](https://github.com/dpryan79/libBigWig): Alternative C library for bigWig and bigBed files by Devon Ryan
- [pyBigWig](https://github.com/dpryan79/pyBigWig): Python bindings for `libBigWig` by the same author
- [bw-python](https://github.com/brentp/bw-python): Alternative Python wrapper to `libBigWig` by Brent Pederson
- [bx-python](https://github.com/bxlab/bx-python): Python bioinformatics library from James Taylor's group that includes tools for bbi files.

This library provides bindings to the reference UCSC bbi library code. Check out [@dpryan79](https://github.com/dpryan79)'s [libBigWig](https://github.com/dpryan79/libBigWig) for an alternative and dedicated C library for big binary files. pyBigWig also provides numpy-based retrieval and bigBed support.

## References ##

<a id="ref1">[1]</a>: http://bioinformatics.oxfordjournals.org/content/26/17/2204.full

## From source ##

If wheels for your platform or Python version aren't available or you want to develop, you'll need to install `pybbi` from source. The source distribution on PyPI ships with (slightly modified) kent utils source, which will compile before the extension module is built.

Requires
- Platform: Linux or Darwin (Windows Subsystem for Linux seems to work too)
- pthreads, zlib, libpng, openssl, make, pkg-config
- Python 3.6+
- `numpy` and `cython`

For example, on a fresh Ubuntu instance, you'll need `build-essential`, `make`, `pkg-config`, `zlib1g-dev`, `libssl-dev`, `libpng16-dev`.

On a Centos/RedHat (rpm) system you'll need `gcc`, `make`, `pkg-config`, `zlib-devel`, `openssl-devel`, `libpng-devel`.

On a Mac, you'll need Xcode and to `brew install pkg-config openssl libpng`.

For development, clone the repo and install in editable mode:

```
$ git clone https://github.com/nvictus/pybbi.git
$ cd pybbi
$ pip install -e .
```

You can use the `ARCH` environment variable to specify a target architecture or `ARCHFLAGS` on a Mac.

### Notes

Unfortunately, Kent's C source is not well-behaved library code, as it is littered with error calls that call `exit()`. `pybbi` will catch and pre-empt common input errors, but if somehow an internal error does get raised, it will terminate your interpreter instance.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pybbi",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "genomics, bioinformatics, bigwig, bigbed, bigbinaryindexed, bbi, ucsc",
    "author": null,
    "author_email": "Nezar Abdennur <nabdennur@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/6e/aa/fa75fd38bb1f2c3e22c2bc0ce28122c9c2b586c5688f0b8b27078a560b0d/pybbi-0.4.1.tar.gz",
    "platform": null,
    "description": "# pybbi #\n\n![Build Status](https://github.com/nvictus/pybbi/actions/workflows/ci.yml/badge.svg)\n[![DOI](https://zenodo.org/badge/58960207.svg)](https://zenodo.org/doi/10.5281/zenodo.10382980)\n\nPython interface to Jim Kent's Big Binary Indexed file (BBI) \\[[1](#ref1)\\] library from the [UCSC Genome Browser source tree](https://github.com/ucscGenomeBrowser/kent) using Cython.\n\nThis provides read-level access to local and remote bigWig and bigBed files but no write capabilitites. The main feature is fast retrieval of range queries into numpy arrays.\n\n\n## Installation ##\n\nWheels for `pybbi` are available on PyPI for Python 3.8, 3.9, 3.10, 3.11 on Linux (x86_64 and aarch64) and Mac OSX (x86_64/Intel). Apple Silicon (arm64) wheels will be made available once M1 runners are available in GitHub Actions.\n\n```\n$ pip install pybbi\n```\n\n## API ##\n\nThe `bbi.open` function returns a `BBIFile` object.\n\n```\nbbi.open(path) -> BBIFile\n```\n\n`path` can be a local file path (bigWig or bigBed) or a URL. `BBIFile` objects are context managers and can be used in a `with` statement to clean up resources without calling `BBIFile.close()`.\n\n```python\n>>> with bbi.open('bigWigExample.bw') as f:\n...     x = f.fetch('chr21', 1000000, 2000000, bins=40)\n```\n\n### Introspection\n\n```\nBBIFile.is_bigwig -> bool\nBBIFile.is_bigbed -> bool\nBBIFile.chromsizes -> OrderedDict\nBBIFile.zooms -> list\nBBIFile.info -> dict\nBBIFile.schema -> dict\nBBIFile.read_autosql() -> str\n```\n\nNote: `BBIFile.schema['dtypes']` provides numpy data types for the fields in a bigWig or bigBed (matched from the autoSql definition).\n\n\n### Interval output\n\nThe actual interval records in a bigWig or bigBed can be retrieved as a pandas dataframe or as an iterator over records as tuples. The pandas output is parsed according to the file's schema.\n\n```\nBBIFile.fetch_intervals(chrom, start, end) -> pandas.DataFrame\nBBIFile.fetch_intervals(chrom, start, end, iterator=True) -> interval iterator\n```\n\nSummary bin records at each zoom level are also accessible.\n\n```\nBBIFile.fetch_summaries(chrom, start, end, zoom) -> pandas.DataFrame\n```\n\n### Array output\n\nRetrieve quantitative signal as an array. The signal of a bigWig file is obtained from its \"value\" field. The signal of a bigBed file is obtained from the genomic coverage of its intervals.\n\nFor a single range query:\n```\nBBIFile.fetch(chrom, start, end, [bins [, missing [, oob, [, summary]]]]) -> 1D numpy array\n```\n\nTo produce a stacked heatmap from a list of (1) equal-length intervals or (2) arbitrary-length intervals with `bins` specified:\n```\nBBIFile.stackup(chroms, starts, ends, [bins [, missing [, oob, [, summary]]]]) -> 2D numpy array\n```\n\n* **Summary** querying is supported by specifying the number of `bins` for coarsening. The `summary` statistic can be one of: 'mean', 'min', 'max', 'cov', 'std', 'or 'sum'. (default = 'mean'). Intervals need not have the same length, in which case the data from each interval will be interpolated to the same number of bins (e.g., gene bodies).\n\n* **Missing** data can be filled with a custom fill value, `missing` (default = 0). \n\n* **Out-of-bounds** ranges (i.e. `start` less than zero or `end` greater than the chromosome length) are permitted because of their utility e.g., for generating vertical heatmap stacks centered at specific genomic features. A separate custom fill value, `oob` can be provided for out-of-bounds positions (default = NaN).\n\n### Function API\n\nThe original function-based API is still available:\n\n```python\nbbi.is_bbi(path: str) -> bool\nbbi.is_bigwig(path: str) -> bool\nbbi.is_bigbed(path:str) -> bool\nbbi.chromsizes(path: str) -> OrderedDict\nbbi.zooms(path: str) -> list\nbbi.info(path: str) -> dict\nbbi.fetch_intervals(path: str, chrom: str, start: int, end: int, iterator: bool) -> Union[Iterable, pd.DataFrame]\nbbi.fetch(path: str, chrom: str, start: int, end: int, [bins: int [, missing: float [, oob: float, [, summary: str]]]]) -> np.array[1, 'float64']\nbbi.stackup(path: str, chroms: np.array, starts: np.array, ends: np.array, [bins: int [, missing: float [, oob: float, [, summary: str]]]]) -> np.array[2, 'float64']\n```\n\nSee the docstrings for complete documentation.\n\n## Related projects ##\n\n- [libBigWig](https://github.com/dpryan79/libBigWig): Alternative C library for bigWig and bigBed files by Devon Ryan\n- [pyBigWig](https://github.com/dpryan79/pyBigWig): Python bindings for `libBigWig` by the same author\n- [bw-python](https://github.com/brentp/bw-python): Alternative Python wrapper to `libBigWig` by Brent Pederson\n- [bx-python](https://github.com/bxlab/bx-python): Python bioinformatics library from James Taylor's group that includes tools for bbi files.\n\nThis library provides bindings to the reference UCSC bbi library code. Check out [@dpryan79](https://github.com/dpryan79)'s [libBigWig](https://github.com/dpryan79/libBigWig) for an alternative and dedicated C library for big binary files. pyBigWig also provides numpy-based retrieval and bigBed support.\n\n## References ##\n\n<a id=\"ref1\">[1]</a>: http://bioinformatics.oxfordjournals.org/content/26/17/2204.full\n\n## From source ##\n\nIf wheels for your platform or Python version aren't available or you want to develop, you'll need to install `pybbi` from source. The source distribution on PyPI ships with (slightly modified) kent utils source, which will compile before the extension module is built.\n\nRequires\n- Platform: Linux or Darwin (Windows Subsystem for Linux seems to work too)\n- pthreads, zlib, libpng, openssl, make, pkg-config\n- Python 3.6+\n- `numpy` and `cython`\n\nFor example, on a fresh Ubuntu instance, you'll need `build-essential`, `make`, `pkg-config`, `zlib1g-dev`, `libssl-dev`, `libpng16-dev`.\n\nOn a Centos/RedHat (rpm) system you'll need `gcc`, `make`, `pkg-config`, `zlib-devel`, `openssl-devel`, `libpng-devel`.\n\nOn a Mac, you'll need Xcode and to `brew install pkg-config openssl libpng`.\n\nFor development, clone the repo and install in editable mode:\n\n```\n$ git clone https://github.com/nvictus/pybbi.git\n$ cd pybbi\n$ pip install -e .\n```\n\nYou can use the `ARCH` environment variable to specify a target architecture or `ARCHFLAGS` on a Mac.\n\n### Notes\n\nUnfortunately, Kent's C source is not well-behaved library code, as it is littered with error calls that call `exit()`. `pybbi` will catch and pre-empt common input errors, but if somehow an internal error does get raised, it will terminate your interpreter instance.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python bindings to the UCSC source for Big Binary Indexed (bigWig/bigBed) files.",
    "version": "0.4.1",
    "project_urls": {
        "documentation": "https://github.com/nvictus/pybbi#README.md",
        "homepage": "https://github.com/nvictus/pybbi",
        "repository": "https://github.com/nvictus/pybbi"
    },
    "split_keywords": [
        "genomics",
        " bioinformatics",
        " bigwig",
        " bigbed",
        " bigbinaryindexed",
        " bbi",
        " ucsc"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1eed6166c0b7d1c8727526871303c52df38c4d02f8d136faa0151fa02908490",
                "md5": "cdc86d996ebadd5c71045326d049b4f6",
                "sha256": "6add8b3d461aabce5a43f8c2d97e7b69b358ff25f035842ccfbf14098788d973"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cdc86d996ebadd5c71045326d049b4f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2740827,
            "upload_time": "2024-10-18T15:57:42",
            "upload_time_iso_8601": "2024-10-18T15:57:42.728813Z",
            "url": "https://files.pythonhosted.org/packages/d1/ee/d6166c0b7d1c8727526871303c52df38c4d02f8d136faa0151fa02908490/pybbi-0.4.1-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12b0a36607acac77d38261469befe423c37412e4298c0a707a29cb31344654e0",
                "md5": "42cc94fa5f6f9f4bcab96b7a0c5628e8",
                "sha256": "6b4931a389a9dd686305fb1a9a9fb24ccb4aaf2f97ffbef7ab8c5e6366d4328f"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp310-cp310-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "42cc94fa5f6f9f4bcab96b7a0c5628e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3008186,
            "upload_time": "2024-10-18T15:57:44",
            "upload_time_iso_8601": "2024-10-18T15:57:44.438378Z",
            "url": "https://files.pythonhosted.org/packages/12/b0/a36607acac77d38261469befe423c37412e4298c0a707a29cb31344654e0/pybbi-0.4.1-cp310-cp310-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a99bc74cc68eaa9abfdebd5fd6e00c91605a10c56254c2023d23717c45f41b13",
                "md5": "b7b49921e3e618502301328d831cac4a",
                "sha256": "0065c5f52f165df962028299a12016ea4b3af51e3c230d9d02d8df70084976f2"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "b7b49921e3e618502301328d831cac4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3062137,
            "upload_time": "2024-10-18T15:57:47",
            "upload_time_iso_8601": "2024-10-18T15:57:47.920868Z",
            "url": "https://files.pythonhosted.org/packages/a9/9b/c74cc68eaa9abfdebd5fd6e00c91605a10c56254c2023d23717c45f41b13/pybbi-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c7494be3740f7d5586dfdc6b66d649a74f043ec61ff292081631cef2646a8a4f",
                "md5": "183c7535bb986e61bb32f268e830d243",
                "sha256": "1f31c966598af3109085c098ea33f9ba5e48108feb94c0c73692fe125f5daadd"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "183c7535bb986e61bb32f268e830d243",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3386466,
            "upload_time": "2024-10-18T15:57:50",
            "upload_time_iso_8601": "2024-10-18T15:57:50.063369Z",
            "url": "https://files.pythonhosted.org/packages/c7/49/4be3740f7d5586dfdc6b66d649a74f043ec61ff292081631cef2646a8a4f/pybbi-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cdb2f274c9afdd5e8261dce265deea7c1f098d7a2e16589e15dce00887d6661e",
                "md5": "82c3f8ba755f546e165f9110b5c3fd61",
                "sha256": "da07fd359d49a7aa3d8facc0adc9cd24e10109c7d2bf35e900b7151b45e6b644"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "82c3f8ba755f546e165f9110b5c3fd61",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2741185,
            "upload_time": "2024-10-18T15:57:52",
            "upload_time_iso_8601": "2024-10-18T15:57:52.298251Z",
            "url": "https://files.pythonhosted.org/packages/cd/b2/f274c9afdd5e8261dce265deea7c1f098d7a2e16589e15dce00887d6661e/pybbi-0.4.1-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a7576592a8f2b1a8e1320866ac17d9efae79a83e33864b09a5a7e23edd65268",
                "md5": "ace4294bfc813a657348152eee4b4631",
                "sha256": "a8a2351bfdec49954e9b12df37422ce6815b9d22e219fdc03787b82099c9b005"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp311-cp311-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ace4294bfc813a657348152eee4b4631",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3008323,
            "upload_time": "2024-10-18T15:57:54",
            "upload_time_iso_8601": "2024-10-18T15:57:54.849941Z",
            "url": "https://files.pythonhosted.org/packages/5a/75/76592a8f2b1a8e1320866ac17d9efae79a83e33864b09a5a7e23edd65268/pybbi-0.4.1-cp311-cp311-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "061f530d3fd1420fc9b31ccc5659dbde14744f1c58fff47ed03a6a42abb9b319",
                "md5": "5268b0821dfac4be77f5515d75437ad8",
                "sha256": "bf2dcf60e712b409c2199568159b23ccd39a1273d02e96ceea27a668527e1f2e"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5268b0821dfac4be77f5515d75437ad8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3096868,
            "upload_time": "2024-10-18T15:57:56",
            "upload_time_iso_8601": "2024-10-18T15:57:56.397886Z",
            "url": "https://files.pythonhosted.org/packages/06/1f/530d3fd1420fc9b31ccc5659dbde14744f1c58fff47ed03a6a42abb9b319/pybbi-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "679642d795bcd89926d4e24fbe90c7eb875dac0e64c57fe2d15c74df5ab208e4",
                "md5": "33ffe50c0ae62210f3115379d4b081b7",
                "sha256": "fb94da99b7edbf0eb2111b273f7345ae78fd0ed6ccd098a649a0c4c546a4fc7d"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "33ffe50c0ae62210f3115379d4b081b7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3417886,
            "upload_time": "2024-10-18T15:57:59",
            "upload_time_iso_8601": "2024-10-18T15:57:59.877717Z",
            "url": "https://files.pythonhosted.org/packages/67/96/42d795bcd89926d4e24fbe90c7eb875dac0e64c57fe2d15c74df5ab208e4/pybbi-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3bad0517feaeef73c493604f85de73adb66b1d9fd8d42da2bcbac0702d029dd4",
                "md5": "f62d6176a1a8666547f9fbab80c50f72",
                "sha256": "3d6c33ded8cf8b5b85f7093cb7ced67059540e80203df31c33c12c2167aa28ad"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp312-cp312-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f62d6176a1a8666547f9fbab80c50f72",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2741753,
            "upload_time": "2024-10-18T15:58:02",
            "upload_time_iso_8601": "2024-10-18T15:58:02.676001Z",
            "url": "https://files.pythonhosted.org/packages/3b/ad/0517feaeef73c493604f85de73adb66b1d9fd8d42da2bcbac0702d029dd4/pybbi-0.4.1-cp312-cp312-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8dc7ce5b7ad871e9f580fd2cb4c8bf02e8c13708b45657dd17d1dbc33ecf828c",
                "md5": "7d6fb536e42c58b262cbf566e3436c3a",
                "sha256": "68d351ab964d6189a5d3beec7105e679177bc43141a4ec272e89246a6e8d7f72"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp312-cp312-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7d6fb536e42c58b262cbf566e3436c3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 3009601,
            "upload_time": "2024-10-18T15:58:04",
            "upload_time_iso_8601": "2024-10-18T15:58:04.700352Z",
            "url": "https://files.pythonhosted.org/packages/8d/c7/ce5b7ad871e9f580fd2cb4c8bf02e8c13708b45657dd17d1dbc33ecf828c/pybbi-0.4.1-cp312-cp312-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37f35ed2a7e188ac9063d3ddf97e0d6fff4f876753222ed7093ea0ff8324cf9c",
                "md5": "d6179025c2a58c8cedeaa80e6b293c75",
                "sha256": "607084a293d1c18915d3a4811c7c81b640601ba18b240f67338b2d97fd793481"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d6179025c2a58c8cedeaa80e6b293c75",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 3086782,
            "upload_time": "2024-10-18T15:58:06",
            "upload_time_iso_8601": "2024-10-18T15:58:06.636002Z",
            "url": "https://files.pythonhosted.org/packages/37/f3/5ed2a7e188ac9063d3ddf97e0d6fff4f876753222ed7093ea0ff8324cf9c/pybbi-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfbedc05048eb85965bea938caacd3068b62e3fbc00284a8d5b52205f3212685",
                "md5": "05d704b3309205e145fbb5f053538262",
                "sha256": "a7d9f22cd18e7b8affc66c42a2c95e542afd8a1652430c0d9bfbabf7d4c11799"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "05d704b3309205e145fbb5f053538262",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 3411157,
            "upload_time": "2024-10-18T15:58:08",
            "upload_time_iso_8601": "2024-10-18T15:58:08.731732Z",
            "url": "https://files.pythonhosted.org/packages/cf/be/dc05048eb85965bea938caacd3068b62e3fbc00284a8d5b52205f3212685/pybbi-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3df26a59938de8f092536dcd7287154bd21346f6721b1a6f38c5fa141e35b38",
                "md5": "02c77c1979b900bdd2acd97a80689a9b",
                "sha256": "b276deb438fa990d9db0947ec8dfa3f6d75728ba43e1d71650a0c24ffc6482af"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp313-cp313-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "02c77c1979b900bdd2acd97a80689a9b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 2740591,
            "upload_time": "2024-10-18T15:58:10",
            "upload_time_iso_8601": "2024-10-18T15:58:10.632374Z",
            "url": "https://files.pythonhosted.org/packages/c3/df/26a59938de8f092536dcd7287154bd21346f6721b1a6f38c5fa141e35b38/pybbi-0.4.1-cp313-cp313-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "faffbd13e585560406b1624f68a36b98e74b705cf202ab465f1cd8231efb0522",
                "md5": "ea5375029fe3cbc7bddbf39f8df90f9c",
                "sha256": "fe1c68e0d13489d75b374d4f82bdeeff192241ff3dfffefc59652491ab3d8b42"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp313-cp313-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ea5375029fe3cbc7bddbf39f8df90f9c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 3008555,
            "upload_time": "2024-10-18T15:58:12",
            "upload_time_iso_8601": "2024-10-18T15:58:12.298522Z",
            "url": "https://files.pythonhosted.org/packages/fa/ff/bd13e585560406b1624f68a36b98e74b705cf202ab465f1cd8231efb0522/pybbi-0.4.1-cp313-cp313-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dabbab151ecbe26f1421a8a3ae12bd357471d130387b22b0820456b8749acc69",
                "md5": "5dbc1ce825e54243975e1c2964399303",
                "sha256": "c8dc2ebd0e1d670dbcec02f52978dad910293eb705383318090a7608c142f911"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5dbc1ce825e54243975e1c2964399303",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 3087731,
            "upload_time": "2024-10-18T15:58:13",
            "upload_time_iso_8601": "2024-10-18T15:58:13.839566Z",
            "url": "https://files.pythonhosted.org/packages/da/bb/ab151ecbe26f1421a8a3ae12bd357471d130387b22b0820456b8749acc69/pybbi-0.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd701942a663e32085eba7ec255f1ee873047df1901b2798dd4e57a1db0795b9",
                "md5": "51b3638b002dd6e2880bd09da880de89",
                "sha256": "2197144d071e17fbbb136508046315b319bbe2fbf88085b356fb02f962b7b704"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "51b3638b002dd6e2880bd09da880de89",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.7",
            "size": 3411890,
            "upload_time": "2024-10-18T15:58:15",
            "upload_time_iso_8601": "2024-10-18T15:58:15.626228Z",
            "url": "https://files.pythonhosted.org/packages/bd/70/1942a663e32085eba7ec255f1ee873047df1901b2798dd4e57a1db0795b9/pybbi-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5178fe1a9aafe2c73c0e848e8bc315a9ee443e6eb4ff675d0cf11f38d6d87b4c",
                "md5": "323cd68070c9a54c0d5b801dbba6b5d1",
                "sha256": "bdcabcd727ea90ec334589a9fb1ad6a3403b551c1fa8dd497beba93c09911d0b"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp39-cp39-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "323cd68070c9a54c0d5b801dbba6b5d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2740939,
            "upload_time": "2024-10-18T15:58:17",
            "upload_time_iso_8601": "2024-10-18T15:58:17.399529Z",
            "url": "https://files.pythonhosted.org/packages/51/78/fe1a9aafe2c73c0e848e8bc315a9ee443e6eb4ff675d0cf11f38d6d87b4c/pybbi-0.4.1-cp39-cp39-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "265ea2aa1d3a36fe8209075bf7c029eb88b03d3326665453166fdfcfca2c4871",
                "md5": "75e5de651b8650388f943356dce5cc4c",
                "sha256": "0e622817ba90fa39efea407deac364201f2ffdfa274311422450fac329078c7b"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp39-cp39-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "75e5de651b8650388f943356dce5cc4c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3008362,
            "upload_time": "2024-10-18T15:58:19",
            "upload_time_iso_8601": "2024-10-18T15:58:19.940039Z",
            "url": "https://files.pythonhosted.org/packages/26/5e/a2aa1d3a36fe8209075bf7c029eb88b03d3326665453166fdfcfca2c4871/pybbi-0.4.1-cp39-cp39-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6c6e74b133766270ca4bc83f611cf080ad8d890d0c9be4eed5d3096cc75754e",
                "md5": "4a44f29178a30a6ae90033f22d97e9cf",
                "sha256": "eaf44f1cc8bbbdcbf6ecbdada9a00f85a87416a299a7de72462b03f075287a7a"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4a44f29178a30a6ae90033f22d97e9cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3062047,
            "upload_time": "2024-10-18T15:58:22",
            "upload_time_iso_8601": "2024-10-18T15:58:22.184705Z",
            "url": "https://files.pythonhosted.org/packages/c6/c6/e74b133766270ca4bc83f611cf080ad8d890d0c9be4eed5d3096cc75754e/pybbi-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "befe12f528f09015f8d80f8c6307b439cb8f77524509540b765325a4d4f1ae7a",
                "md5": "6eb87841510425c95e2e788b5c51cf3a",
                "sha256": "6726ea3decad71cb17541e6d0d440588ab6a555d2e280cedf4517f2ea011a07c"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6eb87841510425c95e2e788b5c51cf3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3386409,
            "upload_time": "2024-10-18T15:58:24",
            "upload_time_iso_8601": "2024-10-18T15:58:24.136206Z",
            "url": "https://files.pythonhosted.org/packages/be/fe/12f528f09015f8d80f8c6307b439cb8f77524509540b765325a4d4f1ae7a/pybbi-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6eaafa75fd38bb1f2c3e22c2bc0ce28122c9c2b586c5688f0b8b27078a560b0d",
                "md5": "3f8738e736bac1ac9164e571908bb9da",
                "sha256": "6a193dcd0d4d4575c258d6cd5d2d7c5368a5cf58e939d8faae9f8fe192373a5c"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3f8738e736bac1ac9164e571908bb9da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 34725107,
            "upload_time": "2024-10-18T15:58:26",
            "upload_time_iso_8601": "2024-10-18T15:58:26.803118Z",
            "url": "https://files.pythonhosted.org/packages/6e/aa/fa75fd38bb1f2c3e22c2bc0ce28122c9c2b586c5688f0b8b27078a560b0d/pybbi-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-18 15:58:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nvictus",
    "github_project": "pybbi#README.md",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pybbi"
}
        
Elapsed time: 0.32527s