{"id":22859186,"url":"https://github.com/healkeiser/fxhoucachemanager","last_synced_at":"2026-05-15T18:02:54.485Z","repository":{"id":265987969,"uuid":"896884139","full_name":"healkeiser/fxhoucachemanager","owner":"healkeiser","description":"Cache manager for Houdini.","archived":false,"fork":false,"pushed_at":"2024-12-02T11:48:32.000Z","size":551,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-07T13:07:21.815Z","etag":null,"topics":["3d","cgi","houdini","pipeline","qt","vfx","vfx-pipeline"],"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/healkeiser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["healkeiser"],"patreon":"valentinbeaumont","buy_me_a_coffee":"healkeiser"}},"created_at":"2024-12-01T14:43:53.000Z","updated_at":"2025-10-30T18:50:05.000Z","dependencies_parsed_at":"2025-02-06T12:40:36.196Z","dependency_job_id":"9a76de4b-2e5e-42e1-a529-ec6f7a69e23a","html_url":"https://github.com/healkeiser/fxhoucachemanager","commit_stats":null,"previous_names":["healkeiser/fxhoucachemanager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/healkeiser/fxhoucachemanager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healkeiser%2Ffxhoucachemanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healkeiser%2Ffxhoucachemanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healkeiser%2Ffxhoucachemanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healkeiser%2Ffxhoucachemanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/healkeiser","download_url":"https://codeload.github.com/healkeiser/fxhoucachemanager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healkeiser%2Ffxhoucachemanager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33074395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["3d","cgi","houdini","pipeline","qt","vfx","vfx-pipeline"],"created_at":"2024-12-13T09:06:18.461Z","updated_at":"2026-05-15T18:02:54.427Z","avatar_url":"https://github.com/healkeiser.png","language":"Python","funding_links":["https://github.com/sponsors/healkeiser","https://patreon.com/valentinbeaumont","https://buymeacoffee.com/healkeiser","https://www.buymeacoffee.com/healkeiser"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n  ![Logo](https://raw.githubusercontent.com/healkeiser/fxhoucachemanager/main/fxhoucachemanager/images/icons/fxhoucachemanager_dark.svg#gh-light-mode-only)\n  ![Logo](https://raw.githubusercontent.com/healkeiser/fxhoucachemanager/main/fxhoucachemanager/images/icons/fxhoucachemanager_light.svg#gh-dark-mode-only)\n\n  \u003ch3 align=\"center\"\u003efxhoucachemanager\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Cache manager for Houdini.\n    \u003cbr/\u003e\u003cbr/\u003e\n  \u003c/p\u003e\n\n  ##\n\n  \u003cp align=\"center\"\u003e\n    \u003c!-- Maintenance status --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/maintenance-actively--developed-brightgreen.svg?\u0026label=Maintenance\"\u003e\u0026nbsp;\u0026nbsp;\n    \u003c!-- \u003cimg src=\"https://img.shields.io/badge/maintenance-deprecated-red.svg?\u0026label=Maintenance\"\u003e\u0026nbsp;\u0026nbsp; --\u003e\n    \u003c!-- License --\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-brightgreen.svg?\u0026logo=open-source-initiative\u0026logoColor=white\" alt=\"License: MIT\"/\u003e\u0026nbsp;\u0026nbsp;\n    \u003c!-- Last Commit --\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/healkeiser/fxhoucachemanager?logo=github\u0026label=Last%20Commit\" alt=\"Last Commit\"/\u003e\u0026nbsp;\u0026nbsp;\n    \u003c!-- Commit Activity --\u003e\n    \u003ca href=\"https://github.com/healkeiser/fxhoucachemanager/pulse\" alt=\"Activity\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/commit-activity/m/healkeiser/fxhoucachemanager?\u0026logo=github\u0026label=Commit%20Activity\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n    \u003c!-- GitHub stars --\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/healkeiser/fxhoucachemanager\" alt=\"GitHub Stars\"/\u003e\u0026nbsp;\u0026nbsp;\n  \u003c/p\u003e\n\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of Contents\n\u003c!--ts--\u003e\n   * [Installation](#installation)\n   * [How-to Use](#how-to-use)\n   * [Settings](#settings)\n   * [Advanced](#advanced)\n   * [Contact](#contact)\n\u003c!--te--\u003e\n\n\n\n\u003c!-- INSTALLATION --\u003e\n## Installation\n\nTo install, simply copy-paste the [package.json](houdini/packages/fxhoucachemanager.json) file inside your `$HOUDINI_USER_PREF_DIR/packages` folder, and replace the value of the `$FXHOUCACHEMANAGER` path depending on your OS.\n\n\n\n\u003c!-- HOW-TO-USE --\u003e\n## How-to Use\n\nYou can launch the **FX Cache Manager** through the **FX** menu, or the **FX Cache Manager** shelf tool inside the **FX** shelf.\n\nYou will be presented with this UI:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_YfAwyT33tU.png\"\u003e\n\u003c/p\u003e\n\nThe tool will scan for caches in the root folder you've set in the [settings](#settings).\n\n\u003e [!IMPORTANT]\n\u003e The caches should be following this format `\u003ccache_root\u003e/\u003ccache_name\u003e/\u003ccache_version\u003e/\u003ccache_file\u003e`. For example:\n\u003e - `$HIP/geo/flip/v001/flip_v001.bgeo.sc` where `$HIP/geo` is the root folder, `flip` is the cache name, `v001` is the cache version, and `flip.bgeo.sc` is the cache file.\n\u003e - `$JOB/geo/flip/17/myBeautifulFlip.bgeo.sc` where `$JOB/geo` is the root folder, `flip` is the cache name, `17` is the cache version, and `myBeautifulFlip.bgeo.sc` is the cache file.\n\nIn the case where the scene has a huge number of caches, you might notice a progress bar at the bottom of the UI. This is to indicate the progress of the cache scanning. The progress bar will disappear once the scanning is done.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_AeGcR1lY8o.png\"\u003e\n\u003c/p\u003e\n\nYou can filter the caches by name, but also by extensions using the buttons on the bottom right of the UI.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_9IohqVM41N.png\"\u003e\n\u003c/p\u003e\n\nYou can use the dropdown menu to select the version you want to load. It will immediately load the cache in the scene.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_tGH3eV90WE.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_RXORyu4roH.png\"\u003e\n\u003c/p\u003e\n\nYou can expand the parent item to see all the versions available for a cache. The parent item will display the version currently loaded in the scene, and the children items will display the other versions available. The highest found version will be displayed in 🟩 green, outdated versions will be displayed in 🟨 yellow.\n\nIf a path is referenced but not found on disk, the version will be displayed in 🟥 red. If the file exists on disk but doesn't follow the expected format, the version will be displayed in 🟦 grey-blue.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_ll3phiJd8y.png\"\u003e\n\u003c/p\u003e\n\nA right-click on a selection of caches will open a context menu allowing you to perform a variety of actions:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"650\" src=\"docs/images/houdini_VBsgukKjOg.png\"\u003e\n\u003c/p\u003e\n\nWhen selecting **Update All to Latest** or **Delete Unused Caches**, a confirmation dialog will appear, asking you to confirm the action.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"400\" src=\"docs/images/houdini_0ffjQeKfN9.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"400\" src=\"docs/images/houdini_CADX3jVyfA.png\"\u003e\n\u003c/p\u003e\n\n\u003c!-- SETTINGS --\u003e\n## Settings\n\nYou can modify the settings of the tool by clicking on the **Edit** \u003e **Settings** button, in the menu bar.\nA dialog will appear, allowing you to set the regex pattern \u003csup\u003e[1](#footnote1)\u003c/sup\u003e to use for the version extraction, the Houdini environment variable to use to replace in the paths \u003csup\u003e[2](#footnote2)\u003c/sup\u003e, and the root folder to scan for caches \u003csup\u003e[2](#footnote3)\u003c/sup\u003e.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"300\" src=\"docs/images/houdini_Dhuz8CAFiY.png\"\u003e\n\u003c/p\u003e\n\n\u003e [!TIP]\n\u003e \u003csup id=\"footnote1\"\u003e1\u003c/sup\u003e The default regex pattern is `v\\d{3}`, which will match any version number with 3 digits, e.g. `v001`.\n\u003e Some other patterns you might want to use:\n\u003e - `v\\d+` will match any version number with at least 1 digit, e.g. `v1`, `v78`, `v999`, etc.\n\u003e - `^\\d{3}$` will match any version number with exactly 3 digits, e.g. `001`, `078`, `999`, etc.\n\u003e - `^\\d+$` will match any version number with at least 1 digit, e.g. `1`, `78`, `999`, etc.\n\n\u003e [!NOTE]\n\u003e \u003csup id=\"footnote2\"\u003e2\u003c/sup\u003e As described in the [fileReferences](https://www.sidefx.com/docs/houdini/hom/hou/fileReferences.html) documentation:\n\u003e \u003e You can specify the name of an environment variable. If an asset path starts with the variable, it will be replaced with a variable reference in the path string returned by this function. For example, if `$JOB` is `/mnt/projects/` and an asset is in `/mnt/projects/tool.hda`, if you call `hou.fileReferences(\"JOB\")`, it will return the path as `$JOB/tool.hda`.\n\n\u003e [!NOTE]\n\u003e \u003csup id=\"footnote3\"\u003e3\u003c/sup\u003e Any environment variable will be expanded. E.g. `$HIP` will be replaced by the current Houdini scene path, `$JOB` will be replaced by the current Houdini job path, etc.\n\nYou can also set the logger verbosity level in the **Edit** \u003e **Log Level** menu.\n\n\n\n\u003c!-- ADVANCED --\u003e\n## Advanced\n\nThe log and configuration files are stored in the `%APPDATA%/fxhoucachemanager` folder on Windows, and in the `$HOME/.fxhoucachemanager` folder on Linux and macOS.\n\n\u003e [!WARNING]\n\u003e One log file is saved per day, so you might want to clean up the folder from time to time.\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nProject Link: [fxhoucachemanager](https://github.com/healkeiser/fxhoucachemanager)\n\n\u003cp align='center'\u003e\n  \u003c!-- GitHub profile --\u003e\n  \u003ca href=\"https://github.com/healkeiser\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/healkeiser-181717?logo=github\u0026style=social\" alt=\"GitHub\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- LinkedIn --\u003e\n  \u003ca href=\"https://www.linkedin.com/in/valentin-beaumont\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Valentin%20Beaumont-0A66C2?logo=linkedin\u0026style=social\" alt=\"LinkedIn\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- Behance --\u003e\n  \u003ca href=\"https://www.behance.net/el1ven\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/el1ven-1769FF?logo=behance\u0026style=social\" alt=\"Behance\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- X --\u003e\n  \u003ca href=\"https://twitter.com/valentinbeaumon\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/@valentinbeaumon-1DA1F2?logo=x\u0026style=social\" alt=\"Twitter\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- Instagram --\u003e\n  \u003ca href=\"https://www.instagram.com/val.beaumontart\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/@val.beaumontart-E4405F?logo=instagram\u0026style=social\" alt=\"Instagram\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- Gumroad --\u003e\n  \u003ca href=\"https://healkeiser.gumroad.com/subscribe\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/healkeiser-36a9ae?logo=gumroad\u0026style=social\" alt=\"Gumroad\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- Gmail --\u003e\n  \u003ca href=\"mailto:valentin.onze@gmail.com\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/valentin.onze@gmail.com-D14836?logo=gmail\u0026style=social\" alt=\"Email\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n  \u003c!-- Buy me a coffee --\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/healkeiser\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Buy Me A Coffee-FFDD00?\u0026logo=buy-me-a-coffee\u0026logoColor=black\" alt=\"Buy Me A Coffee\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealkeiser%2Ffxhoucachemanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhealkeiser%2Ffxhoucachemanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealkeiser%2Ffxhoucachemanager/lists"}