Space-efficient patch-based image collection format
Project description
impak
Space-efficient patch-based image collection format.
Example
import re
from tqdm import tqdm
import impak
from pathlib import Path
def natural_sort_key(path: Path) -> list:
return [int(c) if c.isdigit() else c.lower() for c in re.split(r"(\d+)", path.name)]
paths = sorted(Path("Ganyu X Slime/").glob("*.png"), key=natural_sort_key)
# A fast and straight forward, automatic method. The default method.
# Possibly produces a smallest file, but it really depends.
with impak.create("Ganyu X Slime_lto.impak",
mode="lto", codec="webp", quality=95
) as pack:
for path in tqdm(paths, desc="Encoding using impak"):
pack.add(path, name=path.stem)
Usage
Run impak --help, or check documentations in /docs folder.
Build
uv pip install build twine setuptools wheel
uv run --active python -m build
twine check dist/*
uv pip install dist/impak-xxxx.whl
uv run --active python -m twine upload dist/*
License
impak is licensed under the GNU Affero General Public License v3.0.
See LICENSE for full text.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file impak-0.1.1.tar.gz.
File metadata
- Download URL: impak-0.1.1.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3989859f69bf77755b7a663ae912ebbcb9f52e576142e07b41129089ce29c08
|
|
| MD5 |
7dbb076df5bef5ad6bf6e496839a4050
|
|
| BLAKE2b-256 |
e4f49e48ffa481501c81070c1f1a54f484ed9f4700b078bf0c329e1211b1dd3b
|
Provenance
The following attestation bundles were made for impak-0.1.1.tar.gz:
Publisher:
python-publish.yml on puff-dayo/impak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
impak-0.1.1.tar.gz -
Subject digest:
c3989859f69bf77755b7a663ae912ebbcb9f52e576142e07b41129089ce29c08 - Sigstore transparency entry: 1133286366
- Sigstore integration time:
-
Permalink:
puff-dayo/impak@08c2efa4524778f3ad4e0f100e00f0516a59d096 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/puff-dayo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@08c2efa4524778f3ad4e0f100e00f0516a59d096 -
Trigger Event:
release
-
Statement type:
File details
Details for the file impak-0.1.1-py3-none-any.whl.
File metadata
- Download URL: impak-0.1.1-py3-none-any.whl
- Upload date:
- Size: 32.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
782f123a5bb29933bad2b42dece113bcfaef6e8ae2c1974b07cbc2da5faed7da
|
|
| MD5 |
0c81669ef0c81d69808cbf400ad3bb9e
|
|
| BLAKE2b-256 |
0f63dab3cca9b101eeeae35e511157e005fa425c44f9031954c9d043f795b61a
|
Provenance
The following attestation bundles were made for impak-0.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on puff-dayo/impak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
impak-0.1.1-py3-none-any.whl -
Subject digest:
782f123a5bb29933bad2b42dece113bcfaef6e8ae2c1974b07cbc2da5faed7da - Sigstore transparency entry: 1133286379
- Sigstore integration time:
-
Permalink:
puff-dayo/impak@08c2efa4524778f3ad4e0f100e00f0516a59d096 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/puff-dayo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@08c2efa4524778f3ad4e0f100e00f0516a59d096 -
Trigger Event:
release
-
Statement type: