{"id":15628397,"url":"https://github.com/softcreatr/imei","last_synced_at":"2026-04-13T02:22:24.493Z","repository":{"id":39570333,"uuid":"290957380","full_name":"SoftCreatR/imei","owner":"SoftCreatR","description":"IMEI - ImageMagick Easy Install","archived":false,"fork":false,"pushed_at":"2025-04-28T00:09:57.000Z","size":2476,"stargazers_count":324,"open_issues_count":0,"forks_count":39,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-28T01:23:43.946Z","etag":null,"topics":["aom","aomedia","avif","avif-decoder","avif-encoder","debian","hacktoberfest","heic","image-analysis","image-manipulation","image-processing","imagemagick","jpeg-xl","jpg","jxl","libaom","libjxl","png","ubuntu","webp"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoftCreatR.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"softcreatr","custom":["https://ecologi.com/softcreatr?r=61212ab3fc69b8eb8a2014f4"]}},"created_at":"2020-08-28T05:17:05.000Z","updated_at":"2025-04-28T00:10:00.000Z","dependencies_parsed_at":"2023-09-24T01:30:09.354Z","dependency_job_id":"4c122638-7953-4841-a26b-5838ed2a8157","html_url":"https://github.com/SoftCreatR/imei","commit_stats":{"total_commits":427,"total_committers":13,"mean_commits":32.84615384615385,"dds":"0.43793911007025765","last_synced_commit":"627993ac48bcc4a31eade0b52271728c297208cb"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftCreatR%2Fimei","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftCreatR%2Fimei/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftCreatR%2Fimei/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftCreatR%2Fimei/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoftCreatR","download_url":"https://codeload.github.com/SoftCreatR/imei/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478193,"owners_count":22077676,"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":["aom","aomedia","avif","avif-decoder","avif-encoder","debian","hacktoberfest","heic","image-analysis","image-manipulation","image-processing","imagemagick","jpeg-xl","jpg","jxl","libaom","libjxl","png","ubuntu","webp"],"created_at":"2024-10-03T10:22:24.207Z","updated_at":"2026-04-13T02:22:24.485Z","avatar_url":"https://github.com/SoftCreatR.png","language":"Shell","funding_links":["https://github.com/sponsors/softcreatr","https://ecologi.com/softcreatr?r=61212ab3fc69b8eb8a2014f4"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\n# IMEI - ImageMagick Easy Install\n#### Signed ImageMagick `.deb` packages for Debian and Ubuntu, with pre-built releases and local package builds.\n\n[![Release Packages](https://img.shields.io/github/actions/workflow/status/SoftCreatR/imei/main.yml?branch=main\u0026style=flat-square)](https://github.com/SoftCreatR/imei/actions/workflows/main.yml)\n[![CI](https://img.shields.io/github/actions/workflow/status/SoftCreatR/imei/ci.yml?branch=main\u0026label=ci\u0026style=flat-square)](https://github.com/SoftCreatR/imei/actions/workflows/ci.yml)\n[![GitHub release](https://img.shields.io/github/release/SoftCreatR/imei?style=flat-square)](https://github.com/SoftCreatR/imei/releases)\n[![GitHub license](https://img.shields.io/github/license/SoftCreatR/imei?style=flat-square\u0026color=lightgray)](LICENSE.md) [![Plant Tree](https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=Plant%20Tree\u0026query=%24.total\u0026url=https%3A%2F%2Fpublic.ecologi.com%2Fusers%2Fsoftcreatr%2Ftrees\u0026style=flat-square)](https://ecologi.com/softcreatr?r=61212ab3fc69b8eb8a2014f4)  [![Installs](https://img.shields.io/badge/dynamic/json?style=flat-square\u0026color=blue\u0026label=installs\u0026query=value\u0026url=https://dist.1-2.dev/imei.php?cnt)](https://github.com/SoftCreatR/imei#one-step-automated-install)\n\n[![Codacy grade](https://img.shields.io/codacy/grade/db0b2b5f22454f4280e4623de9f7075f?style=flat-square\u0026label=codacy%20grade)](https://app.codacy.com/gh/SoftCreatR/imei/dashboard) [![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/SoftCreatR/imei?style=flat-square\u0026label=codefactor%20rating)](https://www.codefactor.io/repository/github/softcreatr/imei)\n\n\u003c/div\u003e\n\n---\n\n## What IMEI Does\n\nIMEI installs ImageMagick and selected delegate libraries as proper Debian packages instead of running `make install` directly on the target system.\n\nThat gives you two installation paths:\n\n* pre-built signed `.deb` packages for supported release targets\n* local package builds for older systems or custom build options\n\nIn both cases, the end result is still managed by `apt` / `dpkg`, so removal stays clean.\n\n## Why IMEI Exists\n\nIMEI is meant to solve the two common problems with ad-hoc ImageMagick install scripts:\n\n* building everything on the target machine can take too long\n* hand-installed files are hard to remove cleanly later\n\nIMEI keeps the convenience of an install script, but the actual installation happens through generated `.deb` packages.\n\n## Security Model\n\nIMEI verifies signatures in two places by default:\n\n* the local `imei.sh` script verifies itself against `imei.sh.sig`\n* pre-built release installs verify signed release metadata before any `.deb` is installed\n\nThe release install path verifies:\n\n* `release-manifest.env`\n* `SHA256SUMS`\n* the downloaded package hashes listed in `SHA256SUMS`\n\nIMEI supports key rotation through the files in `keys/`. New signatures can point to a specific public key by key id, while older signatures can still be preserved in the keyring.\n\nNotes:\n\n* `--no-sig-verify` disables only installer self-verification and is intended for local development or recovery cases\n* self-update only trusts release bundles signed by a key that already exists in the local keyring\n* if you rotate to a brand-new key that is not yet trusted locally, one manual keyring refresh is still required once\n\n## Compatibility\n\nPre-built release assets are currently intended for these `amd64` and `arm64` targets:\n\n* Debian 11 (Bullseye)\n* Debian 12 (Bookworm)\n* Debian 13 (Trixie)\n* Ubuntu 20.04 (**Focal** Fossa)\n* Ubuntu 22.04 (**Jammy** Jellyfish)\n* Ubuntu 24.04 (**Noble** Numbat)\n* Ubuntu 26.04 (**Resolute** Raccoon)\n\nOther Debian and Ubuntu systems, including Ubuntu non-LTS releases, or other architectures, can still use IMEI through local package builds.\n\n## Runtime Container\n\nIMEI also publishes a small runtime container image built from the released `ubuntu24.04` IMEI packages.\n\nImage:\n\n```bash\nghcr.io/softcreatr/imei-imagemagick:latest\n```\n\nExample:\n\n```bash\ndocker run --rm ghcr.io/softcreatr/imei-imagemagick:latest -version\n```\n\nThe container image is intentionally a secondary delivery format:\n\n* it uses one base target only: `ubuntu24.04` (amd64 / arm64)\n* it is meant to provide the full ImageMagick 7 runtime in Dockerized environments, including longer-lived containers\n* the primary supported install path for host systems remains the signed `.deb` packages\n\n## Package Layout\n\nIMEI currently builds and installs these packages:\n\n* `imei-libaom`\n* `imei-libheif`\n* `imei-libjxl`\n* `imei-imagemagick`\n\nThe private runtime stack is installed below `/opt/imei`.\n\n`imei-imagemagick` exposes the CLI tools through `/usr/bin`, while the delegate libraries remain under `/opt/imei` so IMEI does not overwrite distro `libaom`, `libheif`, or `libjxl` packages.\n\nUpgrade note:\n\n* older IMEI releases installed the ImageMagick commands under `/usr/local/bin` because they used a direct source install into `/usr/local`\n* the current default system install is package-managed, and Debian packages must not place managed files in `/usr/local`\n* existing automation that hard-codes `/usr/local/bin/magick`, `/usr/local/bin/identify`, or similar paths should be updated to use `/usr/bin`\n* if you need an isolated non-system prefix instead of `/usr/bin`, use `--user-install`\n\n## Default Behavior\n\nRunning `sudo ./imei.sh` does this:\n\n1. verifies the installer signature\n2. detects the local Debian/Ubuntu target\n3. checks whether a matching signed pre-built release exists\n4. installs pre-built packages when a match exists\n5. otherwise falls back to a local `.deb` build\n\nThis means supported current targets should normally use release assets, while older or customized installs automatically drop to the local build path.\n\n## Installation\n\nThe primary install path is the one-step bootstrap launcher:\n\n```bash\nt=$(mktemp) \u0026\u0026 \\\nwget 'https://dist.1-2.dev/imei.sh' -qO \"$t\" \u0026\u0026 \\\nbash \"$t\" \u0026\u0026 \\\nrm \"$t\"\n```\n\nManual verification of the bootstrap launcher still works too:\n\n```bash\nwget https://dist.1-2.dev/imei.sh \u0026\u0026 \\\nwget https://dist.1-2.dev/imei.sh.sig \u0026\u0026 \\\nwget https://dist.1-2.dev/imei.sh.pem \u0026\u0026 \\\nopenssl dgst -sha512 -verify imei.sh.pem -signature imei.sh.sig imei.sh\n```\n\nThe bootstrap launcher first tries to fetch the signed IMEI runtime bundle from the release assets. If that bundle is unavailable, it falls back to the repository source tree on `main`, where IMEI then follows its normal behavior: use pre-built packages when available, otherwise build locally.\n\nIf you want to pass options through the one-step installer, append them after `bash \"$t\"`:\n\n```bash\nt=$(mktemp) \u0026\u0026 \\\nwget 'https://dist.1-2.dev/imei.sh' -qO \"$t\" \u0026\u0026 \\\nbash \"$t\" --build-local \u0026\u0026 \\\nrm \"$t\"\n```\n\nManual checkout install:\n\n```bash\ngit clone https://github.com/SoftCreatR/imei \u0026\u0026 \\\ncd imei \u0026\u0026 \\\nchmod +x imei.sh \u0026\u0026 \\\nsudo ./imei.sh\n```\n\n## Self-Update\n\nTo update the local IMEI checkout itself:\n\n```bash\n./imei.sh --self-update\n```\n\nThis downloads the signed IMEI runtime bundle from the selected release and updates:\n\n* `imei.sh`\n* `scripts/*`\n* `versions/*`\n* the public keyring in `keys/*`\n\n## User Install Mode\n\nIMEI also supports an unprivileged source-build mode for installation into a user-owned prefix.\n\nExample:\n\n```bash\n./imei.sh --user-install\n```\n\nDefault user prefix:\n\n```bash\n~/.local/imei\n```\n\nCustom user prefix:\n\n```bash\n./imei.sh --user-install --prefix \"$HOME/.opt/imei\"\n```\n\nUser-install mode:\n\n* does not use `apt` or `dpkg`\n* does not install system-wide files under `/usr/bin`\n* does not provide package-managed removal\n* expects the required system build dependencies to already be installed\n\nAfter installation:\n\n```bash\n. \"$HOME/.local/imei/imei-env.sh\"\n```\n\nRemoval:\n\n```bash\nrm -rf \"$HOME/.local/imei\"\n```\n\n## Pre-Built Release Commands\n\nInstall only from release assets and fail instead of building locally:\n\n```bash\nsudo ./imei.sh --prebuilt-only\n```\n\nDownload release packages without installing them:\n\n```bash\nsudo ./imei.sh --download-only --keep-downloads\n```\n\nInstall from a specific release tag:\n\n```bash\nsudo ./imei.sh --release-tag im-7.1.2-18_aom-3.13.2_heif-1.21.2_jxl-0.11.2\n```\n\nTest against a different release repository:\n\n```bash\nsudo ./imei.sh --github-repository SoftCreatR/imei-private-test\n```\n\n## Local Build Commands\n\nForce a local package build:\n\n```bash\nsudo ./imei.sh --build-local\n```\n\nCommon examples:\n\n```bash\nsudo ./imei.sh --build-local --imagemagick-version 7.1.2-18\nsudo ./imei.sh --build-local --aom-version 3.13.2\nsudo ./imei.sh --build-local --libheif-version 1.21.2\nsudo ./imei.sh --build-local --jpeg-xl-version 0.11.2\nsudo ./imei.sh --build-local --imagemagick-quantum-depth 8\nsudo ./imei.sh --build-local --imagemagick-opencl\nsudo ./imei.sh --build-local --imagemagick-build-static\nsudo ./imei.sh --build-local --imagemagick-with-magick-plus-plus\nsudo ./imei.sh --build-local --imagemagick-with-perl\nsudo ./imei.sh --build-local --disable-delegate raqm\nsudo ./imei.sh --build-local --skip-jpeg-xl\nsudo ./imei.sh --build-local --work-dir /tmp/imei-build\nsudo ./imei.sh --build-local --output-dir /tmp/imei-dist\nsudo ./imei.sh --build-local --keep-build-deps\n```\n\n## PHP imagick\n\nIMEI does not ship a separate `php-imagick` package. To make PHP use the IMEI ImageMagick installation, rebuild the `imagick` extension against `/opt/imei`.\n\nImportant notes:\n\n* the distro `php-imagick` package is usually built against the distro ImageMagick libraries, not IMEI\n* `imagick` uses MagickCore and MagickWand, not Magick++, so `--imagemagick-with-magick-plus-plus` is not required\n* after upgrading IMEI to a newer ImageMagick release, rebuild the PHP `imagick` extension too\n\nRecommended path with PECL:\n\n```bash\nsudo apt install php-dev php-pear pkg-config\nsudo apt remove php-imagick --purge || true\nsudo pecl uninstall imagick || true\nsudo pecl channel-update pecl.php.net\n\nexport PKG_CONFIG_PATH=/opt/imei/lib/pkgconfig\nexport CPPFLAGS=\"-I/opt/imei/include\"\nexport LDFLAGS=\"-L/opt/imei/lib -Wl,-rpath,/opt/imei/lib\"\n\nprintf \"\\n\" | sudo -E pecl install imagick\n```\n\nEnable the extension if PECL did not already do it:\n\n```bash\nPHP_VERSION=\"$(php -r 'echo PHP_MAJOR_VERSION . \".\" . PHP_MINOR_VERSION;')\"\necho \"extension=imagick.so\" | sudo tee \"/etc/php/${PHP_VERSION}/mods-available/imagick.ini\" \u003e/dev/null\nsudo phpenmod imagick\n```\n\nRestart PHP afterward:\n\n```bash\nsudo systemctl restart php\"${PHP_VERSION}\"-fpm\n```\n\nIf you use Apache instead of PHP-FPM:\n\n```bash\nsudo systemctl restart apache2\n```\n\nVerify that PHP is using the IMEI build:\n\n```bash\nphp --ri imagick\nphp -r '$i = new Imagick(); print_r($i-\u003egetVersion());'\nphp -r '$i = new Imagick(); print_r($i-\u003equeryFormats(\"HEI*\"));'\nphp -r '$i = new Imagick(); print_r($i-\u003equeryFormats(\"AVIF\"));'\nphp -r '$i = new Imagick(); print_r($i-\u003equeryFormats(\"JXL\"));'\n```\n\nIf `pecl install imagick` still links against the wrong ImageMagick, build it manually:\n\n```bash\nsudo apt install php-dev pkg-config\nsudo apt remove php-imagick --purge || true\npecl download imagick\ntar -xf imagick-*.tgz\ncd imagick-*/\nphpize\n\nexport PKG_CONFIG_PATH=/opt/imei/lib/pkgconfig\nexport CPPFLAGS=\"-I/opt/imei/include\"\nexport LDFLAGS=\"-L/opt/imei/lib -Wl,-rpath,/opt/imei/lib\"\n\n./configure --with-php-config=\"$(command -v php-config)\"\nmake -j\"$(nproc)\"\nsudo make install\n```\n\n## Available Installer Options\n\nGeneral behavior:\n\n* without any options, `sudo ./imei.sh` verifies the installer, detects the local target, prefers a matching signed pre-built release, and falls back to a local package build if no supported release asset exists\n* most build-specific flags force the local build path automatically, because a published pre-built package cannot be reconfigured on the target machine\n\nInstaller path options:\n\n* `--build-local`\n  Forces a local build instead of using release assets. Default: off.\n* `--user-install`\n  Uses the unprivileged source-build backend and installs into a user-owned prefix such as `~/.local/imei`. Default: off.\n* `--prebuilt-only`\n  Restricts IMEI to release assets and fails if no exact pre-built target is available. Default: off.\n* `--download-only`\n  Downloads the selected release assets but does not install them. Default: off.\n* `--self-update`\n  Updates the local IMEI checkout itself from the signed self-update bundle instead of installing ImageMagick. Default: off.\n* `--download-dir \u003cdir\u003e`\n  Uses a custom directory for downloaded release assets. Default: a temporary directory.\n* `--keep-downloads`\n  Preserves downloaded release assets after install or download-only mode completes. Default: off.\n* `--no-sig-verify`\n  Skips only the local `imei.sh` self-signature check. Release metadata verification still applies to pre-built installs. Default: off.\n* `--release-tag \u003ctag\u003e`\n  Installs or downloads assets from a specific GitHub release tag instead of `latest`. Default: latest release.\n* `--github-repository \u003cowner/repo\u003e`\n  Uses another GitHub repository as the release source. Default: `SoftCreatR/imei`.\n* `--target \u003ctarget\u003e`\n  Overrides automatic target detection. Mainly useful for testing, CI, or release-asset inspection. Default: detected local target.\n* `--help`\n  Prints the built-in command help and exits.\n\nLocal build and user-install options:\n\n* `--prefix \u003cdir\u003e`\n  Overrides the install prefix for `--user-install`. Default: `~/.local/imei`. In the normal package-managed path, IMEI still installs under `/opt/imei`.\n* `--imagemagick-version \u003cversion\u003e`\n  Builds a specific ImageMagick release instead of the version pinned in `versions/imagemagick`.\n* `--aom-version \u003cversion\u003e`\n  Builds a specific `libaom` release instead of the pinned default.\n* `--libheif-version \u003cversion\u003e`\n  Builds a specific `libheif` release instead of the pinned default.\n* `--jpeg-xl-version \u003cversion\u003e`\n  Builds a specific `libjxl` release instead of the pinned default.\n* `--imagemagick-quantum-depth \u003cn\u003e`\n  Sets the ImageMagick quantum depth. Valid values: `8`, `16`, `32`. Default: `16`.\n* `--imagemagick-opencl`\n  Enables OpenCL support in the local ImageMagick build. Default: off.\n* `--imagemagick-build-static`\n  Builds ImageMagick static instead of shared. Default: shared build.\n* `--imagemagick-with-magick-plus-plus`\n  Builds the Magick++ C++ interface in the local ImageMagick build. Default: off for faster builds.\n* `--imagemagick-with-perl`\n  Builds PerlMagick in the local ImageMagick build. Default: off for faster builds.\n* `--disable-delegate \u003cname\u003e`\n  Disables a specific ImageMagick delegate from IMEI's default delegate set. Can be passed multiple times. Default: no delegates disabled.\n* `--skip-aom`\n  Skips building `libaom`. Default: off. This also requires skipping `libheif`, because IMEI's `libheif` build expects the IMEI `libaom` stack.\n* `--skip-libheif`\n  Skips building `libheif` and the `heic` delegate path. Default: off.\n* `--skip-jpeg-xl`\n  Skips building `libjxl` and the `jxl` delegate path. Default: off.\n* `--work-dir \u003cdir\u003e`\n  Uses a custom build workspace instead of IMEI's temporary work directory.\n* `--output-dir \u003cdir\u003e`\n  Writes generated `.deb` files to a custom directory during local package builds. Default: `dist/\u003ctarget\u003e`.\n* `--no-install`\n  Builds the local `.deb` packages without installing them afterward. Only applies to the package-build path, not `--user-install`.\n* `--keep-build-deps`\n  Keeps the temporary build dependencies that IMEI installed for the local package build. Default: off. Without this flag, IMEI removes build-only packages it introduced after a successful local build.\n* `--keep-work-dir`\n  Keeps the build workspace after completion for debugging or inspection. Default: off.\n\nImportant combinations and limits:\n\n* `--user-install` cannot be combined with `--prebuilt-only` or `--download-only`\n* `--user-install` cannot be combined with `--output-dir` or `--no-install`\n* `--prebuilt-only` is useful when you want a hard failure instead of a surprise local compile\n* any option that changes build features, versions, delegates, or install style should be treated as a local-build request\n\n## Delegate Support\n\nIMEI aims to build ImageMagick with as much delegate support as the target distro can reasonably provide.\n\nDefault behavior:\n\n* delegates are enabled by default\n* local builds can disable specific delegates explicitly with `--disable-delegate \u003cname\u003e`\n* dependency installation and ImageMagick configure flags are driven from the shared delegate policy in `scripts/delegates.sh`\n\nThis keeps the intended delegate set explicit without hardcoding every distro-specific package name forever.\n\n## Private Repository Testing\n\nIMEI can download release assets from another repository through `--github-repository`.\n\nFor private repositories:\n\n* `GH_TOKEN` is preferred\n* `GITHUB_TOKEN` also works\n* when using `sudo`, preserve the environment with `sudo -E`\n\nExample:\n\n```bash\nexport GH_TOKEN=...\nsudo -E ./imei.sh --github-repository owner/private-repo\n```\n\nIn GitHub Actions, `GITHUB_TOKEN` is available automatically, but it still needs to be passed into the shell environment when a workflow step runs the script.\n\n## Removal\n\nRemove the installed IMEI packages cleanly through `apt`:\n\n```bash\nsudo apt remove imei-imagemagick imei-libheif imei-libjxl imei-libaom --purge\n```\n\n## Default Versions\n\n\u003c!-- versions start --\u003e\n* ImageMagick version: `7.1.2-19 (Q16)`\n* libaom version: `3.13.3`\n* libheif version: `1.21.2`\n* libjxl version: `0.11.2`\n\u003c!-- versions end --\u003e\n\n## Operational Notes\n\n* `imei-imagemagick` is intended to be mutually exclusive with distro ImageMagick command packages. If stock ImageMagick is already installed, `apt` may remove it to install IMEI. Installing stock ImageMagick afterward may remove `imei-imagemagick` for the same reason. Use `--user-install` if you need IMEI without taking over `/usr/bin`.\n* pre-built release assets are target-specific; if no exact match exists, IMEI falls back to a local build unless `--prebuilt-only` is set\n* release metadata must match the published asset filenames exactly, so release generation normalizes filenames before creating the manifest and checksums\n* `--user-install` is a separate source-build backend and intentionally does not try to behave like a package-managed install\n\n## License\n\n[ISC](LICENSE.md) © [1-2.dev](https://1-2.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftcreatr%2Fimei","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftcreatr%2Fimei","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftcreatr%2Fimei/lists"}