<p align="center">
<a href="https://github.com/pydicom/pylibjpeg-rle/actions?query=workflow%3Aunit-tests"><img alt="Build status" src="https://github.com/pydicom/pylibjpeg-rle/workflows/unit-tests/badge.svg"></a>
<a href="https://codecov.io/gh/pydicom/pylibjpeg-rle"><img alt="Test coverage" src="https://codecov.io/gh/pydicom/pylibjpeg-rle/branch/master/graph/badge.svg"></a>
<a href="https://pypi.org/project/pylibjpeg-rle/"><img alt="PyPI versions" src="https://badge.fury.io/py/pylibjpeg-rle.svg"></a>
<a href="https://www.python.org/"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/pylibjpeg-rle.svg"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
## pylibjpeg-rle
A fast DICOM ([PackBits](https://en.wikipedia.org/wiki/PackBits)) RLE plugin for [pylibjpeg](https://github.com/pydicom/pylibjpeg), written in Rust with a Python 3.7+ wrapper.
Linux, MacOS and Windows are all supported.
### Installation
#### Installing the current release
```bash
pip install pylibjpeg-rle
```
#### Installing the development version
Make sure [Python](https://www.python.org/), [Git](https://git-scm.com/) and
[Rust](https://www.rust-lang.org/) are installed. For Windows, you also need to install
[Microsoft's C++ Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16).
```bash
git clone https://github.com/pydicom/pylibjpeg-rle
cd pylibjpeg-rle
python -m pip install .
```
### Supported Transfer Syntaxes
| UID | Description | Decoding | Encoding |
| --- | --- | --- | --- |
| 1.2.840.10008.1.2.5 | RLE Lossless | Yes | Yes |
### Usage
#### Decoding
##### With pylibjpeg
```python
from pydicom import dcmread
from pydicom.data import get_testdata_file
ds = dcmread(get_testdata_file("OBXXXX1A_rle.dcm"))
arr = ds.pixel_array
```
##### Standalone with pydicom
Alternatively you can use the included functions to decode a given dataset:
```python
from rle import pixel_array, generate_frames
# Return the entire Pixel Data as an ndarray
arr = pixel_array(ds)
# Generator function that only processes 1 frame at a time,
# may help reduce memory usage when dealing with large Pixel Data
for arr in generate_frames(ds):
print(arr.shape)
```
#### Encoding
##### Standalone with pydicom
Convert uncompressed pixel data to RLE encoding and save:
```python
from pydicom import dcmread
from pydicom.data import get_testdata_file
from pydicom.uid import RLELossless
from rle import pixel_data
# Get the uncompressed pixel data
ds = dcmread(get_testdata_file("OBXXXX1A.dcm"))
arr = ds.pixel_array
# RLE encode and encapsulate `arr`
ds.PixelData = pixel_data(arr, ds)
# Set the correct *Transfer Syntax UID*
ds.file_meta.TransferSyntaxUID = RLELossless
ds.save_as('as_rle.dcm')
```
### Benchmarks
#### Decoding
Time per 1000 decodes, pydicom's default RLE handler vs. pylibjpeg-rle
| Dataset | Pixels | Bytes | pydicom | pylibjpeg-rle |
| --- | --- | --- | --- | --- |
| OBXXXX1A_rle.dcm | 480,000 | 480,000 | 4.89 s | 0.79 s |
| OBXXXX1A_rle_2frame.dcm | 960,000 | 960,000 | 9.89 s | 1.65 s |
| SC_rgb_rle.dcm | 10,000 | 30,000 | 0.20 s | 0.15 s |
| SC_rgb_rle_2frame.dcm | 20,000 | 60,000 | 0.32 s | 0.18 s |
| MR_small_RLE.dcm | 4,096 | 8,192 | 0.35 s | 0.13 s |
| emri_small_RLE.dcm | 40,960 | 81,920 | 1.13 s | 0.28 s |
| SC_rgb_rle_16bit.dcm | 10,000 | 60,000 | 0.33 s | 0.17 s |
| SC_rgb_rle_16bit_2frame.dcm | 20,000 | 120,000 | 0.56 s | 0.21 s |
| rtdose_rle_1frame.dcm | 100 | 400 | 0.12 s | 0.13 s |
| rtdose_rle.dcm | 1,500 | 6,000 | 0.53 s | 0.26 s |
| SC_rgb_rle_32bit.dcm | 10,000 | 120,000 | 0.56 s | 0.19 s |
| SC_rgb_rle_32bit_2frame.dcm | 20,000 | 240,000 | 1.03 s | 0.28 s |
#### Encoding
Time per 1000 encodes, pydicom's default RLE handler vs. pylibjpeg-rle
| Dataset | Pixels | Bytes | pydicom | pylibjpeg-rle |
| --- | --- | --- | --- | --- |
| OBXXXX1A.dcm | 480,000 | 480,000 | 30.7 s | 1.36 s |
| SC_rgb.dcm | 10,000 | 30,000 | 1.80 s | 0.09 s |
| MR_small.dcm | 4,096 | 8,192 | 2.29 s | 0.04 s |
| SC_rgb_16bit.dcm | 10,000 | 60,000 | 3.57 s | 0.17 s |
| rtdose_1frame.dcm | 100 | 400 | 0.19 s | 0.003 s |
| SC_rgb_32bit.dcm | 10,000 | 120,000 | 7.20 s | 0.33 s |
Raw data
{
"_id": null,
"home_page": "",
"name": "pylibjpeg-rle",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "dicom pydicom python rle pylibjpeg rust",
"author": "pylibjpeg-rle contributors",
"author_email": "scaramallion <scaramallion@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/0e/c8/ad11b853b3abb55adf5393e4cfc36925a2f0f7191c50394286cf221acc92/pylibjpeg_rle-2.0.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n<a href=\"https://github.com/pydicom/pylibjpeg-rle/actions?query=workflow%3Aunit-tests\"><img alt=\"Build status\" src=\"https://github.com/pydicom/pylibjpeg-rle/workflows/unit-tests/badge.svg\"></a>\n<a href=\"https://codecov.io/gh/pydicom/pylibjpeg-rle\"><img alt=\"Test coverage\" src=\"https://codecov.io/gh/pydicom/pylibjpeg-rle/branch/master/graph/badge.svg\"></a>\n<a href=\"https://pypi.org/project/pylibjpeg-rle/\"><img alt=\"PyPI versions\" src=\"https://badge.fury.io/py/pylibjpeg-rle.svg\"></a>\n<a href=\"https://www.python.org/\"><img alt=\"Python versions\" src=\"https://img.shields.io/pypi/pyversions/pylibjpeg-rle.svg\"></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n</p>\n\n## pylibjpeg-rle\n\nA fast DICOM ([PackBits](https://en.wikipedia.org/wiki/PackBits)) RLE plugin for [pylibjpeg](https://github.com/pydicom/pylibjpeg), written in Rust with a Python 3.7+ wrapper.\n\nLinux, MacOS and Windows are all supported.\n\n### Installation\n#### Installing the current release\n```bash\npip install pylibjpeg-rle\n```\n#### Installing the development version\n\nMake sure [Python](https://www.python.org/), [Git](https://git-scm.com/) and\n[Rust](https://www.rust-lang.org/) are installed. For Windows, you also need to install\n[Microsoft's C++ Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16).\n```bash\ngit clone https://github.com/pydicom/pylibjpeg-rle\ncd pylibjpeg-rle\npython -m pip install .\n```\n\n### Supported Transfer Syntaxes\n\n| UID | Description | Decoding | Encoding |\n| --- | --- | --- | --- |\n| 1.2.840.10008.1.2.5 | RLE Lossless | Yes | Yes |\n\n### Usage\n#### Decoding\n##### With pylibjpeg\n\n```python\nfrom pydicom import dcmread\nfrom pydicom.data import get_testdata_file\n\nds = dcmread(get_testdata_file(\"OBXXXX1A_rle.dcm\"))\narr = ds.pixel_array\n```\n\n##### Standalone with pydicom\nAlternatively you can use the included functions to decode a given dataset:\n```python\nfrom rle import pixel_array, generate_frames\n\n# Return the entire Pixel Data as an ndarray\narr = pixel_array(ds)\n\n# Generator function that only processes 1 frame at a time,\n# may help reduce memory usage when dealing with large Pixel Data\nfor arr in generate_frames(ds):\n print(arr.shape)\n```\n\n#### Encoding\n##### Standalone with pydicom\n\nConvert uncompressed pixel data to RLE encoding and save:\n```python\nfrom pydicom import dcmread\nfrom pydicom.data import get_testdata_file\nfrom pydicom.uid import RLELossless\n\nfrom rle import pixel_data\n\n# Get the uncompressed pixel data\nds = dcmread(get_testdata_file(\"OBXXXX1A.dcm\"))\narr = ds.pixel_array\n\n# RLE encode and encapsulate `arr`\nds.PixelData = pixel_data(arr, ds)\n# Set the correct *Transfer Syntax UID*\nds.file_meta.TransferSyntaxUID = RLELossless\nds.save_as('as_rle.dcm')\n```\n\n### Benchmarks\n#### Decoding\n\nTime per 1000 decodes, pydicom's default RLE handler vs. pylibjpeg-rle\n\n| Dataset | Pixels | Bytes | pydicom | pylibjpeg-rle |\n| --- | --- | --- | --- | --- |\n| OBXXXX1A_rle.dcm | 480,000 | 480,000 | 4.89 s | 0.79 s |\n| OBXXXX1A_rle_2frame.dcm | 960,000 | 960,000 | 9.89 s | 1.65 s |\n| SC_rgb_rle.dcm | 10,000 | 30,000 | 0.20 s | 0.15 s |\n| SC_rgb_rle_2frame.dcm | 20,000 | 60,000 | 0.32 s | 0.18 s |\n| MR_small_RLE.dcm | 4,096 | 8,192 | 0.35 s | 0.13 s |\n| emri_small_RLE.dcm | 40,960 | 81,920 | 1.13 s | 0.28 s |\n| SC_rgb_rle_16bit.dcm | 10,000 | 60,000 | 0.33 s | 0.17 s |\n| SC_rgb_rle_16bit_2frame.dcm | 20,000 | 120,000 | 0.56 s | 0.21 s |\n| rtdose_rle_1frame.dcm | 100 | 400 | 0.12 s | 0.13 s |\n| rtdose_rle.dcm | 1,500 | 6,000 | 0.53 s | 0.26 s |\n| SC_rgb_rle_32bit.dcm | 10,000 | 120,000 | 0.56 s | 0.19 s |\n| SC_rgb_rle_32bit_2frame.dcm | 20,000 | 240,000 | 1.03 s | 0.28 s |\n\n#### Encoding\n\nTime per 1000 encodes, pydicom's default RLE handler vs. pylibjpeg-rle\n\n| Dataset | Pixels | Bytes | pydicom | pylibjpeg-rle |\n| --- | --- | --- | --- | --- |\n| OBXXXX1A.dcm | 480,000 | 480,000 | 30.7 s | 1.36 s |\n| SC_rgb.dcm | 10,000 | 30,000 | 1.80 s | 0.09 s |\n| MR_small.dcm | 4,096 | 8,192 | 2.29 s | 0.04 s |\n| SC_rgb_16bit.dcm | 10,000 | 60,000 | 3.57 s | 0.17 s |\n| rtdose_1frame.dcm | 100 | 400 | 0.19 s | 0.003 s |\n| SC_rgb_32bit.dcm | 10,000 | 120,000 | 7.20 s | 0.33 s |\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\"Python bindings for a fast RLE decoder/encoder, with a focus on \"\"use as a plugin for pylibjpeg\"",
"version": "2.0.0",
"project_urls": {
"homepage": "https://github.com/pydicom/pylibjpeg-rle"
},
"split_keywords": [
"dicom",
"pydicom",
"python",
"rle",
"pylibjpeg",
"rust"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cd4cdb0f58a94550bc3f1e0726d7784806e4bc3791b3a3a6f4354e2331f7601a",
"md5": "492facfa4f83fcc56bb307870a14923e",
"sha256": "a423f3a4b57d9fbafb09c731f42e06e8f7628fcb8f9ab8cee93ca111b8664c6f"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "492facfa4f83fcc56bb307870a14923e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 252906,
"upload_time": "2024-01-06T05:13:50",
"upload_time_iso_8601": "2024-01-06T05:13:50.920809Z",
"url": "https://files.pythonhosted.org/packages/cd/4c/db0f58a94550bc3f1e0726d7784806e4bc3791b3a3a6f4354e2331f7601a/pylibjpeg_rle-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03e988741c9f165d081e07138bcc4de3bb7e12d09843e105b2b4975b8b0aaed4",
"md5": "ec103f8f6b5bcb8ebf437c90334a8da5",
"sha256": "931bcf06fc4030b477384624c8040fb32294d5f688981bf7961562639ad4d327"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ec103f8f6b5bcb8ebf437c90334a8da5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 249448,
"upload_time": "2024-01-06T05:13:52",
"upload_time_iso_8601": "2024-01-06T05:13:52.866926Z",
"url": "https://files.pythonhosted.org/packages/03/e9/88741c9f165d081e07138bcc4de3bb7e12d09843e105b2b4975b8b0aaed4/pylibjpeg_rle-2.0.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b01e024bbf5d64c12f7352e085df5978b4b729129dabc893186bd8c204ec094",
"md5": "51f6c2f67f244471b6eb444ed53fba9e",
"sha256": "38c32b4a2fc43273c8aca9941287165b8bef8f41eb9541708073ad49e16ec681"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "51f6c2f67f244471b6eb444ed53fba9e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1084758,
"upload_time": "2024-01-06T05:13:54",
"upload_time_iso_8601": "2024-01-06T05:13:54.683721Z",
"url": "https://files.pythonhosted.org/packages/0b/01/e024bbf5d64c12f7352e085df5978b4b729129dabc893186bd8c204ec094/pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0ed8cab56b4bffcbfe29cec551e324510954df13fe58cdf68256393166b6aa5",
"md5": "1ecb9e5fb8f9e193d48a728bc5e2361b",
"sha256": "088a13d9e456e78c65afa5b76dd7b6ce90cbcde41d30b99dbfa38e81f0da3ff7"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1ecb9e5fb8f9e193d48a728bc5e2361b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1095370,
"upload_time": "2024-01-06T05:13:56",
"upload_time_iso_8601": "2024-01-06T05:13:56.515215Z",
"url": "https://files.pythonhosted.org/packages/a0/ed/8cab56b4bffcbfe29cec551e324510954df13fe58cdf68256393166b6aa5/pylibjpeg_rle-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56bbfefa7496aa9b47627fd973ff32cdc7f372851e6364787accf3f5315ba3ae",
"md5": "6bb9ded96ab61d0ead38f4eb96395bd3",
"sha256": "19d73298476a38f7cb347efcf5a7018425c8cfa6d1f16c310ee197c681e66628"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-none-win32.whl",
"has_sig": false,
"md5_digest": "6bb9ded96ab61d0ead38f4eb96395bd3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 134076,
"upload_time": "2024-01-06T05:13:58",
"upload_time_iso_8601": "2024-01-06T05:13:58.269548Z",
"url": "https://files.pythonhosted.org/packages/56/bb/fefa7496aa9b47627fd973ff32cdc7f372851e6364787accf3f5315ba3ae/pylibjpeg_rle-2.0.0-cp310-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0f49d5ccaeac412b27b00bf05d9c7675c7c8fbc349173d861f77b43e129da473",
"md5": "d0669bcee651b9b70480dce10fbf80a3",
"sha256": "01d3065fbcde2aca5b6e1fa0b2fa908933741e040e34d29f13d922e236031e2a"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "d0669bcee651b9b70480dce10fbf80a3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 138203,
"upload_time": "2024-01-06T05:13:59",
"upload_time_iso_8601": "2024-01-06T05:13:59.945858Z",
"url": "https://files.pythonhosted.org/packages/0f/49/d5ccaeac412b27b00bf05d9c7675c7c8fbc349173d861f77b43e129da473/pylibjpeg_rle-2.0.0-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "331da57bb7504572aa82de4c29b98ca283fd4b367e3fe9e86557a661c3c6ac51",
"md5": "d7227ad826f045b584fd8f86c231386e",
"sha256": "f283486e7a6cfddd013900e4c820dd83c669a472a3c6112e4873cf864bc42dc5"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "d7227ad826f045b584fd8f86c231386e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 252902,
"upload_time": "2024-01-06T05:14:01",
"upload_time_iso_8601": "2024-01-06T05:14:01.627855Z",
"url": "https://files.pythonhosted.org/packages/33/1d/a57bb7504572aa82de4c29b98ca283fd4b367e3fe9e86557a661c3c6ac51/pylibjpeg_rle-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "15bb158cf7fb19880940bbd1b57c0b644639aac5f444905c67dba1762faaab74",
"md5": "426c36055fb698accac6097e110c55e4",
"sha256": "b2d54198e72c9403e3b6e5725c535035cb2719a9fdbb8963ef907d1e9ea9c97a"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "426c36055fb698accac6097e110c55e4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 249457,
"upload_time": "2024-01-06T05:14:02",
"upload_time_iso_8601": "2024-01-06T05:14:02.808547Z",
"url": "https://files.pythonhosted.org/packages/15/bb/158cf7fb19880940bbd1b57c0b644639aac5f444905c67dba1762faaab74/pylibjpeg_rle-2.0.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "088e2580058f5ecb201439978061942c761182552e10fce5f5cae5d02a469a5e",
"md5": "4559c0d155cea2e607fd54399b4ed414",
"sha256": "8c8ea83490c74e4b35de0f8541303e94057d739f7b5c3b43456672e4924c6a9c"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "4559c0d155cea2e607fd54399b4ed414",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1084904,
"upload_time": "2024-01-06T05:14:04",
"upload_time_iso_8601": "2024-01-06T05:14:04.579562Z",
"url": "https://files.pythonhosted.org/packages/08/8e/2580058f5ecb201439978061942c761182552e10fce5f5cae5d02a469a5e/pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e99aca6e40bdeeb73b548e207788621bbb60a9e2b15278411f2ed0c51db58f1b",
"md5": "d984a456fc205e0f586db3de4d798b0f",
"sha256": "2752d91c9a46f86c5fc523156114e8fdda1be04a853199198c62aa9f7a8b8490"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d984a456fc205e0f586db3de4d798b0f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1095362,
"upload_time": "2024-01-06T05:14:06",
"upload_time_iso_8601": "2024-01-06T05:14:06.543536Z",
"url": "https://files.pythonhosted.org/packages/e9/9a/ca6e40bdeeb73b548e207788621bbb60a9e2b15278411f2ed0c51db58f1b/pylibjpeg_rle-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cdb7bf291d890c0a81a0165bd246d85ac09685d310a1eeb1d565ee7eb106164f",
"md5": "082812d41a09863e1d41d2ee650547ba",
"sha256": "c44cc800f25255e37ef844531dfdc01ddb7d5b390a5637e12c692c8476fecffa"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-none-win32.whl",
"has_sig": false,
"md5_digest": "082812d41a09863e1d41d2ee650547ba",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 134079,
"upload_time": "2024-01-06T05:14:08",
"upload_time_iso_8601": "2024-01-06T05:14:08.519608Z",
"url": "https://files.pythonhosted.org/packages/cd/b7/bf291d890c0a81a0165bd246d85ac09685d310a1eeb1d565ee7eb106164f/pylibjpeg_rle-2.0.0-cp311-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fad805ef17910fd5bc296c1e1b08b78218cc43d1d7274ebd8c022f620c8fff8f",
"md5": "c3c8207dd9ad4b8ebae8e4453cf98d21",
"sha256": "1ce536c314f277e980984bc1371d3c14e7d613b5f09ba1c68ff8861ce47587d0"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "c3c8207dd9ad4b8ebae8e4453cf98d21",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 138210,
"upload_time": "2024-01-06T05:14:09",
"upload_time_iso_8601": "2024-01-06T05:14:09.681982Z",
"url": "https://files.pythonhosted.org/packages/fa/d8/05ef17910fd5bc296c1e1b08b78218cc43d1d7274ebd8c022f620c8fff8f/pylibjpeg_rle-2.0.0-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9855fc4e5545d3755907bf6ba59b17d18d7bede14577b1bf2ace13cc5b2cb410",
"md5": "52df716b3896ab04a92ea5dbcbe86c42",
"sha256": "cd31a93db079e580baa00345a8328a4397054d9193e12cebcc3f1e9df1c64feb"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "52df716b3896ab04a92ea5dbcbe86c42",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 252559,
"upload_time": "2024-01-06T05:14:10",
"upload_time_iso_8601": "2024-01-06T05:14:10.716640Z",
"url": "https://files.pythonhosted.org/packages/98/55/fc4e5545d3755907bf6ba59b17d18d7bede14577b1bf2ace13cc5b2cb410/pylibjpeg_rle-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a5b26834d8baf34574ee92b2f44291c4122aff3871b2944efb31d933cdc84e42",
"md5": "34cce876f8307f5ffb3ef05b3618eb78",
"sha256": "f8b3bda2f6fb9d74b025756cd9e6d09eec2292898ea58f56fea7a7db6578542c"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "34cce876f8307f5ffb3ef05b3618eb78",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 249356,
"upload_time": "2024-01-06T05:14:12",
"upload_time_iso_8601": "2024-01-06T05:14:12.495953Z",
"url": "https://files.pythonhosted.org/packages/a5/b2/6834d8baf34574ee92b2f44291c4122aff3871b2944efb31d933cdc84e42/pylibjpeg_rle-2.0.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be77194075a714421622cc8e9f30575dc24bc3ba74489c230a8a4afde7a97ede",
"md5": "390d058c3aec1013d5b2e9ec9d89b687",
"sha256": "be018cb337716b3b23ce8648eabf45224fedca43b5df7492eb212b2c36cc5ba1"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "390d058c3aec1013d5b2e9ec9d89b687",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1084976,
"upload_time": "2024-01-06T05:14:13",
"upload_time_iso_8601": "2024-01-06T05:14:13.663340Z",
"url": "https://files.pythonhosted.org/packages/be/77/194075a714421622cc8e9f30575dc24bc3ba74489c230a8a4afde7a97ede/pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "174d2e62a0b13871b7022be2f8f06f0470fa62594320871fb8ffb20da915cce4",
"md5": "4cfb5538f5aff811b771af1f8be3a6ef",
"sha256": "936cfa67b398549c17991b53f79fba7bc10a64fafd63861eed5ea14eee59d474"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4cfb5538f5aff811b771af1f8be3a6ef",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 1095360,
"upload_time": "2024-01-06T05:14:14",
"upload_time_iso_8601": "2024-01-06T05:14:14.938625Z",
"url": "https://files.pythonhosted.org/packages/17/4d/2e62a0b13871b7022be2f8f06f0470fa62594320871fb8ffb20da915cce4/pylibjpeg_rle-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "99eb0b1a4107c9b2e7090976f315329aee2cc3cbe0e9c41359258ed8ed1d7e5a",
"md5": "8cfd59c3fda3230414b2d694bf1489fa",
"sha256": "20bc5f5623379c98657ab3251cfe6beced6c38a297c7ad913ff3750ce8b64b09"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-none-win32.whl",
"has_sig": false,
"md5_digest": "8cfd59c3fda3230414b2d694bf1489fa",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 134055,
"upload_time": "2024-01-06T05:14:16",
"upload_time_iso_8601": "2024-01-06T05:14:16.184266Z",
"url": "https://files.pythonhosted.org/packages/99/eb/0b1a4107c9b2e7090976f315329aee2cc3cbe0e9c41359258ed8ed1d7e5a/pylibjpeg_rle-2.0.0-cp312-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7ce5b7d7c5c65ce09f7fff730dd4ec925136c49aeaedda962e94f1f653fcbc5b",
"md5": "fcb70fbd894d47b20ce73c037ea9d538",
"sha256": "969e529d945aff61ee3172f810954e5226cf75dceb27af132da1e3a7b18a42d0"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "fcb70fbd894d47b20ce73c037ea9d538",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 138906,
"upload_time": "2024-01-06T05:14:17",
"upload_time_iso_8601": "2024-01-06T05:14:17.469323Z",
"url": "https://files.pythonhosted.org/packages/7c/e5/b7d7c5c65ce09f7fff730dd4ec925136c49aeaedda962e94f1f653fcbc5b/pylibjpeg_rle-2.0.0-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "83940d68cae361ea09a060e986e3531e864cd9ac555412e4aa77e77dbab56c0f",
"md5": "cce1681dc2bc7e9b29cb60ac346c428b",
"sha256": "3a06ff1ad3144daa78af2f80c811a25c9db185fd22b5830e9649b41b839db9d1"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-cp38-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "cce1681dc2bc7e9b29cb60ac346c428b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 252691,
"upload_time": "2024-01-06T05:14:18",
"upload_time_iso_8601": "2024-01-06T05:14:18.560745Z",
"url": "https://files.pythonhosted.org/packages/83/94/0d68cae361ea09a060e986e3531e864cd9ac555412e4aa77e77dbab56c0f/pylibjpeg_rle-2.0.0-cp38-cp38-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f307627a19fc96602026c05361a652cb2ecb92f6b486b6259d8fe46f14e998e1",
"md5": "44d636ad1d72b1d90555757f4ec73a58",
"sha256": "012935485c527fcde929c234e859f3398d2b5c5ee41aaaa9ef5fefa78b331bcf"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "44d636ad1d72b1d90555757f4ec73a58",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 249005,
"upload_time": "2024-01-06T05:14:20",
"upload_time_iso_8601": "2024-01-06T05:14:20.368382Z",
"url": "https://files.pythonhosted.org/packages/f3/07/627a19fc96602026c05361a652cb2ecb92f6b486b6259d8fe46f14e998e1/pylibjpeg_rle-2.0.0-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "14f4ca5415bfaf28a5fe528624dcda6d0a68030b26e0efc36375c348ee4eb8c1",
"md5": "d2792a5aaae9f6e407388ad316eba85b",
"sha256": "0af6d865b4ee29204e748c7b2bd41c7384a73b89d2519ee77f2efcdb9d1cae27"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d2792a5aaae9f6e407388ad316eba85b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1084489,
"upload_time": "2024-01-06T05:14:22",
"upload_time_iso_8601": "2024-01-06T05:14:22.094699Z",
"url": "https://files.pythonhosted.org/packages/14/f4/ca5415bfaf28a5fe528624dcda6d0a68030b26e0efc36375c348ee4eb8c1/pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6409d9982e8ecaa5d6714be6a2cd08903f9258c2c98a9158d70dc32c4d617165",
"md5": "8f67e49d5bfa92c5a9a9bcf835c01be6",
"sha256": "9d370be03b59bf508f071583539797f2f8f431e75f603f7aafd531bb1cff89d2"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8f67e49d5bfa92c5a9a9bcf835c01be6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1094711,
"upload_time": "2024-01-06T05:14:23",
"upload_time_iso_8601": "2024-01-06T05:14:23.277695Z",
"url": "https://files.pythonhosted.org/packages/64/09/d9982e8ecaa5d6714be6a2cd08903f9258c2c98a9158d70dc32c4d617165/pylibjpeg_rle-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4aa9eda94c3b8630b6ae1504a9c12be56f51a9992ca32e935841e1f467861ed9",
"md5": "79ab247c4e43a77dfc0f29b254b92d68",
"sha256": "70b04dd440666c83cf5f29d01731bb26c7546c05b00a69d673d40fd6cfd3762e"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-none-win32.whl",
"has_sig": false,
"md5_digest": "79ab247c4e43a77dfc0f29b254b92d68",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 134011,
"upload_time": "2024-01-06T05:14:24",
"upload_time_iso_8601": "2024-01-06T05:14:24.686464Z",
"url": "https://files.pythonhosted.org/packages/4a/a9/eda94c3b8630b6ae1504a9c12be56f51a9992ca32e935841e1f467861ed9/pylibjpeg_rle-2.0.0-cp38-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "93f58cc922e33cb446ff74d5218b11451c76d8e8935cc590516c54822ac72828",
"md5": "46f492424d74bed731d3c53e703c0ab9",
"sha256": "6dee0ead0b08d48e530ed90ba6819b21febc98e5c692f4397030792c546113fe"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "46f492424d74bed731d3c53e703c0ab9",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 138085,
"upload_time": "2024-01-06T05:14:25",
"upload_time_iso_8601": "2024-01-06T05:14:25.754146Z",
"url": "https://files.pythonhosted.org/packages/93/f5/8cc922e33cb446ff74d5218b11451c76d8e8935cc590516c54822ac72828/pylibjpeg_rle-2.0.0-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bdda9ed894ad0b13e65aa3ec1fbfe53c392f45bdf23b1f35f125b6839a85e42e",
"md5": "e268c6f7e712fb317d115aaa0e95e9ae",
"sha256": "750112bbd5020373dfe96f7e8ab7924bdd3353e9145b615ff26cdd270e864f5a"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-cp39-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "e268c6f7e712fb317d115aaa0e95e9ae",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 252925,
"upload_time": "2024-01-06T05:14:27",
"upload_time_iso_8601": "2024-01-06T05:14:27.491819Z",
"url": "https://files.pythonhosted.org/packages/bd/da/9ed894ad0b13e65aa3ec1fbfe53c392f45bdf23b1f35f125b6839a85e42e/pylibjpeg_rle-2.0.0-cp39-cp39-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "18fd69a03a8a3b6c3da1a7ba123cb1cc123dc0a02e0865214408be003379252a",
"md5": "873da07e05aafc90272da00acb868ec0",
"sha256": "11089f7d0179b185a0c45e2bca2d69f9164cc57da3bc0468ad20a45abbcdf75c"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "873da07e05aafc90272da00acb868ec0",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 249424,
"upload_time": "2024-01-06T05:14:29",
"upload_time_iso_8601": "2024-01-06T05:14:29.073674Z",
"url": "https://files.pythonhosted.org/packages/18/fd/69a03a8a3b6c3da1a7ba123cb1cc123dc0a02e0865214408be003379252a/pylibjpeg_rle-2.0.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68ef865342ff88d1c3245361813ed136fbf692379afa8ac0096c99f041d7689e",
"md5": "bdafcc4de250ecf3049db97694ee8dd1",
"sha256": "6f3bd6b69928fc16d655f5f7f0e69144c78b0f9d8bb81940614a6b67d0bec34f"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "bdafcc4de250ecf3049db97694ee8dd1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1084801,
"upload_time": "2024-01-06T05:14:30",
"upload_time_iso_8601": "2024-01-06T05:14:30.445509Z",
"url": "https://files.pythonhosted.org/packages/68/ef/865342ff88d1c3245361813ed136fbf692379afa8ac0096c99f041d7689e/pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf510b840cd12c73746b273d6fe3de2ac4b3ccbbd1acfe3ba9aa81ef5f4edbd5",
"md5": "8430ca9890f052a96ff66f7473e89127",
"sha256": "44c297414b32b998b4f61261cb6e851a93b384b88294adc1d354d611247a08a3"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8430ca9890f052a96ff66f7473e89127",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1095342,
"upload_time": "2024-01-06T05:14:32",
"upload_time_iso_8601": "2024-01-06T05:14:32.319361Z",
"url": "https://files.pythonhosted.org/packages/bf/51/0b840cd12c73746b273d6fe3de2ac4b3ccbbd1acfe3ba9aa81ef5f4edbd5/pylibjpeg_rle-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "348dbf3a79e23863cea35d16d612ccd2e0e3254713dc06bcd8b3118a773c1d16",
"md5": "078900bbd032dfe85521b1f3f1ac120c",
"sha256": "a1c0a8ccf1de7fdd67e5aad49c6c5fbcb0e21f6d5da1397e82335049a43869e5"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-none-win32.whl",
"has_sig": false,
"md5_digest": "078900bbd032dfe85521b1f3f1ac120c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 134085,
"upload_time": "2024-01-06T05:14:34",
"upload_time_iso_8601": "2024-01-06T05:14:34.088407Z",
"url": "https://files.pythonhosted.org/packages/34/8d/bf3a79e23863cea35d16d612ccd2e0e3254713dc06bcd8b3118a773c1d16/pylibjpeg_rle-2.0.0-cp39-none-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac97f3466f001660d1c7228a91bb1053360fa6d6b132c57a46bfc8074d30f1a0",
"md5": "e03f2a0255ea4ab9e437445020dc3b0e",
"sha256": "359ca0b0dda6cafa620d771b8263cb486f55e08db29e6823c39caa7e50212864"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "e03f2a0255ea4ab9e437445020dc3b0e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 138208,
"upload_time": "2024-01-06T05:14:35",
"upload_time_iso_8601": "2024-01-06T05:14:35.131542Z",
"url": "https://files.pythonhosted.org/packages/ac/97/f3466f001660d1c7228a91bb1053360fa6d6b132c57a46bfc8074d30f1a0/pylibjpeg_rle-2.0.0-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0ec8ad11b853b3abb55adf5393e4cfc36925a2f0f7191c50394286cf221acc92",
"md5": "09b551956755793387316d578eba4f79",
"sha256": "8ab064af408c0043dcd8ef1fbf1e490b3596065addd537c23623eaaba6fd8785"
},
"downloads": -1,
"filename": "pylibjpeg_rle-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "09b551956755793387316d578eba4f79",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 27372,
"upload_time": "2024-01-06T05:14:36",
"upload_time_iso_8601": "2024-01-06T05:14:36.195195Z",
"url": "https://files.pythonhosted.org/packages/0e/c8/ad11b853b3abb55adf5393e4cfc36925a2f0f7191c50394286cf221acc92/pylibjpeg_rle-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-06 05:14:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pydicom",
"github_project": "pylibjpeg-rle",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "pylibjpeg-rle"
}