Skip to main content

A simpler wrapper around qoi (https://github.com/phoboslab/qoi)

Project description

QOI

A simple Python wrapper around qoi, the "Quite OK Image" format.

Install

pip install qoi

Develop

Clone

git clone --recursive https://github.com/kodonnell/qoi/
python -m pip install --upgrade build
python -m build

Build

python setup.py sdist bdist_wheel

Publish

python -m twine upload  repository testpypi dist/*

TODO:

  • Add in setuptools_scm and figure out that nicely.
  • Add build/publish pipeline (inc. running tests) and wheels via cibuildwheel.
  • Create a qoi CLI
  • Add some benchmarks and compare with qoi
  • Add example usage to README
  • More tests!
  • Allow Path as argument for filename.
  • Why does write fail without a .qoi extension? If that's valid, raise a proper exception.
  • Add version to ._version as per setuptools_scm ... for some reason it breaks when we add an __init__.py.
  • Return the colorspace in read/decode.

Discussion

Wrap or rewrite?

For now, this is just a simple wrapper. We'll leave the original project to do all the hard work on performance etc., and also maintaining (or not) compatibility or adding new features etc. We make no claims to do any more than that - we're basically just porting that C functionality to (C)Python.

On the name

For now, let's rock with qoi because

  • We're already in python, and the py in pyqoi seems redundant. For what it's worth, 3 < 5.
  • pyqoi seems like a good name for a python-only version of QOI (useful for pypy etc.), which this isn't.
  • qoi is generally new so let's not overthink it for now. We can always rename later if needed.

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

qoi-0.0.1.tar.gz (61.2 kB view details)

Uploaded Source

File details

Details for the file qoi-0.0.1.tar.gz.

File metadata

  • Download URL: qoi-0.0.1.tar.gz
  • Upload date:
  • Size: 61.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11

File hashes

Hashes for qoi-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9c54187d3a404ede2bf874a2cf46ac61e24024944c25c838a96e3eaec9dbb915
MD5 f3e21bba53a26c41a264fc7be3d6c216
BLAKE2b-256 f1b2d27bd9c75534c5ddc3995ae049c31dcb2beb93b754dc389f15f233959a47

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page