{"id":16211062,"url":"https://github.com/duckboss/expastack","last_synced_at":"2025-10-28T13:08:18.282Z","repository":{"id":154810903,"uuid":"196941607","full_name":"DuckBoss/ExPaStack","owner":"DuckBoss","description":"Extract, Pack, and Stack! [EPS] Extract 3d obj/gltf/dae mesh names into a JSON format with unique ids","archived":false,"fork":false,"pushed_at":"2019-07-30T20:42:26.000Z","size":137,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T21:38:37.506Z","etag":null,"topics":[],"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/DuckBoss.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":"2019-07-15T06:53:43.000Z","updated_at":"2019-07-30T05:51:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"afcdf6c9-5bfb-4bd3-ae93-090d5dcab7fb","html_url":"https://github.com/DuckBoss/ExPaStack","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DuckBoss/ExPaStack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FExPaStack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FExPaStack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FExPaStack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FExPaStack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DuckBoss","download_url":"https://codeload.github.com/DuckBoss/ExPaStack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FExPaStack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259470938,"owners_count":22862995,"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":[],"created_at":"2024-10-10T10:45:28.406Z","updated_at":"2025-10-28T13:08:18.223Z","avatar_url":"https://github.com/DuckBoss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ExPaStack [EPS]\nExtract, Pack, and Stack! Extract 3d obj/gltf/dae mesh names into a JSON format with unique ids.\n\n[![GitHub](https://img.shields.io/github/license/DuckBoss/ExPaStack.svg?style=for-the-badge)](https://github.com/DuckBoss/ExPaStack/blob/master/LICENSE)\n[![GitHub release](https://img.shields.io/github/release/DuckBoss/ExPaStack.svg?style=for-the-badge)](https://github.com/DuckBoss/ExPaStack/releases)\n\n## Usage\nBasic Usage:\n```\npython3 expastack assets/cube.obj\n```\nCommand-line parameters usage:\n```\npython3 expastack assets/cube.gltf --keywords \"Cube1, Cube2\" --filter-type \"exclude\"\n```\n\n\n## Command Line Parameters\n```\n--keywords \"...\"\n--filter-type \"include/exclude\"\n```\n#### Keywords Parameter\n```\n--keywords \"mesh_1, mesh_2\" : Mesh names to filter in the output json\n```\n\n#### Filter Type Parameter\n```\n--filter-type \"include/exclude\" : Either filters out the keyword mesh names from the json output(exclude)\n                                  or it only includes the keyword mesh names in the json output. \n```\n\n\n## Configuration Python File\nIf you have many keywords to filter, then consider using the config.py file provided\nin the root directory.\u003cbr\u003e\nThis will help avoid long command line parameters.\n\n\n## Example Output\nGenerates a json file in the root directory.\n```\nInput: python3 expastack cube.obj\nOutput: cube.json\n{\n    \"Cube\"\n    {\n        \"name\" = \"Cube\",\n        \"uid\" = \"aisodjiasd092941298401928jf\"\n    }\n}\n```\n```\nInput: python3 expastack complex_object.obj --filter-type \"include\" --keywords \"mesh1, mesh2\"\nOutput: complex_object.json\n{\n    \"mesh1\" { \"name\"= \"mesh1\", \"uid\" = \u003cgenerated_uid\u003e }\n    \"mesh2\" { \"name\"= \"mesh2\", \"uid\" = \u003cgenerated_uid\u003e }\n    (includes only mesh names in the filtered keywords)\n}\n```\n```\nInput: python3 expastack complex_object.obj --filter-type \"exclude\" --keywords \"mesh1, mesh2\"\nOutput: complex_object.json\n{\n    ... { \"name\" = \u003cmesh_name\u003e, \"uid\" = \u003cgenerated_uid\u003e }\n    ...\n    ...\n    ... (includes all mesh names except filtered keywords)\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduckboss%2Fexpastack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduckboss%2Fexpastack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduckboss%2Fexpastack/lists"}