Skip to main content

Yummy Optimizer for Gorgeous Assets

Project description

Github Discord PYPI Version Build Status Black License

YOGA is 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 to glTF and GLB.

Images are opened using Pillow and optimized using Guetzli (for JPEGs), Zopflipng (for PNGs) and libwebp (for WEBPs).

3D Models are converted and optimized using assimp. 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  --help

EXAMPLE: 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  --help

Install

Documentation

Changelog

  • 1.0.0:

    • WEBP (lossy and lossless) images supported as output format

    • PNG default optimization preset changed to a 10× faster preset (old preset stil available with --png-slow-optimization flag)

    • New model flag --no-fix-infacing-normals to disable Assimp’s “fix infacing normals” postprocess (#32, #33)

    • Show CLI usage when no parameter given

    • Developer documentation improved (#31)

    • ASSIMP library updated

    • WARNING: This is the last version to actively support Python 2.7!

  • 0.11.1:

    • Automated workflow for deploying the PyPI packages

    • Wheel are now distributed on PyPI

  • 0.11.0:

    • Allows to build YOGA on Windows

    • Scripts and workflow to build Windows standalone versions

  • 0.10.2:

    • Updates assimp and python libraries

  • 0.10.1:

    • Fixes an issue that occures when output file does not already exist

  • 0.10.0:

    • Prevent overwriting of the output file when an error occurs (#17)

    • Unicode path support (#16)

  • 0.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.

  • 0.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.

  • 0.9.0b1: First release (only GLB output for models, no image auto output format)

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

yoga-1.0.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

yoga-1.0.0-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

yoga-1.0.0-cp39-cp39-manylinux2010_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

yoga-1.0.0-cp39-cp39-manylinux2010_i686.whl (6.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ i686

yoga-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

yoga-1.0.0-cp38-cp38-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.8Windows x86-64

yoga-1.0.0-cp38-cp38-manylinux2010_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

yoga-1.0.0-cp38-cp38-manylinux2010_i686.whl (6.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

yoga-1.0.0-cp38-cp38-macosx_10_14_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

yoga-1.0.0-cp37-cp37m-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.7mWindows x86-64

yoga-1.0.0-cp37-cp37m-manylinux2010_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

yoga-1.0.0-cp37-cp37m-manylinux2010_i686.whl (6.7 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

yoga-1.0.0-cp37-cp37m-macosx_10_14_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

Details for the file yoga-1.0.0.tar.gz.

File metadata

  • Download URL: yoga-1.0.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a4e7010969602b42af2ca74c95126ee533e3cf9ea9fdaa0c5c316eec7d985f53
MD5 5e2bbd472e86d0d8074c3e86d6c5a10a
BLAKE2b-256 0a133f24933cd80c886d36f68ea040336080c549a260b72dffc8665530962d74

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9aaccf25e53fa3764e8f59b898bf03edefd9fd6d591e09bd5c25542df8287681
MD5 18e17bd790581c23c1c45f8012dc31df
BLAKE2b-256 7a0cd9f0cc37dd0bb3de3ec96e2c6c21bcc778a1f3638119c3007e8db546b2d4

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8fe3103bc4e87eb52e6434f5d8b6c7e97eba6a4729744ece631e79260ef6baaa
MD5 0d05433225e29b08610187452741004d
BLAKE2b-256 7f290d547c74e58af5091b72c4914188218b94af27e018e4c7147832a739b32c

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: yoga-1.0.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 83818832dddcd04ad6a7cb4559c42737c73791c66813e91d754f4f6ec8fb9735
MD5 45303ee6be970ea2ccfc4a6977fddb29
BLAKE2b-256 c5f144aaa835a0a8aee65755193309bb451f5650b96d42962048454ecba89d02

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e6efece7806d30e76c4bc7070b73161de73c3ee0c98403385eb10b2776f4d100
MD5 6067b993c15b39c6c0730428e89b05b3
BLAKE2b-256 54ba1131e5f379cbf7a3ca494d1edb472857280920139bedca54c3a192aa8db2

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d04a4e8304e7e3c5848efb5529313abd34d34b816a514248dd4c883f405ff2fb
MD5 700b4c9b738dda059a64a524eb33ee4e
BLAKE2b-256 b85b9415e8f4feda6aca863d169bff5e40a2238676f0761483a67b69b8de19f8

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 58011169a2ae7f24307076895aad85a51c7b4c573a94187675260759605b291b
MD5 9da618729b143d7ed6c89a976c89dcbf
BLAKE2b-256 f3ee1b83cb99389b514c6e3f08489c7578484162ce67b7879e3c1d3175119943

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: yoga-1.0.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 ea7d30eb95b44147c93a485ab8bf4754cd1b0fc6e2381a2198a4927799067223
MD5 575de0c36a76df77de5ed36948e8d82a
BLAKE2b-256 aab1e325c58a1c104976b212a57eb84226c3e82f16cdd3c55079623e46b56330

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e54c70360cc6da226ddd11e84c4efb6deaca35da8efd4dbf7326441858e4c203
MD5 948fdd0bdf20b05fac232e9f55e854be
BLAKE2b-256 4a130803823fefb05389bc3c8b8b422f0e567162a9fe6ea8d496fa165bf720c0

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 90eaf8ccd30f4f2712aa294fac00c91f6f7cd36498e016e85515b9d928e919de
MD5 7332c0efa9d6010b12717bc6418b2e5c
BLAKE2b-256 fb0c3ea370aa4b6f719beb8bdeb105c22823c23e3336f1ac8f5a847058ada9f4

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 60d604f4bea65115ef1e74d717bb8d31775a437be69457f85d84a7235afb9f5d
MD5 73a1aac0c49b6a64634bc7a2a969ce34
BLAKE2b-256 abdb505dd6b64016077d90567aa581ba7a49abcfbf8dc75bea618c27b23388fe

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: yoga-1.0.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 ff407f3cd30ed75b7cb677fc39370995bb6c89894ec77951bbc312a6b7be01d6
MD5 bda0bb57a8b23fa048256072910e635d
BLAKE2b-256 05dc268301cfe99dbdacd87f3c39ed4de16a0dd33b401a746af640935f2e448a

See more details on using hashes here.

File details

Details for the file yoga-1.0.0-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: yoga-1.0.0-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for yoga-1.0.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4c4f3bb47044ece2d3208d610af174070272d0c814881285f83cf88aba22e31b
MD5 8f303d1a918502f99a446165408a9ea2
BLAKE2b-256 c0f2aea9a563b731626396eea659c05b31a47730d12ddb59387713badb37123b

See more details on using hashes here.

Supported by

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