# etcpak
[![PyPI supported Python versions](https://img.shields.io/pypi/pyversions/etcpak.svg)](https://pypi.python.org/pypi/etcpak)
[![Win/Mac/Linux](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-informational)]()
[![MIT](https://img.shields.io/pypi/l/etcpak.svg)](https://github.com/K0lb3/etcpak/blob/master/LICENSE)
[![Build Status](https://github.com/K0lb3/etcpak/workflows/CI/badge.svg?branch=master)](https://github.com/K0lb3/etcpak/actions?query=workflow%3A%22CI%22)
A python wrapper for [wolfpld/etcpak](https://github.com/wolfpld/etcpak)
Some changes were made to the original code to make it cross-platform compatible.
1. [Installation](https://github.com/K0lb3/etcpak#installation)
2. [Example](https://github.com/K0lb3/etcpak#example)
3. [Functions](https://github.com/K0lb3/etcpak#functions)
## Installation
```cmd
pip install etcpak
```
or download/clone the git and use
```cmd
python setup.py install
```
## Example
```python
from PIL import Image
import etcpak
# load image
img = Image.open(file_path)
# get image data
img_data = img.convert("RGBA").tobytes()
# compress data
compressed = etcpak.compress_to_dxt5(img_data, img.width, img.height)
```
__composite image for format comparission__
```python
import os
import etcpak
import texture2ddecoder
from PIL import Image
FORMATS = [
("DXT1", etcpak.compress_to_dxt1, texture2ddecoder.decode_bc1),
("DXT1 Dither", etcpak.compress_to_dxt1_dither, texture2ddecoder.decode_bc1),
("DXT5", etcpak.compress_to_dxt5, texture2ddecoder.decode_bc3),
("ETC1", etcpak.compress_to_etc1, texture2ddecoder.decode_etc1),
("ETC1 Dither", etcpak.compress_to_etc1_dither, texture2ddecoder.decode_etc1),
("ETC2 RGB", etcpak.compress_to_etc2_rgb, texture2ddecoder.decode_etc2),
("ETC2 RGBA", etcpak.compress_to_etc2_rgba, texture2ddecoder.decode_etc2a8)
]
p = "S:\\Pictures"
for fp in os.listdir(p):
if not fp[-4:] in [".png", ".jpg", ".bmp", "jpeg"]:
continue
# load image and adjust format and size
print(fp)
img = Image.open(os.path.join(p, fp)).convert("RGBA")
img = img.crop((0,0,img.width-img.width%4, img.height-img.height%4))
# create composite image
comp = Image.new("RGBA", (img.width*8, img.height))
comp.paste(img, (0, 0))
print(img.width * img.height * 4)
# iterate over all formats
for i, (name, enc, dec) in enumerate(FORMATS):
print(name)
# make sure that the channel order is correct for the compression
if name[:3] == "DXT":
raw = img.tobytes()
elif name[:3] == "ETC":
r,g,b,a = img.split()
raw = Image.merge('RGBA', (b,g,r,a)).tobytes()
# compress
data = enc(raw, img.width, img.height)
# decompress
dimg = Image.frombytes("RGBA", img.size, dec(data, img.width, img.height), "raw", "BGRA")
# add to composite image
comp.paste(dimg, (img.width*(i+1), 0))
# save composite image
comp.save(os.path.splitext(fp)[0]+".png")
```
## Functions
* all functions accept only arguments, no keywords
* **the data has to be RGBA/BGRA for the RGB functions as well**
* **all __DXT__ compressions require data in the __RGBA__ format**
* **all __ETC__ compressions require data in the __BGRA__ format**
### compress_to_dxt1
*Compresses RGBA to DXT1*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_dxt1_dither
*Compresses RGBA to DXT1 Dither*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_dxt5
*Compresses RGBA to DXT5*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc1
*Compresses RGBA to ETC1 RGB*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc1_dither
*Compresses RGBA to ETC1 Dither*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc1_alpha
*Compresses A to ETC1 Alpha*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc2_rgb
*Compresses RGBA to ETC2 RGB*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc2_rgba
*Compresses RGBA to ETC2 RGBA*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
### compress_to_etc2_alpha
*Compresses RGBA to ETC2 Alpha*
```
:param data: RGBA data of the image
:type data: bytes
:param width: width of the image
:type width: int
:param height: height of the image
:type height: int
:returns: compressed data
:rtype: bytes"
```
Raw data
{
"_id": null,
"home_page": "https://github.com/K0lb3/etcpak",
"name": "etcpak",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "etc,dxt,texture,python-c",
"author": "K0lb3",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/52/c0/98962de8a6d2c8416326d3c343efceca8a2da6e58beb4ca05936b7292075/etcpak-0.9.8.tar.gz",
"platform": null,
"description": "# etcpak\n\n[![PyPI supported Python versions](https://img.shields.io/pypi/pyversions/etcpak.svg)](https://pypi.python.org/pypi/etcpak)\n[![Win/Mac/Linux](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-informational)]()\n[![MIT](https://img.shields.io/pypi/l/etcpak.svg)](https://github.com/K0lb3/etcpak/blob/master/LICENSE)\n[![Build Status](https://github.com/K0lb3/etcpak/workflows/CI/badge.svg?branch=master)](https://github.com/K0lb3/etcpak/actions?query=workflow%3A%22CI%22)\n\nA python wrapper for [wolfpld/etcpak](https://github.com/wolfpld/etcpak)\n\nSome changes were made to the original code to make it cross-platform compatible.\n\n1. [Installation](https://github.com/K0lb3/etcpak#installation)\n2. [Example](https://github.com/K0lb3/etcpak#example)\n3. [Functions](https://github.com/K0lb3/etcpak#functions)\n\n## Installation\n\n```cmd\npip install etcpak\n```\n\nor download/clone the git and use\n\n```cmd\npython setup.py install\n```\n\n## Example\n\n```python\nfrom PIL import Image\nimport etcpak\n\n# load image\nimg = Image.open(file_path)\n\n# get image data\nimg_data = img.convert(\"RGBA\").tobytes()\n\n# compress data\ncompressed = etcpak.compress_to_dxt5(img_data, img.width, img.height)\n```\n\n__composite image for format comparission__\n```python\nimport os\nimport etcpak\nimport texture2ddecoder\nfrom PIL import Image\n\nFORMATS = [\n (\"DXT1\", etcpak.compress_to_dxt1, texture2ddecoder.decode_bc1),\n (\"DXT1 Dither\", etcpak.compress_to_dxt1_dither, texture2ddecoder.decode_bc1),\n (\"DXT5\", etcpak.compress_to_dxt5, texture2ddecoder.decode_bc3),\n (\"ETC1\", etcpak.compress_to_etc1, texture2ddecoder.decode_etc1),\n (\"ETC1 Dither\", etcpak.compress_to_etc1_dither, texture2ddecoder.decode_etc1),\n (\"ETC2 RGB\", etcpak.compress_to_etc2_rgb, texture2ddecoder.decode_etc2),\n (\"ETC2 RGBA\", etcpak.compress_to_etc2_rgba, texture2ddecoder.decode_etc2a8)\n]\n\np = \"S:\\\\Pictures\"\nfor fp in os.listdir(p):\n if not fp[-4:] in [\".png\", \".jpg\", \".bmp\", \"jpeg\"]:\n continue\n # load image and adjust format and size\n print(fp)\n img = Image.open(os.path.join(p, fp)).convert(\"RGBA\")\n img = img.crop((0,0,img.width-img.width%4, img.height-img.height%4))\n \n # create composite image\n comp = Image.new(\"RGBA\", (img.width*8, img.height))\n comp.paste(img, (0, 0))\n print(img.width * img.height * 4)\n\n # iterate over all formats\n for i, (name, enc, dec) in enumerate(FORMATS):\n print(name)\n # make sure that the channel order is correct for the compression\n if name[:3] == \"DXT\":\n raw = img.tobytes()\n elif name[:3] == \"ETC\":\n r,g,b,a = img.split()\n raw = Image.merge('RGBA', (b,g,r,a)).tobytes()\n \n # compress\n data = enc(raw, img.width, img.height)\n\n # decompress\n dimg = Image.frombytes(\"RGBA\", img.size, dec(data, img.width, img.height), \"raw\", \"BGRA\")\n\n # add to composite image\n comp.paste(dimg, (img.width*(i+1), 0))\n\n # save composite image\n comp.save(os.path.splitext(fp)[0]+\".png\")\n```\n\n## Functions\n\n* all functions accept only arguments, no keywords\n* **the data has to be RGBA/BGRA for the RGB functions as well**\n* **all __DXT__ compressions require data in the __RGBA__ format**\n* **all __ETC__ compressions require data in the __BGRA__ format**\n\n### compress_to_dxt1\n\n*Compresses RGBA to DXT1*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_dxt1_dither\n\n*Compresses RGBA to DXT1 Dither*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_dxt5\n\n*Compresses RGBA to DXT5*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc1\n\n*Compresses RGBA to ETC1 RGB*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc1_dither\n\n*Compresses RGBA to ETC1 Dither*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc1_alpha\n\n*Compresses A to ETC1 Alpha*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc2_rgb\n\n*Compresses RGBA to ETC2 RGB*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc2_rgba\n\n*Compresses RGBA to ETC2 RGBA*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n\n### compress_to_etc2_alpha\n\n*Compresses RGBA to ETC2 Alpha*\n```\n:param data: RGBA data of the image\n:type data: bytes\n:param width: width of the image\n:type width: int\n:param height: height of the image\n:type height: int\n:returns: compressed data\n:rtype: bytes\"\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "python wrapper for etcpak",
"version": "0.9.8",
"split_keywords": [
"etc",
"dxt",
"texture",
"python-c"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1073b3555cf467ef87ff37f3aa726413",
"sha256": "0707308fdb40f4f84c34bf7d3b86b028f27ce62acf582f3c7f18571846d1daeb"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "1073b3555cf467ef87ff37f3aa726413",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 105387,
"upload_time": "2022-12-05T11:31:48",
"upload_time_iso_8601": "2022-12-05T11:31:48.370333Z",
"url": "https://files.pythonhosted.org/packages/a5/c4/9efdd4834bb7f2f11c4e8923654eb1d2f1cb92a7df9404f136f8d699d1ec/etcpak-0.9.8-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "cc9750d6dcb3cc066a1cf3387d75438e",
"sha256": "9ac45356770e1bb341a602a02dc53fb2d7af70dc7eb60047f757133a0117204d"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "cc9750d6dcb3cc066a1cf3387d75438e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 62958,
"upload_time": "2022-12-05T11:31:49",
"upload_time_iso_8601": "2022-12-05T11:31:49.827022Z",
"url": "https://files.pythonhosted.org/packages/4b/15/89776f941d1eb7d0721c1173cf1804278800b5d0d296383bd8ede7166c7b/etcpak-0.9.8-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a9856de828dca04e7bf8369c549ba694",
"sha256": "313a46c96250721aee47feb06b167b40f3d4ae5c7d892bb63ce44470fba1bae9"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a9856de828dca04e7bf8369c549ba694",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 45585,
"upload_time": "2022-12-05T11:31:51",
"upload_time_iso_8601": "2022-12-05T11:31:51.503052Z",
"url": "https://files.pythonhosted.org/packages/79/79/7430485871523a617d8096a2cf0af7025e0070e0cf7dcc89a95f896f1006/etcpak-0.9.8-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "bbee10ff6efd990b44f66256a2245e2b",
"sha256": "574be02f384fe35fdf12733e8e2712e5a012566380205a57dbe586c0b9fa7a52"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "bbee10ff6efd990b44f66256a2245e2b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 313806,
"upload_time": "2022-12-05T11:31:52",
"upload_time_iso_8601": "2022-12-05T11:31:52.801970Z",
"url": "https://files.pythonhosted.org/packages/b7/a8/8c7b2e9152efba194621bf76f724dfe6ad594c76ab654495548f31c6a465/etcpak-0.9.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a4c3684ae6889d88c743f4abcb80df4c",
"sha256": "3462f333052543af0d5b0a782c01dee7af70a8a01b032f0607ed00545a521445"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "a4c3684ae6889d88c743f4abcb80df4c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 270050,
"upload_time": "2022-12-05T11:31:54",
"upload_time_iso_8601": "2022-12-05T11:31:54.680602Z",
"url": "https://files.pythonhosted.org/packages/6d/b1/a092806b11982719ac7787ee74ce896fccc8a245602b44f927bc039e9d03/etcpak-0.9.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "5c8f805f958d5b4b331e0548c6f39f49",
"sha256": "d1bdc4d03435f3880398bf6f75103329370115fb64f3c54eed3ca477246ae97f"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5c8f805f958d5b4b331e0548c6f39f49",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 280594,
"upload_time": "2022-12-05T11:31:56",
"upload_time_iso_8601": "2022-12-05T11:31:56.202938Z",
"url": "https://files.pythonhosted.org/packages/2c/c5/ba13a91d9e3200dcd12f1911dd44bbef7ad5311d2925787e3d4c72d84df0/etcpak-0.9.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "ed4c8c81271cd94f6890b1909545e2a1",
"sha256": "3fe9a1ad56db6e4a336f77efc97f6938494850d6eb0a01c32922f0da1fcf2b09"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "ed4c8c81271cd94f6890b1909545e2a1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 31565,
"upload_time": "2022-12-05T11:31:58",
"upload_time_iso_8601": "2022-12-05T11:31:58.437465Z",
"url": "https://files.pythonhosted.org/packages/b8/f9/b081bce81001b92ea7d28816cfd2ecb93bc8f9feae5ca70cf770d3d3d3dc/etcpak-0.9.8-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "e6614789751397c0c40cf1de23e11d96",
"sha256": "48ca1c5d9d422c397eb03183137b95085d7ef019a5bbcce34901d4c07fef8e0f"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "e6614789751397c0c40cf1de23e11d96",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 35250,
"upload_time": "2022-12-05T11:32:00",
"upload_time_iso_8601": "2022-12-05T11:32:00.035117Z",
"url": "https://files.pythonhosted.org/packages/9d/c7/60ba2999e8af331131e400114435244f28cec2b809a4ac172a54b1dfe012/etcpak-0.9.8-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "bd3d6985edd23c2b5a6b3aa8bbf5deac",
"sha256": "8442dbce60d67bc6aa23a074e0e7077126eb3ebbdc2e6b65f059a43d1f4d01b7"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "bd3d6985edd23c2b5a6b3aa8bbf5deac",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 105392,
"upload_time": "2022-12-05T11:32:01",
"upload_time_iso_8601": "2022-12-05T11:32:01.756511Z",
"url": "https://files.pythonhosted.org/packages/3b/f1/b839f79f2a0728a7916ec26cfc68f654bed410911aa09d24dab02bfbcaf7/etcpak-0.9.8-cp311-cp311-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "847dcf7d3a33bd9128cb46821ea34a78",
"sha256": "86e1624791bfa21280825f4f922e76b874ec398b0c676c3aaafd4a08674ad872"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "847dcf7d3a33bd9128cb46821ea34a78",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 62951,
"upload_time": "2022-12-05T11:32:03",
"upload_time_iso_8601": "2022-12-05T11:32:03.087980Z",
"url": "https://files.pythonhosted.org/packages/d7/28/ca23e76b080277ac1cd55d54d05c7f5e6eb60501f1851eb3ac25b2f9d27b/etcpak-0.9.8-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "89f7008938f5a225cdaa3e90fa8ebebe",
"sha256": "5d715f19191123c1d77a8eaa2b604ccefb067c5f046ffe86d38715bbce07f6ed"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "89f7008938f5a225cdaa3e90fa8ebebe",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 45578,
"upload_time": "2022-12-05T11:32:04",
"upload_time_iso_8601": "2022-12-05T11:32:04.388826Z",
"url": "https://files.pythonhosted.org/packages/5c/89/1ade95ac6fad2ceced524f67cfa655e119cc6c934aa14b29657125a07400/etcpak-0.9.8-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "d03fbfe5ba4665b3c770f5bf647c213b",
"sha256": "fefc420c88b29f194f0f71b1da3b40c5aeb1d55637209796ea8fad943c9ef28a"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d03fbfe5ba4665b3c770f5bf647c213b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 313817,
"upload_time": "2022-12-05T11:32:05",
"upload_time_iso_8601": "2022-12-05T11:32:05.702149Z",
"url": "https://files.pythonhosted.org/packages/5c/d4/c50317ddb7c1e0b6b0fd4d488031383f8237407b330f50b7ff04bcd28a2d/etcpak-0.9.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "065d310a402ec6237ce908acef477c66",
"sha256": "86464c63622de86b0492fc9fcd2a58af9dc15ca73eeab3f1d63b3682c8a96ff3"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "065d310a402ec6237ce908acef477c66",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 270031,
"upload_time": "2022-12-05T11:32:06",
"upload_time_iso_8601": "2022-12-05T11:32:06.961885Z",
"url": "https://files.pythonhosted.org/packages/2a/81/23678317b0105e87765d3e41b19733d662aefa8b32555a46ba79d33c3298/etcpak-0.9.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "92beeb38e930ebcb3a92bef56f4cd406",
"sha256": "6533df0657ed2a4ca6e525457d2edc3380dc174ff6d41e67e146102337fb4270"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "92beeb38e930ebcb3a92bef56f4cd406",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 280594,
"upload_time": "2022-12-05T11:32:08",
"upload_time_iso_8601": "2022-12-05T11:32:08.708286Z",
"url": "https://files.pythonhosted.org/packages/51/7b/9e62745bec819bf4f53c57864d77f04f86f22252037364179507289ede6c/etcpak-0.9.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "428d27dd879eff161e2df0c6a2a7c572",
"sha256": "6f1c395bddc464949d183c2071b9ae4f6601cdf876ad38636447b6c65ed2bb9b"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "428d27dd879eff161e2df0c6a2a7c572",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 31568,
"upload_time": "2022-12-05T11:32:10",
"upload_time_iso_8601": "2022-12-05T11:32:10.226088Z",
"url": "https://files.pythonhosted.org/packages/80/88/5996daecf48b0dbb3ba58436fc1cd0d5fea1025e7c1e4ec94cd58bf60f19/etcpak-0.9.8-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "cc37fec6d5838e0084b8364a2d52431c",
"sha256": "6f9a6f61425fc02bdec329b73812d41e3822610d8ba50fde7c7b0c8d64598910"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "cc37fec6d5838e0084b8364a2d52431c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 35250,
"upload_time": "2022-12-05T11:32:11",
"upload_time_iso_8601": "2022-12-05T11:32:11.339317Z",
"url": "https://files.pythonhosted.org/packages/2b/be/a0024dac821e7c8909b68733dd33baa2ccfb1f60779bd204457facfca72d/etcpak-0.9.8-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "71305b65bfd010c50f06977a80af3e96",
"sha256": "7950ddbf49b5c7a5624da20d179f99ddd1055a4a0f53a64780f5a1e3f763e0cb"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "71305b65bfd010c50f06977a80af3e96",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 62904,
"upload_time": "2022-12-05T11:32:12",
"upload_time_iso_8601": "2022-12-05T11:32:12.413239Z",
"url": "https://files.pythonhosted.org/packages/81/0c/17e59dff4ea7b0497f8b7117acb9458ef398b05adc6bba97807652e66bfe/etcpak-0.9.8-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "e430768d5563dd6a6d8f0588bcc53a44",
"sha256": "482584a753b47b5e2b20c7ce932a2b4bb795af733a10c86978fdb01785c5ad75"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "e430768d5563dd6a6d8f0588bcc53a44",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 313499,
"upload_time": "2022-12-05T11:32:13",
"upload_time_iso_8601": "2022-12-05T11:32:13.640037Z",
"url": "https://files.pythonhosted.org/packages/03/b5/7359e9640ab8722b11faaab9cf0c0fd7eb74d23e5c0d737fd46759996dd7/etcpak-0.9.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "bb6137fcaeabdcf705681f976811ccf9",
"sha256": "f6cb6b7c97f70383045060e7bc457f640b179e13f6be7dc52c67b54ab8df19b5"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "bb6137fcaeabdcf705681f976811ccf9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 269733,
"upload_time": "2022-12-05T11:32:14",
"upload_time_iso_8601": "2022-12-05T11:32:14.960185Z",
"url": "https://files.pythonhosted.org/packages/8d/a9/9657c9d046b3e2e3616641b61c639c280a2760e2832a6053a89bd7a246e6/etcpak-0.9.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "93a2f7a3d0384a4dcb5ecaf965e43884",
"sha256": "0ed8e6b5b66c45aca6c7753ab9e7131dbeca2a2250459fca261bfe374aa2529c"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "93a2f7a3d0384a4dcb5ecaf965e43884",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 280302,
"upload_time": "2022-12-05T11:32:16",
"upload_time_iso_8601": "2022-12-05T11:32:16.362652Z",
"url": "https://files.pythonhosted.org/packages/80/bf/19249d410b06215e8a7d9ae5b2f7d66e71a9e90c431666eb898100b245fe/etcpak-0.9.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "377f084d97deeaa691bd4847bccb7925",
"sha256": "e7f56a71984b607d02275c29793606b948895637f1c7a8ad33f34eedf78c66f5"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "377f084d97deeaa691bd4847bccb7925",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 31563,
"upload_time": "2022-12-05T11:32:17",
"upload_time_iso_8601": "2022-12-05T11:32:17.737684Z",
"url": "https://files.pythonhosted.org/packages/e5/4e/e6002de93311d236e6efc49ed7ed33dd967bd5c8967fd34bdc3678cdcbd8/etcpak-0.9.8-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "8d38034e5deb60e0c53baed65d028d8d",
"sha256": "d19d650566cd3f1ba814f5e3d028839bd541b2afd1a9e4d44154c9d68f8b33d2"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "8d38034e5deb60e0c53baed65d028d8d",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 35250,
"upload_time": "2022-12-05T11:32:18",
"upload_time_iso_8601": "2022-12-05T11:32:18.831240Z",
"url": "https://files.pythonhosted.org/packages/3f/1b/0553966a038f3a5acccc5ebd6eaaee23f7262fd2fcdb28b91b6bd8c9f7c0/etcpak-0.9.8-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6af693d55ee420950532996762f134d8",
"sha256": "736ecf41ef063770e780e6b8cb44b92068d913eab9ecd8c1c2ccd65f5965f95a"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "6af693d55ee420950532996762f134d8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 105383,
"upload_time": "2022-12-05T11:32:20",
"upload_time_iso_8601": "2022-12-05T11:32:20.176440Z",
"url": "https://files.pythonhosted.org/packages/30/d8/614080413133537e22a1e9b2bb9512b0dd9d7cdb9680b42680e7cae3cabb/etcpak-0.9.8-cp38-cp38-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "9ff32f1c3d8a197963f739e8519817f1",
"sha256": "9ec3f7f6796f6b0a9532fa0c0480425df6649aa34a629041ae1251cc315c1938"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "9ff32f1c3d8a197963f739e8519817f1",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 62954,
"upload_time": "2022-12-05T11:32:22",
"upload_time_iso_8601": "2022-12-05T11:32:22.021915Z",
"url": "https://files.pythonhosted.org/packages/7f/58/9322ce2b1ca8fac60dfc9678983ee7b91c745ee30bc8dee965f1208da31d/etcpak-0.9.8-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "ec01c8b2cfa6cf6d19de48a6b364f11a",
"sha256": "74c772344beb3d88bf36203929b6860dd99c5f7f59c64e82fc6066059ba8bfdc"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ec01c8b2cfa6cf6d19de48a6b364f11a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 45581,
"upload_time": "2022-12-05T11:32:23",
"upload_time_iso_8601": "2022-12-05T11:32:23.620139Z",
"url": "https://files.pythonhosted.org/packages/fc/5a/dbe9e24f219c15e62e388dd0a2e2dd778b87a50b1c691d7413b84df931b2/etcpak-0.9.8-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "d0f86c4fcd431a6ae8921212d90070cd",
"sha256": "5c6643fc7c3d1fd3a86141b22a886400ab7abeba60f595e97b0b92afde79836d"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "d0f86c4fcd431a6ae8921212d90070cd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 313616,
"upload_time": "2022-12-05T11:32:25",
"upload_time_iso_8601": "2022-12-05T11:32:25.174584Z",
"url": "https://files.pythonhosted.org/packages/3a/f5/c7292ca0ac8dfc77cfb10c349061056cb075145764b831d9aebdad53af4e/etcpak-0.9.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "04383b46cdabef3810e0b06dedb62bdd",
"sha256": "b0a1d04e1aa02c921df023664a7f9111c52b5b887eaa231c7ad1085f3606463d"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "04383b46cdabef3810e0b06dedb62bdd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 269832,
"upload_time": "2022-12-05T11:32:26",
"upload_time_iso_8601": "2022-12-05T11:32:26.746419Z",
"url": "https://files.pythonhosted.org/packages/61/80/dd0c3cd478dd0addea7076a488c4399d5b9af997a35964660cb2e114663e/etcpak-0.9.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "fda8166f66559ef417152967764d861f",
"sha256": "3803c557605626207c796155c9890837f2c38039d2cfa749655f87ea61a0ba69"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "fda8166f66559ef417152967764d861f",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 280393,
"upload_time": "2022-12-05T11:32:27",
"upload_time_iso_8601": "2022-12-05T11:32:27.958467Z",
"url": "https://files.pythonhosted.org/packages/81/ce/ca63ce13bfdb714cbab1c2cf41f6dc88349c1ee3b81f1009c8316f8d9514/etcpak-0.9.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "08401e681931c3aad168e6069d1652a0",
"sha256": "53a737a31be7f37c949b21c562f16604b11ab799eafc0235e7167232bca27138"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "08401e681931c3aad168e6069d1652a0",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 31563,
"upload_time": "2022-12-05T11:32:29",
"upload_time_iso_8601": "2022-12-05T11:32:29.271116Z",
"url": "https://files.pythonhosted.org/packages/01/74/1831b21ea05402acf6ed43df3d64126370a2bc023107cb9b13785fff55ca/etcpak-0.9.8-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b9218e68bce69753bda87faae7eee6c2",
"sha256": "d203a803694fe4c8031b58f0f9a49050fa6da640d1e04eb8ba74ff7e06330ef9"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "b9218e68bce69753bda87faae7eee6c2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 35249,
"upload_time": "2022-12-05T11:32:30",
"upload_time_iso_8601": "2022-12-05T11:32:30.435205Z",
"url": "https://files.pythonhosted.org/packages/9f/27/aa03eaa382a02eba6209202e36048e06e2b4430c9107c44fcda9ce7ebdca/etcpak-0.9.8-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b2ea595a036fef025a07941d26c787f8",
"sha256": "64342740ad6cca0a3d59dcdd9040be3ba2a0fe78954fbb0fefd8d25e17296801"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "b2ea595a036fef025a07941d26c787f8",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 105387,
"upload_time": "2022-12-05T11:32:31",
"upload_time_iso_8601": "2022-12-05T11:32:31.560635Z",
"url": "https://files.pythonhosted.org/packages/6f/d3/bf83601e2e46818d29693b213ef445fd9cee506a26d8e7321511afcde153/etcpak-0.9.8-cp39-cp39-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "a2893a6fe7feba7a2dcc1446809ba569",
"sha256": "41289fd00a720efce55c3eff885e41d5ec091de12dede7041c1e920943848556"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a2893a6fe7feba7a2dcc1446809ba569",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 62951,
"upload_time": "2022-12-05T11:32:33",
"upload_time_iso_8601": "2022-12-05T11:32:33.297378Z",
"url": "https://files.pythonhosted.org/packages/0d/db/ec8873808177af5e1bea0ac6ce88ae77c239a0ad3c34a6c595842bacb0a2/etcpak-0.9.8-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "91d4e0e389249396ba95875f1536e5b7",
"sha256": "76f4cbfc7226e5e5fdf3e64c35f9e1b6a4daeca981b1421893915a73dddabbc1"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "91d4e0e389249396ba95875f1536e5b7",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 45580,
"upload_time": "2022-12-05T11:32:34",
"upload_time_iso_8601": "2022-12-05T11:32:34.883579Z",
"url": "https://files.pythonhosted.org/packages/6d/3d/1c420940f63636dcf1f72bcf40dbc4437071c8abb970d11e611af8905ac2/etcpak-0.9.8-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "4e7769e13bf11f264112cae6f3719c8e",
"sha256": "4f5ba5d46008bb28681234c590354e202b613e1e3148e6cf0fa11087ff0429b0"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "4e7769e13bf11f264112cae6f3719c8e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 313610,
"upload_time": "2022-12-05T11:32:36",
"upload_time_iso_8601": "2022-12-05T11:32:36.361967Z",
"url": "https://files.pythonhosted.org/packages/f5/a7/2058557d91ee34f0700bd06313fe6783d17e26b30221c8b11bdafcf98950/etcpak-0.9.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0676d9b3a6bfc838155ae11742e58471",
"sha256": "5055b71aa6ceff6247bed7237dbbfa63c53d6e5424a406f8b31183bc8f6e6126"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "0676d9b3a6bfc838155ae11742e58471",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 269831,
"upload_time": "2022-12-05T11:32:37",
"upload_time_iso_8601": "2022-12-05T11:32:37.676027Z",
"url": "https://files.pythonhosted.org/packages/b6/1f/b17e0cbf7753af1d3e2e92275bb5ed90953dc2afe6032baa78c27c8c22f7/etcpak-0.9.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "210e326479ebfb7797b2b35166761c67",
"sha256": "420e5de1f28b58bc9493cb1caccab8d817b60a9fd1b1c65742a8bae40b6d553c"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "210e326479ebfb7797b2b35166761c67",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 280388,
"upload_time": "2022-12-05T11:32:39",
"upload_time_iso_8601": "2022-12-05T11:32:39.139743Z",
"url": "https://files.pythonhosted.org/packages/87/e6/edd58d5a4e13f831214a775eb9ec6d4bd61de47ff0543ec4cfb58c360e22/etcpak-0.9.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "85c4113f484f82f5f183a4bc8ae8b687",
"sha256": "89b97ebe4b05556f923968fac97767379947b0a3ff4f458cc355c4cf81d8179e"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "85c4113f484f82f5f183a4bc8ae8b687",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 31565,
"upload_time": "2022-12-05T11:32:40",
"upload_time_iso_8601": "2022-12-05T11:32:40.238196Z",
"url": "https://files.pythonhosted.org/packages/94/fa/7d2c7e33532a49e70677536e83ffc320fe966204e061ad453513cd6392a2/etcpak-0.9.8-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "e49139a6952e6a8e7de2a022b7dfa0ca",
"sha256": "93826e49f3edc9eb833f7097adde364252ea07c1fa634dc8c50faf54ce13e258"
},
"downloads": -1,
"filename": "etcpak-0.9.8-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "e49139a6952e6a8e7de2a022b7dfa0ca",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 35250,
"upload_time": "2022-12-05T11:32:41",
"upload_time_iso_8601": "2022-12-05T11:32:41.463690Z",
"url": "https://files.pythonhosted.org/packages/52/1a/b308030fabeca91be9b7b413abb490c097ac05364fd84fa9e1d6a228a049/etcpak-0.9.8-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "411c08839c7a1fc3b5bc0e4d50ce0648",
"sha256": "c6b52c9da0fbeae02626b483bda16d2ec9622a85839fbfdc1ad666ce02f5fe2a"
},
"downloads": -1,
"filename": "etcpak-0.9.8.tar.gz",
"has_sig": false,
"md5_digest": "411c08839c7a1fc3b5bc0e4d50ce0648",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 56586,
"upload_time": "2022-12-05T11:32:42",
"upload_time_iso_8601": "2022-12-05T11:32:42.556080Z",
"url": "https://files.pythonhosted.org/packages/52/c0/98962de8a6d2c8416326d3c343efceca8a2da6e58beb4ca05936b7292075/etcpak-0.9.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-05 11:32:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "K0lb3",
"github_project": "etcpak",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etcpak"
}