{"id":13539431,"url":"https://github.com/ozwaldorf/lutgen-rs","last_synced_at":"2026-04-06T22:01:40.546Z","repository":{"id":164644024,"uuid":"640093933","full_name":"ozwaldorf/lutgen-rs","owner":"ozwaldorf","description":"Blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes.","archived":false,"fork":false,"pushed_at":"2024-12-06T23:54:05.000Z","size":32690,"stargazers_count":356,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T17:03:28.840Z","etag":null,"topics":["cli","color-grading","colorscheme","hald-clut","linux-desktop","rice","rust","theming","wallpaper"],"latest_commit_sha":null,"homepage":"https://docs.rs/lutgen","language":"Rust","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/ozwaldorf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2023-05-13T01:25:59.000Z","updated_at":"2025-03-30T14:57:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3317692-b152-4fe9-aa7b-7af4a052dba4","html_url":"https://github.com/ozwaldorf/lutgen-rs","commit_stats":{"total_commits":241,"total_committers":12,"mean_commits":"20.083333333333332","dds":"0.053941908713692976","last_synced_commit":"19d87f6729f4134a40f501723106bc7d333e00de"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozwaldorf%2Flutgen-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozwaldorf%2Flutgen-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozwaldorf%2Flutgen-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozwaldorf%2Flutgen-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozwaldorf","download_url":"https://codeload.github.com/ozwaldorf/lutgen-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248766765,"owners_count":21158314,"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":["cli","color-grading","colorscheme","hald-clut","linux-desktop","rice","rust","theming","wallpaper"],"created_at":"2024-08-01T09:01:25.829Z","updated_at":"2026-04-06T22:01:40.540Z","avatar_url":"https://github.com/ozwaldorf.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cheader\u003e\n    \u003cbr\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg width=\"30%\" src=\"https://github.com/ozwaldorf/lutgen-rs/assets/8976745/4163e179-ee73-4b24-8ad8-6c373e1d8711\" /\u003e\n    \u003c/div\u003e\n    \u003ch2 align=\"center\"\u003elutgen-rs\u003c/h2\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://crates.io/crates/lutgen-cli\"\u003e\u003cimg alt=\"crate\" src=\"https://img.shields.io/crates/v/lutgen-cli?label=cli\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://crates.io/crates/lutgen-studio\"\u003e\u003cimg alt=\"crate\" src=\"https://img.shields.io/crates/v/lutgen-studio?label=studio\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://lut.sh\"\u003e\u003cimg alt=\"crate\" src=\"https://img.shields.io/badge/wiki-lut.sh-blue?style=for-the-badge\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/ozwaldorf/lutgen-rs/actions/workflows/release.yml\"\u003e\u003cimg alt=\"build\" src=\"https://img.shields.io/github/actions/workflow/status/ozwaldorf/lutgen-rs/release.yml?label=Build\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://garnix.io\"\u003e\u003cimg alt=\"ci\" src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Fgarnix.io%2Fapi%2Fbadges%2Fozwaldorf%2Flutgen-rs\u0026style=for-the-badge\u0026logo=%20\u0026label=garnix\u0026labelColor=grey\" /\u003e\u003c/a\u003e\n    \u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        A blazingly fast interpolated \u003ca href=\"https://en.wikipedia.org/wiki/3D_lookup_table\"\u003eLUT\u003c/a\u003e utility for arbitrary and popular color palettes. Theme any image to your desktop colorscheme!\n    \u003c/p\u003e\n\u003c/header\u003e\n\n---\n\n## Example Output\n\n### Hald Cluts\n\n\u003cdetails\u003e\n    \u003csummary\u003eCatppuccin Mocha\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/catppuccin-mocha-hald-clut.png\" /\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eGruvbox Dark\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/gruvbox-dark-hald-clut.png\" /\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eNord\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/nord-hald-clut.png\" /\u003e\n\u003c/details\u003e\n\n### Color Corrections\n\n\u003cdetails\u003e\n    \u003csummary\u003eOriginal Image\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/example-image.jpg\" /\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eCatppuccin Mocha\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/catppuccin-mocha.jpg\" /\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eGruvbox Dark\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/gruvbox-dark.jpg\" /\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n    \u003csummary\u003eNord\u003c/summary\u003e\n    \u003cimg src=\"docs/assets/nord.png\" /\u003e\n\u003c/details\u003e\n\n## Lutgen CLI\n\n### Package Repositories\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/lutgen.svg?exclude_unsupported=1)](https://repology.org/project/lutgen/versions)\n\n### Install from source\n\n```bash\ngit clone https://github.com/ozwaldorf/lutgen-rs\ncd lutgen-rs\ncargo install --path crates/cli\n```\n\n### Crates.io\n\n```bash\ncargo install lutgen-cli\n```\n\n### Documentation\n\nDetailed documentation, examples, and more are available on [The Lutgen Wiki](https://ozwaldorf.github.io/lutgen-rs)\n\n## Lutgen Studio\n\n\u003cimg width=\"66%\" alt=\"Lutgen Studio\" src=\"https://github.com/user-attachments/assets/436ece7a-b59f-404d-a6d6-6c0e754355f2\" /\u003e\n\n### Package Repositories\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/lutgen-studio.svg?exclude_unsupported=1)](https://repology.org/project/lutgen-studio/versions)\n\n### Required Dependencies\n\n(For this example, Ubuntu packages are listed)\n\n- libxcb-render0-dev\n- libxcb-shape0-dev\n- libxcb-xfixes0-dev\n- libxkbcommon-dev\n- libssl-dev\n- wayland\n\n### Install from source\n\n```bash\ngit clone https://github.com/ozwaldorf/lutgen-rs\ncd lutgen-rs\ncargo install --path crates/studio\n```\n\n### Crates.io\n\n```bash\ncargo install lutgen-studio\n```\n\n## Rust Library\n\nSee the latest rust documentation on [docs.rs/lutgen](https://docs.rs/lutgen)\n\n## Nix flake\n\nA nix flake is available providing both lutgen and lutgen-studio packages.\nThe flake can be easily run via:\n\n```bash\nnix run github:ozwaldorf/lutgen-rs\nnix run github:ozwaldorf/lutgen-rs#lutgen-studio\n```\n\nCache is provided via https://garnix.io\n\n### Development Shell\n\nA development environment is also provided in the flake:\n\n```bash\ngit clone https://github.com/ozwaldorf/lutgen-rs\ncd lutgen-rs\nnix develop\n\n# inside dev shell\ncargo run -r --bin lutgen\ncargo run -r --bin lutgen-studio\n```\n\n## Planned features\n\n- [ ] Interpolation for more accuracy when correcting with low level luts (\u003c16)\n- [ ] Hardware acceleration for applying luts to images\n\n## Sources\n\n- Hald Cluts: https://www.quelsolaar.com/technology/clut.html\n- Editing with Hald Cluts: https://im.snibgo.com/edithald.htm\n- Sparse Hald Cluts: https://im.snibgo.com/sphaldcl.htm\n- RBF Interpolation: https://en.wikipedia.org/wiki/Radial_basis_function_interpolation\n- Shepard's method: https://en.wikipedia.org/wiki/Inverse_distance_weighting\n- Oklab Colorspace: https://bottosson.github.io/posts/oklab/\n\n## Special Thanks\n\n- [Gingeh](https://github.com/Gingeh) for the initial inspiration and imagemagick approach\n- [The Catppuccin Org](https://github.com/catppuccin) for continual feedback and support along the way\n- [Stonks3141](https://github.com/Stonks3141) for maintaining the Alpine Linux package\n- All the nixpkgs maintainers\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozwaldorf%2Flutgen-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozwaldorf%2Flutgen-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozwaldorf%2Flutgen-rs/lists"}