{"id":20579650,"url":"https://github.com/wolox/warp","last_synced_at":"2026-05-01T08:31:57.812Z","repository":{"id":142452073,"uuid":"80033409","full_name":"Wolox/warp","owner":"Wolox","description":"WARP - Seamless mobile assets management","archived":false,"fork":false,"pushed_at":"2017-10-26T18:49:25.000Z","size":18,"stargazers_count":4,"open_issues_count":3,"forks_count":0,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-06-15T09:39:31.098Z","etag":null,"topics":["android","assets","automation","ffmpeg","gradle","images","ios","optimization","pngquant","script","tool","warp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wolox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2017-01-25T16:34:39.000Z","updated_at":"2021-04-03T17:03:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b4052ba-5490-42d3-b131-ac0382f336c8","html_url":"https://github.com/Wolox/warp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Wolox/warp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wolox%2Fwarp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wolox%2Fwarp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wolox%2Fwarp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wolox%2Fwarp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wolox","download_url":"https://codeload.github.com/Wolox/warp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wolox%2Fwarp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32490810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","assets","automation","ffmpeg","gradle","images","ios","optimization","pngquant","script","tool","warp"],"created_at":"2024-11-16T06:17:50.261Z","updated_at":"2026-05-01T08:31:57.798Z","avatar_url":"https://github.com/Wolox.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/4109119/32071243-fc049118-ba8e-11e7-805d-c39a17ac36ec.png\"/\u003e\n\u003c/p\u003e\n\n\n# WARP - Seamless mobile assets management\n\n## Table of contents\n\n* [What is WARP?](#topic-what-is-warp)\n* [Installation](#topic-installation)\n* [Basic usage](#topic-basic-usage)\n* [Advanced usage](#topic-advanced-usage)\n* [Android Studio integration](#topic-android-studio-integration)\n* [Benchmarks](#topic-benchmarks)\n* [Contributing](#topic-contributing)\n* [About](#topic-about)\n* [License](#topic-license)\n\n## \u003ca name=\"topic-what-is-warp\"\u003e\u003c/a\u003e What is WARP?\nWARP is a tool for automagically enforcing consistency of design, scaling and greatly optimizing\nthe assets of your mobile project (Android and iOS).\n\n### Consistency\nForget about maintaining hundreds of assets, keep only one version\nof every asset and let WARP deal with the hassle of maintaining each platform\nspecific screen density variant. That is `drawable-XXX` folders in Android and\n`assetName@XXX` files in iOS.\n\n### Scaling\nDon't waste time using external tools scaling assets, WARP will generate every\nasset for you.\n\n### Optimization *(or how to make you app size way smaller)*\nWARP uses top notch algorithms to make your assets lightweight without any\nnoticeable loss of quality. You can expect a reduction in your assets total size\nof at least 50%.\n\n### Fast integration\nYou can safely integrate WARP into your building pipeline, WARP will skip\nalready processed assets. If no changes were made in your assets folder, WARP\ncan completely run in almost 0 seconds.\n\n### WARP Demo\n\n[![IMAGE ALT TEXT](https://cloud.githubusercontent.com/assets/4109119/22380156/2a507264-e49b-11e6-820e-10e042db1d2d.jpg)](http://www.youtube.com/watch?v=9_81-IfLIbQ \"WARP Android Studio Integration\")\n\n## \u003ca name=\"topic-installation\"\u003e\u003c/a\u003e Installation\n\n### Dependencies\nWARP uses `pngquant` to achieve astonishing good compression ratios and\n`ffmpeg` to scale images in a split second. To run warp you need to install\nthose libraries first.\n\n**Linux:**\n```shell\nsudo apt-get update\nsudo apt-get -y install pngquant\nsudo apt-get -y install ffmpeg\n```\n**MacOS** *(using Homebrew)*\n```shell\nbrew install pngquant\nbrew install ffmpeg\n```\n\n**Important:** Make sure that both `pngquant` and `ffmpeg` are set in your `PATH` variable.\n\n### WARP\nWarp is a self-contained utility, just download [warp.py](https://raw.githubusercontent.com/Wolox/warp/master/warp.py) and you are good to go.\n\n## \u003ca name=\"topic-basic-usage\"\u003e\u003c/a\u003e Basic usage\nA basic usage of WARP looks like this:\n```shell\n./warp.py --target android\n```\nThis will generate two folders:\n* `raw`: Place you original assets file here. They should be in `XXX-HDPI` for\nAndroid and `@3X` for iOS. The other variants will be generated automatically.\n* `assets`: The processed assets will be placed here.\n\nNow, copy some assets inside the `raw` folder and run the script again. You'll\nfind your processed assets inside the `assets` folder.\n\nThe example above produces assets for Android. Feel free to use `--target ios` to\ngenerate assets for that platform!\n\n**Tip:** You can view a full list of commands with `./warp.py --help`\n\n## \u003ca name=\"topic-advanced-usage\"\u003e\u003c/a\u003e Advanced usage\n\n* Specify custom input and output directories with `--input [PATH]` and `--output [PATH]`\n* Clear the output folder and process every asset again with `--clean`\n* Hide the welcome message with `--silent`\n* Every option has a shorthand version, so you can use `-i` instead of `--input`\nor `-c` instead of `--clean` for example.\n\n## \u003ca name=\"topic-android-studio-integration\"\u003e\u003c/a\u003e Integration with Android Studio\n\nWARP can be easily integrated with Android Studio using a Gradle task.\n\n##### Installation\n\n1. Download [warp.py](https://raw.githubusercontent.com/Wolox/warp/master/warp.py)\n2. Download [warp_task.gradle](https://raw.githubusercontent.com/Wolox/warp/master/warp_task.gradle)\n3. Place both files under `YOUR/PROJECT/PATH/scripts/warp/`\n4. Place the following line in your project's `app.gradle` file:\n```\napply plugin: 'com.android.application'\napply from: '../scripts/warp/warp_task.gradle' //Add this line\n\nandroid {\n    ...\n}\n```\n5. Press \"sync with gradle\" in Android Studio\n6. Place your assets in the generated `raw` folder in your project's root\ndirectory.\n\nThat's it. Remember to run \"sync with gradle\" after adding new assets, this\nwill run WARP and generate the assets for your project.\n\n### WARP Android Studio integration demo\n[![IMAGE ALT TEXT](https://cloud.githubusercontent.com/assets/4109119/22380198/4abeb5c4-e49b-11e6-8fe9-36f070ea6fcd.jpg)](http://www.youtube.com/watch?v=6KeBhKNVVL0 \"WARP Android Studio Integration\")\n\n## \u003ca name=\"topic-benchmarks\"\u003e\u003c/a\u003e Benchmarks\nSample: 256 icon assets from an Android Play Store published app. The assets where\nconverted and optimized to HDPI, XHDPI, XXHDPI and XXXHDPI screen densities.\n\n#### Processing\n* First run processing time: 44 seconds.\n* Second run (no changes) processing time: \u003c 1 second.\n* Hardware: MacBook Pro 15\" 2016 (Intel i7, 16GB of RAM)\n\n#### Compression\n* Original assets size: 3,4 MB\n* Size after optimization: 1,7 MB\n* Total size reduction: 50%\n\n## \u003ca name=\"topic-contributing\"\u003e\u003c/a\u003e Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push your branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## \u003ca name=\"topic-about\"\u003e\u003c/a\u003e About\n\nThis project is maintained by [Juan Ignacio Molina](https://github.com/juanignaciomolina)\nand it was written by [Wolox](http://www.wolox.com.ar).\n\n![Wolox](https://raw.githubusercontent.com/Wolox/press-kit/master/logos/logo_banner.png)\n\n## \u003ca name=\"topic-license\"\u003e\u003c/a\u003e License\n\n**WARP** is available under the MIT [license](https://raw.githubusercontent.com/Wolox/warp/master/LICENSE.md).\n\n    Copyright (c) 2017 Juan Ignacio Molina, aka Juani\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in\n    all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n    THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolox%2Fwarp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolox%2Fwarp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolox%2Fwarp/lists"}