{"id":47667640,"url":"https://github.com/ynput/ayon-dependencies-tool","last_synced_at":"2026-04-02T12:02:47.408Z","repository":{"id":185542476,"uuid":"540403921","full_name":"ynput/ayon-dependencies-tool","owner":"ynput","description":"Tool to pull dependency info for all Addons to create new venv and upload it back to v4 server","archived":false,"fork":false,"pushed_at":"2026-03-24T10:24:35.000Z","size":8353,"stargazers_count":8,"open_issues_count":6,"forks_count":9,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2026-03-24T10:54:59.094Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ynput.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-23T11:15:55.000Z","updated_at":"2026-03-23T13:17:53.000Z","dependencies_parsed_at":"2023-08-20T10:52:44.406Z","dependency_job_id":"e8d5a89e-1149-40f5-9795-76a34d498eca","html_url":"https://github.com/ynput/ayon-dependencies-tool","commit_stats":null,"previous_names":["ynput/ayon-dependencies-tool"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ynput/ayon-dependencies-tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynput%2Fayon-dependencies-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynput%2Fayon-dependencies-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynput%2Fayon-dependencies-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynput%2Fayon-dependencies-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ynput","download_url":"https://codeload.github.com/ynput/ayon-dependencies-tool/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynput%2Fayon-dependencies-tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31305971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T09:48:21.550Z","status":"ssl_error","status_checked_at":"2026-04-02T09:48:19.196Z","response_time":89,"last_error":"SSL_read: 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":[],"created_at":"2026-04-02T12:02:46.785Z","updated_at":"2026-04-02T12:02:47.403Z","avatar_url":"https://github.com/ynput.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Addon dependencies distribution tool\n------------------------------------\n\nThis tool is backend portion of Addon distribution of dependencies for [AYON launcher](https://github.com/ynput/ayon-launcher).\n\nThis collects info about all enabled addons on the [AYON server](https://github.com/ynput/ayon-docker) based on bundle name, reads their\npyproject.toml files, create one merged pyproject.toml (it tries to find common denominator for dependency version).\n\nThen it uses Poetry to create new venv, zips it and provides this to AYON server for distribution.\n\nIt is expected to run on machine that has set reasonable development environment.\n\nRequired environment variables:\n- AYON_SERVER_URL - AYON server url\n- AYON_API_KEY - AYON api key for service account\n\nFor local development, use `.env` file. You can use `example_env` as base.\n\nThe tool should ideally run automatically and listen for events on the Server OR could be run manually on machine(s).\n\nEntry point for manual triggering is `start.ps1` or `start.sh`.\n\nImplemented commands:\n- `install` - creates `./.venv` with requirements for this tool\n- `create` - runs main process to create new dependency package and uploads it. Expects argument with name of Bundle (eg. `./start create -b MyBundle`). For more information `./start create --help`.\n- `listen` - starts service connecting to AYON server and listening for events to trigger main process (TBD)\n- `list-bundles` - lists all bundles on AYON server\n\nTODO:\n- [ ] force to reuse python version from Installer (make `pyenv` required)\n- [ ] safe runtime dependencies\n    - dependencies and runtime dependencies are not validated against each other\n    - e.g. SomeModule==1.0.0 can be defined in dependencies and SomeModule\u003e=1.1.0 in runtime dependencies\n- [ ] skip dependency package creation if there are not any addons with dependencies\n- [ ] Provide dockerized AYON service manageable directly by [ASH (AYON service host)](https://github.com/ynput/ash)\n- [X] Provide single-time docker to create dependency packages for linux distros\n    - [X] be able to re-use the image for multiple runs\n    - [ ] take environment variables from called script\n    - [ ] limit which files are copied to docker (e.g. should not contain '.env' file)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynput%2Fayon-dependencies-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fynput%2Fayon-dependencies-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynput%2Fayon-dependencies-tool/lists"}