{"id":15461494,"url":"https://github.com/shrinks99/ingestinator","last_synced_at":"2026-03-14T08:33:56.493Z","repository":{"id":132362557,"uuid":"451327727","full_name":"Shrinks99/Ingestinator","owner":"Shrinks99","description":"My personal Python / Nuke tool for ingesting plates","archived":false,"fork":false,"pushed_at":"2022-01-24T05:30:27.000Z","size":1869,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-12T14:05:49.072Z","etag":null,"topics":["nuke","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/Shrinks99.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-24T05:24:56.000Z","updated_at":"2024-05-13T06:24:16.000Z","dependencies_parsed_at":"2023-03-10T16:13:04.995Z","dependency_job_id":null,"html_url":"https://github.com/Shrinks99/Ingestinator","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"e29fd1d19d54f283699ae807d4f1c67f411e6303"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shrinks99%2FIngestinator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shrinks99%2FIngestinator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shrinks99%2FIngestinator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shrinks99%2FIngestinator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shrinks99","download_url":"https://codeload.github.com/Shrinks99/Ingestinator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243277488,"owners_count":20265350,"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":["nuke","vfx-pipeline"],"created_at":"2024-10-01T23:49:22.236Z","updated_at":"2025-12-25T08:19:43.470Z","avatar_url":"https://github.com/Shrinks99.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ingestinator\n\nIngestinator is my personal VFX pipeline tool for ingesting folders containing frame sequences that have been pulled and downloaded to a local folder.  It creates a shot folder based on a template, moves the folders containing frames into the `/plate` directory (which along with `/comp` needs to exist in the template), and renders a reference MOV based on a template Nuke script titled \"slatemachine\" which is also included in this repo.  Ingestinator expects plates to exist as a single sequence per folder in the specified ingest directory, other than that it's decently customizable and _reasonably_ robust.  It may not work for you without some modification to suit your show or local environment.\n\n### Dependencies\nIngestinator requires the following software:\n\n- Python 3.10\n- Nuke\n\n### Setup\n\nThe beginning of the script is tagged as \"User Settings Land\", these are the things you're expected to change to suit your project / environment!\n\n```python\n\n# Nuke EXE location, adds quotes onto the end as a part of the string\nnukepath = \"C:/Program Files/Nuke13.1v1/Nuke13.1.exe\"\n\n# The location your shots will end up in\nshotsfolder = r\"C:/example/shotsfolder\"\n\n#The location of pulled frames sitting in a folder structure\ningestfolder = r\"C:/example/ingestfolder\"\n\n# Enter the filename for the project Nuke script that will appear in the working directory.  The shot's show code will be prepended to this string\nnukefilename = \"_INH_cmp_v001.nk\"\n\n# Enter the showcode as well as the amount of characters that appear before the show code\nshowcode = \"SHW_###_###_####\"\npreshowcode = 0\n\n# File type of the frames to ingest\nplatefiletype = \".exr\"\n\n# File type of the CDL to ingest\ncolorfiletype = \".cdl\"\n\n# Frame padding, MUST be hashtags to work in Nuke\npadding = \"####\"\n\n# Number that gets added to the last frame in the sequence.  If your frame sequences start at 1001 this would be 1000\nstartframe = 1000\n\n```\n\nBe sure to set up slatemachine.nk with your slating script of choice, note that the Nuke script runs `nukestartup.py` and certain values in there may have to be changed based on what you want to pass along to your slating script.\n\nYou may have to change the directory structure that glob looks at to generate the `currentsequence` variable to suit your dailies vendor's plate pull directory structure in `ingest.py`.\n\n### Running the tool\n\nCD to the program's directory on your drive (path will likely be different for you):\n\n```bash\ncd /path/to/ingestinator\n```\n\nRun the tool!\n\n```bash\npython ingest.py\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshrinks99%2Fingestinator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshrinks99%2Fingestinator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshrinks99%2Fingestinator/lists"}