{"id":32957585,"url":"https://github.com/JafarAkhondali/Tapnesh","last_synced_at":"2025-11-16T19:01:27.660Z","repository":{"id":130316691,"uuid":"112129832","full_name":"JafarAkhondali/Tapnesh","owner":"JafarAkhondali","description":"CLI bash script to optimize images in parallel easily and efficiently!","archived":false,"fork":false,"pushed_at":"2020-07-21T15:22:30.000Z","size":35,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-03T12:48:02.501Z","etag":null,"topics":["image","image-optimization","optimization","seo","seotools"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JafarAkhondali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-11-27T00:55:34.000Z","updated_at":"2024-02-28T10:39:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"22fdabd1-8ed5-42bd-8a2c-c2e054040f17","html_url":"https://github.com/JafarAkhondali/Tapnesh","commit_stats":{"total_commits":27,"total_committers":1,"mean_commits":27.0,"dds":0.0,"last_synced_commit":"f786ea0b2112b0d4df20d8b3040dbe3ef980c2c1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JafarAkhondali/Tapnesh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JafarAkhondali%2FTapnesh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JafarAkhondali%2FTapnesh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JafarAkhondali%2FTapnesh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JafarAkhondali%2FTapnesh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JafarAkhondali","download_url":"https://codeload.github.com/JafarAkhondali/Tapnesh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JafarAkhondali%2FTapnesh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284759739,"owners_count":27058842,"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","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"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":["image","image-optimization","optimization","seo","seotools"],"created_at":"2025-11-12T23:00:25.276Z","updated_at":"2025-11-16T19:01:27.655Z","avatar_url":"https://github.com/JafarAkhondali.png","language":"Shell","funding_links":[],"categories":["Image Optimizers"],"sub_categories":["Meetups"],"readme":"\u003ch1 align=center \u003e \n    :sparkles: Tapnesh :sparkles:\n\u003c/h1\u003e\n\n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/davidsonfellipe/awesome-wpo/)   Tapnesh is a CLI bash script which will optimize all your images in parallel easily and efficiently!   \nYou can use it on a single image or specify a whole directory.\n\nDemo\n---\nImage Size: 1920x1080  \n:star: Before =\u003e Original size: `863kb`\n![before](https://user-images.githubusercontent.com/11364402/88002052-d581e400-cb16-11ea-94b2-8d369b60d5fc.jpg)\n\n:star: After  =\u003e Optimized Size: `304kb` (64.85% size decreased using `-q 70` in 0.06 seconds)\n![after](https://user-images.githubusercontent.com/11364402/88002736-77560080-cb18-11ea-89d6-69740a6e3ec6.jpg)\n\n\nExamples\n---\nOptimize single image   \n`tapnesh img.png`\n\nOptimize single image with 75% of quality   \n`tapnesh img.jpg -q 75`\n\nOptimize images in `mydir` directory    \n`tapnesh mydir`\n\nOptimize images in `mydir` directory recursive\n`tapnesh mydir -R`\n\nOptimize single image and keep old file     \n`tapnesh img.jpg -k `\n\nOptimize whole directory and keep old files with 85% of quality    \n`tapnesh mydir -R -q 85 -k `\n\n\nUsage\n---\n```\nUsage: tapnesh [-q|--quality \u003carg\u003e] [-R|--(no-)recursive] [-v|--(no-)verbose] [-k|--(no-)keep] [-h|--help] \u003cpath\u003e\n        \u003cpath\u003e: Path to directory for optimization\n        -q, --quality: Sets quality for optimized images, can be a value from 1 to 100. (100 means lossless optimization) (default: '80')\n        -R, --recursive, --no-recursive: Do recursive (off by default)\n        -v, --verbose, --no-verbose: Be verbose (off by default)\n        -k, --keep, --no-keep: Keep old files (off by default)\n        -h, --help: Prints help\n\n```\n\nPre-Install\n===\n**You'll first need to install the dependencies**\n\nUbuntu and other Debian based distros:   \n`sudo apt install pngquant parallel jpegoptim`\n\nArch:   \n`sudo pacman -S pngquant parallel jpegoptim`\n\nOther distros:\nJust install `pngquant parallel jpegoptim` using your package manager.  \n\nCurrently, only gnu\\linux based distros are supported. \n \nInstallation\n===      \n\nIf you trust me, just run this in your terminal       \n`curl -Ss https://raw.githubusercontent.com/JafarAkhondali/Tapnesh/master/install.sh | bash`  \nelse: just copy the `tapnesh.sh` to some executable path  \n\n\nCommunity\n===\n:robot: [TapneshBot](https://github.com/AlirezaKm/TapneshBot):   \nA dockerized telegram bot which can optimize your images using telegram messenger.\n[@tapneshbot](http://t.me/tapneshbot)\n\nDependencies\n---\n```\npngquant\nparallel\njpegoptim\n```\n\nHow does it work?\n---\nTapnesh is only a wrapper to optimize images using `jpegoptim` for jpe?g and `pngquant` for png files.\nIf optimizing multiple images (for example, working on a directory), Tapnesh uses `parallel` package under the hood to work optimize images per one cpu core. \n\n\n## Contributing\n**Are you a user?**  \nPlease suggest your requirements, ideas and bugs in issues.\n\n**Are you a developer?**\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 to the branch: `git push origin my-new-feature`\n5. Submit a pull request\n\n## License\n\nGNU General Public License v3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJafarAkhondali%2FTapnesh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJafarAkhondali%2FTapnesh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJafarAkhondali%2FTapnesh/lists"}