pybbi


Namepybbi JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryPython bindings to the UCSC source for Big Binary Indexed (bigWig/bigBed) files.
upload_time2024-04-14 11:55:51
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/2d/ad/88f09f16490fdd24c48693bac891e788a31d6f0aa2955f8021dfc8df8a48/pybbi-0.4.0.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.0",
    "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": "8b90caa02f2d97cff8707b33510058c3a168a53e73d217db52d15289c13f6315",
                "md5": "170ade73f087b8a93004b3277830788c",
                "sha256": "b90be7899be17ee67ab976d3092e5f4f60ebfb3cc80350aeacda7fa27340aa2b"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "170ade73f087b8a93004b3277830788c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2712831,
            "upload_time": "2024-04-14T11:55:29",
            "upload_time_iso_8601": "2024-04-14T11:55:29.286638Z",
            "url": "https://files.pythonhosted.org/packages/8b/90/caa02f2d97cff8707b33510058c3a168a53e73d217db52d15289c13f6315/pybbi-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e5cab984a4ec769ec8fa850c2c22c290f4af7ba081f41eb6be959e942ebfb6a",
                "md5": "c3e9b4c8d0e8d6116ddde726f32bc154",
                "sha256": "a3d41cf57abe07cf881d8593388b2f80740797ee9289797cc6c436acb3f4500d"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c3e9b4c8d0e8d6116ddde726f32bc154",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2977035,
            "upload_time": "2024-04-14T11:55:31",
            "upload_time_iso_8601": "2024-04-14T11:55:31.283335Z",
            "url": "https://files.pythonhosted.org/packages/3e/5c/ab984a4ec769ec8fa850c2c22c290f4af7ba081f41eb6be959e942ebfb6a/pybbi-0.4.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e618f08b95d0f8c2dadd4f68d1be2d59fa219257c754bfb81220fc7d76b2438",
                "md5": "498ed4b9425f1312cfac553173b121df",
                "sha256": "9eee59077696af1a58e7d87210cf354757b305f7b9fea1653d054bd245b382ed"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "498ed4b9425f1312cfac553173b121df",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3061912,
            "upload_time": "2024-04-14T11:55:33",
            "upload_time_iso_8601": "2024-04-14T11:55:33.063850Z",
            "url": "https://files.pythonhosted.org/packages/0e/61/8f08b95d0f8c2dadd4f68d1be2d59fa219257c754bfb81220fc7d76b2438/pybbi-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "665f4d281f439d41dfe2a035eb78e3a6957893525c4ce97ff48333a37c72d819",
                "md5": "a01d64a7705d5343001297ba34082250",
                "sha256": "9d1510879a23c88c9f462278861786d1fe23479bcf86c31216c9d46e1e342d68"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a01d64a7705d5343001297ba34082250",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3385538,
            "upload_time": "2024-04-14T11:55:34",
            "upload_time_iso_8601": "2024-04-14T11:55:34.664542Z",
            "url": "https://files.pythonhosted.org/packages/66/5f/4d281f439d41dfe2a035eb78e3a6957893525c4ce97ff48333a37c72d819/pybbi-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d556f1380ebc5fc4abd58ab499f0700a2380f3d6675ae511b6b8bc776bbfe453",
                "md5": "acc0239404ef5f8fe25118d28aa629f5",
                "sha256": "2f763d0297965ca10d1b7844c83a9a844398c897da3fde1cc03e606cfa5aecc3"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "acc0239404ef5f8fe25118d28aa629f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2713095,
            "upload_time": "2024-04-14T11:55:36",
            "upload_time_iso_8601": "2024-04-14T11:55:36.732892Z",
            "url": "https://files.pythonhosted.org/packages/d5/56/f1380ebc5fc4abd58ab499f0700a2380f3d6675ae511b6b8bc776bbfe453/pybbi-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2d2c4507e6b84d4f3dbb7e7b50824c021fb309f5f91ab5cf81c3ec4a32facf4",
                "md5": "16379df50a9d9a0f47be9e39f1bdb214",
                "sha256": "f9b5b4ed4a576aef050ec29bd4a482c13a0fd612cc97175fd1f2785b0ebe1d80"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "16379df50a9d9a0f47be9e39f1bdb214",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2977200,
            "upload_time": "2024-04-14T11:55:38",
            "upload_time_iso_8601": "2024-04-14T11:55:38.319779Z",
            "url": "https://files.pythonhosted.org/packages/c2/d2/c4507e6b84d4f3dbb7e7b50824c021fb309f5f91ab5cf81c3ec4a32facf4/pybbi-0.4.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34a9c7625a5e9b32ab92d66c8f76a4d3fb0af0f7314bc8d5d039993492e438d8",
                "md5": "8306e709e3776ee338478ac37518d5e1",
                "sha256": "7274cb6700e1575036bbebc4718043057f534dd391a51eaab377f32c5b130c94"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8306e709e3776ee338478ac37518d5e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3095303,
            "upload_time": "2024-04-14T11:55:40",
            "upload_time_iso_8601": "2024-04-14T11:55:40.366587Z",
            "url": "https://files.pythonhosted.org/packages/34/a9/c7625a5e9b32ab92d66c8f76a4d3fb0af0f7314bc8d5d039993492e438d8/pybbi-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37c1d01a39b9444b10c814f3b5f055210331f7f4a601dd54d5510664823fe064",
                "md5": "13ad9484c70dbf15462ee56f75fa5dd5",
                "sha256": "c76c35064825285024f38e132ea712a6da6b77284cb887ca8a8778e6774e7676"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "13ad9484c70dbf15462ee56f75fa5dd5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3416863,
            "upload_time": "2024-04-14T11:55:42",
            "upload_time_iso_8601": "2024-04-14T11:55:42.321953Z",
            "url": "https://files.pythonhosted.org/packages/37/c1/d01a39b9444b10c814f3b5f055210331f7f4a601dd54d5510664823fe064/pybbi-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd974a606903bfb8af7a80dffcd7d49295998974ae42d3db23e4e2d775888948",
                "md5": "cf910809e6288965a9e1c816675a9ee2",
                "sha256": "4eb3ccb77ea0f90db8d3c6322e7c79952468ef56d65e43270b6466b37b97b260"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cf910809e6288965a9e1c816675a9ee2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2712396,
            "upload_time": "2024-04-14T11:55:44",
            "upload_time_iso_8601": "2024-04-14T11:55:44.299461Z",
            "url": "https://files.pythonhosted.org/packages/fd/97/4a606903bfb8af7a80dffcd7d49295998974ae42d3db23e4e2d775888948/pybbi-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5cb845d06937a2e5d8e269f23d244a1dfffc789d499fc231f0cfaed12ea10910",
                "md5": "15c0d2a2fde8ac7deb3cb46ab91f8047",
                "sha256": "64c8a5122eb6841736636c3a84d17183991201d200db405a79fd8da3aa898346"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "15c0d2a2fde8ac7deb3cb46ab91f8047",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2977187,
            "upload_time": "2024-04-14T11:55:46",
            "upload_time_iso_8601": "2024-04-14T11:55:46.358260Z",
            "url": "https://files.pythonhosted.org/packages/5c/b8/45d06937a2e5d8e269f23d244a1dfffc789d499fc231f0cfaed12ea10910/pybbi-0.4.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60b93ee082c5215d2d397db565de99dbc6348fdc4bd3a3e7e15e593eb6c4849f",
                "md5": "f574286a43366e402396c2639c6f9683",
                "sha256": "08c3f42f1e9632de3b5dc49c75ee630e1382ae2622be45e09485f5d0c8d1496a"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f574286a43366e402396c2639c6f9683",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3061288,
            "upload_time": "2024-04-14T11:55:48",
            "upload_time_iso_8601": "2024-04-14T11:55:48.434065Z",
            "url": "https://files.pythonhosted.org/packages/60/b9/3ee082c5215d2d397db565de99dbc6348fdc4bd3a3e7e15e593eb6c4849f/pybbi-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ccaae2468fb169825a55a28aa3c9271661116b5310c210a01dbdc0b9518b1bb",
                "md5": "8fc48746053803979f59354aa6307bc2",
                "sha256": "70d1d9ee0649bd73b2c5ee88351d28880189cdfdab1a56e8304d0ae05d03eb51"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8fc48746053803979f59354aa6307bc2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3384521,
            "upload_time": "2024-04-14T11:55:49",
            "upload_time_iso_8601": "2024-04-14T11:55:49.807201Z",
            "url": "https://files.pythonhosted.org/packages/4c/ca/ae2468fb169825a55a28aa3c9271661116b5310c210a01dbdc0b9518b1bb/pybbi-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2dad88f09f16490fdd24c48693bac891e788a31d6f0aa2955f8021dfc8df8a48",
                "md5": "a9ae4e734cbff584986b0d1e21368a3a",
                "sha256": "afafbc23f16f789344a454fce619af5556a67a2e11b7c36de8fc6f091e2478fc"
            },
            "downloads": -1,
            "filename": "pybbi-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a9ae4e734cbff584986b0d1e21368a3a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 34725031,
            "upload_time": "2024-04-14T11:55:51",
            "upload_time_iso_8601": "2024-04-14T11:55:51.843404Z",
            "url": "https://files.pythonhosted.org/packages/2d/ad/88f09f16490fdd24c48693bac891e788a31d6f0aa2955f8021dfc8df8a48/pybbi-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-14 11:55:51",
    "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.22605s