Package: yoga
YOGAis a command-line tool and a library that can:convert and optimize images from various format to JPEG, PNG and WEBP,convert and optimize 3D models from various formats toglTF and GLB.Imagesare opened usingPillowand optimized usingGuetzli(for JPEGs),Zopflipng(for PNGs) andlibwebp(for WEBPs).3D Modelsare converted and optimized usingassimp. If models contain or
reference images, they are processed by YOGA’s image optimizer.EXAMPLE: Converting and optimizing an image from CLI:yoga  image  input.png  output.png
yoga  image  --output-format=jpeg  --jpeg-quality=84  input.png  output.jpg
yoga  image  --helpEXAMPLE: Converting and optimizing a 3D model from CLI:yoga  model  input.fbx  output.glb
yoga  model  --no-graph-optimization  --no-meshes-optimization  --image-output-format=jpeg  --image-jpeg-quality=84  input.fbx  output.glb
yoga  model  --helpInstallSeethe install section of the documentationDocumentationCommand Line Interface (CLI)Python APIContributingChangelog[NEXT](changes onmasterthat have not been released yet):Nothing yet ;)v1.3.1:chore(sdist): Fixed included files in sdist packagev1.3.0:feat(assimp): Updated assimp to v5.3.1 (fixed build on GCC >= 13)chore: Removed a script that is no more neededdocs: Updated contributing documentation (libraries, supported Python
version, assimp update)v1.2.3:Code quality: more robust type comparison (@flozz)Code quality: cleanup some Python 2.7 specific code (@flozz)Added Python 3.12 support (@flozz)Removed Python 3.7 support (@flozz)v1.2.2:Updated the code to not use deprecated constants on newer Pillow versionsVarious typo fixed (@kianmeng, #45)Added Python 3.11 supportv1.2.1:No change: fix an upload error on PYPIv1.2.0:Add color quantization options (based on libimagequant)arm64anduniversal2wheels for macOSx86andx68_64wheels for musl-based Linux distro (Alpine,…)MAINTAINERS:New dependency:imagequantv1.1.2:Add flag to CFFI builder to fix MacOS buildv1.1.1 (not published):JPEG: ignore invalid values for the orientation tag (#38)Python 3.10 support and wheelsv1.1.0:JPEG Optimization:Honor the JPEG orientation EXIF tagJPEG optimization has been improved by using some optimizations from
MozJPEG after the Guetzli encoding (from 2.4 % to 7.3 % of additional size
reduction)PNG Optimization:YOGA can no more output a PNG larger than the input one when performing
a PNG to PNG optimizationCLI:Allow to cancel an optimization using Ctrl+C (NOTE: may not work on
Windows)Add a--versionoption to get YOGA’s versionImproveyoga--helpusagePython versions:Python 2.7 support droppedNOTE for packagers:new dependency tomozjpeg-lossless-optimizationv1.0.0:WEBP (lossy and lossless) images supported as output formatPNG default optimization preset changed to a 10× faster preset (old preset
still available with--png-slow-optimizationflag)New model flag--no-fix-infacing-normalsto disable Assimp’s “fix
infacing normals” postprocess (#32, #33)Show CLI usage when no parameter givenDeveloper documentation improved (#31)ASSIMP library updatedWARNING: This is the last version to actively support Python 2.7!v0.11.1:Automated workflow for deploying the PyPI packagesWheel are now distributed on PyPIv0.11.0:Allows to build YOGA on WindowsScripts and workflow to build Windows standalone versionsv0.10.2:Updates assimp and python librariesv0.10.1:Fixes an issue that occurs when output file does not already existv0.10.0:Prevent overwriting of the output file when an error occurs (#17)Unicode path support (#16)v0.10.0b1:Verbose and quiet modes,Allows to pass textures from memory instead of looking on the filesystem,Allows to pass a fallback texture instead of raising an error.v0.9.1b1:Automatic selection of the output format (png or jpeg),Prevent duplication of textures that are shared between materials,Fixes Windows paths of textures.v0.9.0b1:First release (only GLB output for models, no image auto
output format)