Convert between image and High Efficiency Image (HEIC/AVIF) with ease.
Project description
Heiya
A one-line solution for photographers to simply convert JPEG into HEI(High Efficiency Image) with HEIC/AVIF and preserve all the metadata.
Introduction
Heiya allows you to easily translate between JPG/TIFF and HEIC/AVIF, without losing image metadata such as geotag and lens information. All the common operations can be done using one line of code.
It is developed for photographers with a storage budget (like myself, lol) to build an automatic and efficient image storage pipeline.
JPEG was invented six years before my existence. I'm now 24, graduating from my double Master's degree next summer.
And yet, the majority of cameras in the current age still shoot JPEG.
HEIC and AVIF are what are called "High-Efficiency Images" (You can read about them here: AVIF vs HEIC).
- These are the future of media formats, JPEG is getting deprecated.
- They can result in a file size of as much as 100x less than traditional JPEGs.
- Devices and operating systems now have good support for both formats.
- However, there are no free and easy-to-use tools out there to simply encode all the JPEGs my camera took into AVIFs while preserving metadata.
Install Heiya from PyPI
Heiya is developed and tested on macOS and hasn't been tested on Linux, it doesn't support Windows for now.
pip install heiya
Examples
A complete set of heiya examples can be found in the Heiya Demo Notebook.
To-Do & Help Needed
- Seek alternative for
pyheif
(Which is why Heiya does not support Windows). - Attempt an implementation using
imagemagick
to enable bitrate higher than the current 8 bit.
What does the name mean?
- HEI - High Efficiency Image.
- Ya - In Chinese, 压(yā) means "to compress".
But mostly just a reference to uncle Roger's "Heiya" when he saw the BBC host rinse and drain cooked rice with tap water (smh... here's the video).
Update History
A complete update log can be found in the HISTORY.md.
License
Heiya is distributed with the license in LICENSE.txt.
Change log
[1.2.2] - 2022-10-15
- Fixed a minor issue for meta transfer not being able to properly loaded to the machine.
[1.2.1] - 2022-10-15
- Fixed a minor issue for meta transfer not being able to properly loaded to the machine. (Fix did not work)
[1.2.0] - 2022-10-15
- Added
meta_transfer.batch_img_meta_transfer()
for batch film digitizing workflow.
[1.1.0] - 2022-10-15
- Added
meta_transfer.img_meta_transfer()
for easier film digitizing workflow.
[1.0.0] - 2022-10-04
- First official release, with all the code cleaned up and properly documented.
[0.1.4] - 2022-10-03
- Rewrote some of the old comments and docstring that doesn't make sense anymore.
[0.1.3] - 2022-10-02
- Fixed minor bug where the log does not appear properly when transcoding multiple formats.
[0.1.2] - 2022-10-02
- Renamed
he_jpg.py
tohe_img.py
for better file type support. - Fixed a potential issue that can delete all JPG when using the old
heiya.he_jpg
.
[0.1.1] - 2022-10-02
- Wrote a more intuitive
READEME.md
, and updatedhaiya_demo.ipynb
on Github.
[0.1.0] - 2022-10-02
- Attempting to fix an issue of incorrect param call from
heiya.he_jpg.convert_jpg_to_he_jpg
.
[0.0.9] - 2022-10-02
- Unsuccessful fix for an issue of incorrect param call from
heiya.he_jpg.convert_jpg_to_he_jpg
.
[0.0.8] - 2022-10-02
- Standarized function names for
from_hei
andto_hei
.
[0.0.7] - 2022-10-02
- Fixed an issue of internal packages not being able to properly import.
[0.0.6] - 2022-10-02
- Added extensions and tools to
__init__.py
to fix referencing issue.
[0.0.5] - 2022-10-02
- Removed the requirement for
glob
.
[0.0.4] - 2022-10-02
- Removed the requirement for
os
.
[0.0.3] - 2022-10-02
- Code cleanup.
[0.0.2] - 2022-10-02
- Initial upload.
[0.0.1] - 2022-10-01
- Created the project.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file heiya-1.2.2.tar.gz
.
File metadata
- Download URL: heiya-1.2.2.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b76cb0245afa1b432e97c1a175b793a1207f2e5552edb11e72a7afc5819054d2 |
|
MD5 | 827f46cb4f783c192534d0043c6c9398 |
|
BLAKE2b-256 | 1a8b43c043d5f0cf6cc5be3e4bbcaabd72e0e941ed21213665d61b2109aaf421 |
File details
Details for the file heiya-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: heiya-1.2.2-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 174bb32aeab0c822a4220741989beea8ba6b6592176d6cfeb7682444e9caefe4 |
|
MD5 | 81efaaea00984ec9e72e1f8de7a317ab |
|
BLAKE2b-256 | e31ef7541eedafaa6686cd71c22b4e5b357f5fcf2fd3e67eec9a535f30c3b717 |