{"id":16589027,"url":"https://github.com/hannesdelbeke/detect-app","last_synced_at":"2025-10-29T09:31:37.035Z","repository":{"id":147448574,"uuid":"618822697","full_name":"hannesdelbeke/detect-app","owner":"hannesdelbeke","description":"Detect which app the python interpreter is running in.⚙️Supports Ansible, AutoCAD, Blender, Calibre, Cinema 4D, Clarisse, Flame, Fusion, Gaffer,Gimp,Houdini, Inkscape, Katana, Krita, Mari, Marmoset, 3ds Max, Maya, Modo, MotionBuilder, Natron, Nuke RV, Revit, Shotgun, Scribus, Softimage, SubstanceDesigner, SubstancePainter, Unreal","archived":false,"fork":false,"pushed_at":"2023-12-05T17:30:52.000Z","size":39,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-02T00:31:40.916Z","etag":null,"topics":["3dsmax","app","blender","dcc","fusion","houdini","inkscape","krita","marmoset","maya","motionbuilder","nuke","pipeline","softimage","substancedesigner","substancepainter","unreal"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/detect-app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hannesdelbeke.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":"2023-03-25T13:07:18.000Z","updated_at":"2024-12-08T14:38:56.000Z","dependencies_parsed_at":"2023-12-05T14:45:28.202Z","dependency_job_id":null,"html_url":"https://github.com/hannesdelbeke/detect-app","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesdelbeke%2Fdetect-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesdelbeke%2Fdetect-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesdelbeke%2Fdetect-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesdelbeke%2Fdetect-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hannesdelbeke","download_url":"https://codeload.github.com/hannesdelbeke/detect-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238803184,"owners_count":19533261,"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":["3dsmax","app","blender","dcc","fusion","houdini","inkscape","krita","marmoset","maya","motionbuilder","nuke","pipeline","softimage","substancedesigner","substancepainter","unreal"],"created_at":"2024-10-11T23:07:36.656Z","updated_at":"2025-10-29T09:31:36.712Z","avatar_url":"https://github.com/hannesdelbeke.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# detect-app\n\n[![PyPI Downloads](https://img.shields.io/pypi/v/detect-app)](https://pypi.org/project/detect-app/)\n\nDetect which app the python interpreter is running in. Useful for cross app scripts\n\n## Supports:\n```\nAnsible\nAutoCAD\nBlender\nCalibre\nCinema 4D\nClarisse\nCryEngine\nFlame\nFreeCAD\nFusion\nGaffer\nGimp\nHoudini\nInkscape\nKatana\nKrita\nMari\nMarmoset\n3ds Max\nMaya\nModo\nMotionBuilder\nNatron\nNuke\nRV\nRevit\nShotgun\nScribus\nSoftimage\nSubstanceDesigner\nSubstancePainter\nUnreal\n```\n\n## Instructions\n\ne.g. prints `Blender` if run in Blender\n```python\nimport detect_app\napp_info = detect_app.detect_app()\nprint(app_info.id)  # e.g. substance_painter\n```\nright now app_info is very simple\n- **id**: `str` a unique identifier for the app, lowercase, underscores, not start with nr\n- **action**: `callable` that returns true if run in the app. usually just attempts to import an app specific module\n- **get_name()**: `method` to return a pretty name.\n\n## advanced\nenv variable\n`DETECT_APP_FORCE_ID` can be set to the app id, which will force a specific app to be detected. Useful for testing.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhannesdelbeke%2Fdetect-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhannesdelbeke%2Fdetect-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhannesdelbeke%2Fdetect-app/lists"}