{"id":13880109,"url":"https://github.com/toy/image_optim_pack","last_synced_at":"2025-05-16T09:05:00.316Z","repository":{"id":22358028,"uuid":"25694080","full_name":"toy/image_optim_pack","owner":"toy","description":"Precompiled binaries for image_optim","archived":false,"fork":false,"pushed_at":"2025-04-26T21:46:03.000Z","size":80080,"stargazers_count":77,"open_issues_count":3,"forks_count":13,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-26T22:27:12.706Z","etag":null,"topics":["image-optimisation","image-optimization","ruby"],"latest_commit_sha":null,"homepage":"https://github.com/toy/image_optim","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toy.png","metadata":{"files":{"readme":"README.markdown","changelog":"CHANGELOG.markdown","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-10-24T15:10:58.000Z","updated_at":"2025-04-24T12:47:11.000Z","dependencies_parsed_at":"2023-10-11T19:19:57.105Z","dependency_job_id":"78f9225e-1127-4e85-974a-dd012e3d4f05","html_url":"https://github.com/toy/image_optim_pack","commit_stats":{"total_commits":550,"total_committers":2,"mean_commits":275.0,"dds":0.009090909090909038,"last_synced_commit":"3f75bc05f90441dc0e0e7eb3dd72385c97076fe6"},"previous_names":[],"tags_count":125,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toy%2Fimage_optim_pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toy%2Fimage_optim_pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toy%2Fimage_optim_pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toy%2Fimage_optim_pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toy","download_url":"https://codeload.github.com/toy/image_optim_pack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501557,"owners_count":22081528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["image-optimisation","image-optimization","ruby"],"created_at":"2024-08-06T08:02:47.559Z","updated_at":"2025-05-16T09:04:55.295Z","avatar_url":"https://github.com/toy.png","language":"Ruby","readme":"[![Gem Version](https://img.shields.io/gem/v/image_optim_pack?logo=rubygems)](https://rubygems.org/gems/image_optim_pack)\n[![Check](https://img.shields.io/github/actions/workflow/status/toy/image_optim_pack/check.yml?label=check\u0026logo=github)](https://github.com/toy/image_optim_pack/actions/workflows/check.yml)\n[![Rubocop](https://img.shields.io/github/actions/workflow/status/toy/image_optim_pack/rubocop.yml?label=rubocop\u0026logo=rubocop)](https://github.com/toy/image_optim_pack/actions/workflows/rubocop.yml)\n[![Docker build](https://img.shields.io/github/actions/workflow/status/toy/image_optim_pack/docker-build.yml?label=docker+build\u0026logo=docker)](https://github.com/toy/image_optim_pack/actions/workflows/docker-build.yml)\n[![Livecheck](https://img.shields.io/github/actions/workflow/status/toy/image_optim_pack/livecheck.yml?label=livecheck\u0026logo=github)](https://github.com/toy/image_optim_pack/actions/workflows/livecheck.yml)\n[![Build](https://img.shields.io/github/actions/workflow/status/toy/image_optim_pack/build.yml?label=build\u0026logo=github)](https://github.com/toy/image_optim_pack/actions/workflows/build.yml)\n[![Code Climate](https://img.shields.io/codeclimate/maintainability/toy/image_optim_pack?logo=codeclimate)](https://codeclimate.com/github/toy/image_optim_pack)\n[![Depfu](https://img.shields.io/depfu/toy/image_optim_pack)](https://depfu.com/github/toy/image_optim_pack)\n[![Inch CI](https://inch-ci.org/github/toy/image_optim_pack.svg?branch=master)](https://inch-ci.org/github/toy/image_optim_pack)\n\n# image\\_optim\\_pack\n\nPrecompiled binaries for [`image_optim`](https://github.com/toy/image_optim).\n\nContains binaries for Mac OS X (\u003e= 10.12, x86\\_64, arm64) and Linux (x86\\_64).\n\nA test application with latest `image_optim` and `image_optim_pack` is available on render: https://iopack.onrender.com/.\n\n## Binaries and libraries\n\n* [advpng](https://www.advancemame.it/doc-advpng.html) by Andrea Mazzoleni and Filipe Estima ([GNU GPLv3](acknowledgements/advancecomp.txt))\n\t* contains parts of [7z](https://7-zip.org) by Igor Pavlov with modifications by Andrea Mazzoleni ([license](acknowledgements/7z.txt))\n\t* and [zopfli](https://code.google.com/p/zopfli/) by Lode Vandevenne and Jyrki Alakuijala ([license](acknowledgements/zopfli.txt), [contributors](acknowledgements/zopfli-contributors.txt))\n* [gifsicle](https://lcdf.org/gifsicle/) by Eddie Kohler ([GNU GPLv2](acknowledgements/gifsicle.txt))\n* [jhead](https://www.sentex.ca/~mwandel/jhead/) by Matthias Wandel ([public domain](acknowledgements/jhead.txt))\n* [jpeg-recompress](https://github.com/danielgtaylor/jpeg-archive) by Daniel G. Taylor ([license](acknowledgements/jpeg-archive.txt))\n\t* includes [Image Quality Assessment (IQA)](http://tdistler.com/iqa/) by Tom Distler ([license](acknowledgements/iqa.txt))\n\t* includes [SmallFry](https://github.com/dwbuiten/smallfry) by Derek Buitenhuis ([license](acknowledgements/smallfry.txt))\n\t* statically linked against mozjpeg, see below\n* [jpegoptim](https://www.kokkonen.net/tjko/projects.html) by Timo Kokkonen ([GNU GPLv2](acknowledgements/jpegoptim.txt) or later)\n* [libjpeg and jpegtran](https://ijg.org/) by the Independent JPEG Group ([license](acknowledgements/libjpeg.txt))\n* [libjpeg-turbo](https://www.libjpeg-turbo.org/) by libjpeg-turbo Project ([license](acknowledgements/libjpeg-turbo.txt))\n\t* based on libjpeg, see above\n\t* includes [x86 SIMD extension for IJG JPEG library](https://cetus.sakura.ne.jp/softlab/jpeg-x86simd/jpegsimd.html) by Miyasaka Masaru ([license](acknowledgements/libjpeg-x86-simd.txt))\n* [liblcms2](https://littlecms.com) by Marti Maria ([license](acknowledgements/liblcms2.txt))\n* [libpng](http://libpng.org/pub/png/) by Guy Eric Schalnat, Andreas Dilger, Glenn Randers-Pehrson and others ([license](acknowledgements/libpng.txt))\n* [mozjpeg](https://github.com/mozilla/mozjpeg) by Mozilla Research ([license](acknowledgements/mozjpeg.txt))\n\t* base on libjpeg and libjpeg-turbo, see above\n* [optipng](http://optipng.sourceforge.net/) by Cosmin Truta ([license](acknowledgements/optipng.txt), [authors](acknowledgements/optipng-authors.txt))\n\t* contains code based in part on the work of Miyasaka Masaru for BMP support ([license](acknowledgements/bmp2png.txt))\n\t* and David Koblas for GIF support ([license](acknowledgements/gifread.txt))\n* [oxipng](https://github.com/shssoichiro/oxipng) by Joshua Holmer ([license](acknowledgements/oxipng.txt))\n* [pngcrush](https://pmt.sourceforge.io/pngcrush/) by Glenn Randers-Pehrson, portions by Greg Roelofs ([license](acknowledgements/pngcrush.txt))\n\t* contains [cexcept](http://www.nicemice.net/cexcept/) interface by Adam M. Costello and Cosmin Truta ([license](acknowledgements/cexcept.txt))\n* [pngout](http://advsys.net/ken/utils.htm) by Ken Silverman ([license](acknowledgements/pngout.txt))\n\t* Linux and BSD ports by Jonathon Fowler (http://www.jonof.id.au/pngout)\n\t* Mac OS X port by Ken Silverman, with assistance by Jonathon Fowler\n* [pngquant](https://pngquant.org/) by Kornel Lesiński based on code by Greg Roelofs and Jef Poskanzer after an idea by Stefan Schneider ([license](acknowledgements/pngquant.txt))\n* [zlib](https://zlib.net/) by Jean-Loup Gailly and Mark Adler ([license](acknowledgements/zlib.txt))\n\n**NOTE: On FreeBSD and OpenBSD `make` is not the GNU Make, so `gmake` should be used instead.**\n\nYou can download all source code using gnu make download target:\n\n```sh\nmake download\n```\n\n## Installation\n\n```sh\ngem install image_optim image_optim_pack\n```\n\nOr add to your `Gemfile`:\n\n```ruby\ngem 'image_optim'\ngem 'image_optim_pack'\n```\n\n## Development\n\nMac OS X binaries and libraries are built on host, others using containers.\n\n```sh\nscript/run # Build and test all for all oses and architectures\nscript/run NO_HALT=1 # Don't halt VMs after building\nscript/run NO_UP=1 # Don't start VMs before building (will fail if not already running)\nscript/run darwin 64 # Build only platforms matching darwin or 64\n\nmake # Build all tools and copy them to vendor/OS-ARCH for current OS and ARCH, then test\nmake all # same\n\nscript/livecheck # Check versions\nmake update-versions # Update versions in Makefile\n\nmake download # Download archives\nmake download-tidy-up # Remove old archives\nmake build # Build all without copying to output directory\n\nmake test # Test bins for current os/arch\nmake test -i # Continue if one of bins fail\n\nmake clean # Remove build and output directories for current os/arch\nmake clean-all # Remove build root and output root directories\nmake clobber # `clean-all` and remove download directory\n```\n\n## Docker\n\nThis project includes a `Dockerfile` in the root, which builds a minimal image with most binaries included.\n\n#### Running\n\n```bash\ndocker run --rm ghcr.io/toy/image_optim --version # image_optim version\ndocker run --rm ghcr.io/toy/image_optim --info # image_optim info including bin versions\ndocker run --rm -v \"$PWD\":/here -w /here ghcr.io/toy/image_optim image-in-this-folder.jpg\n```\n\n#### Building\n\n```bash\nmake docker-build # will be tagged with latest and current date in format %Y%m%d\nmake docker-push # will push tags created by docker-build\n```\n\n## Copyright\n\nCopyright (c) 2014-2025 Ivan Kuchin. See [LICENSE.txt](LICENSE.txt) for details.\n","funding_links":[],"categories":["Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoy%2Fimage_optim_pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoy%2Fimage_optim_pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoy%2Fimage_optim_pack/lists"}