{"id":20471745,"url":"https://github.com/signiant/umpire","last_synced_at":"2025-04-13T11:08:32.558Z","repository":{"id":50089166,"uuid":"45075964","full_name":"Signiant/umpire","owner":"Signiant","description":"Asynchronous generic dependency resolver. Uses a simple file name convention on an S3 bucket to download files, and is configured by feeding it a JSON file. Support authenticated access.","archived":false,"fork":false,"pushed_at":"2024-06-18T20:32:28.000Z","size":157,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2025-04-13T11:08:32.060Z","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/Signiant.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":"2015-10-27T23:16:35.000Z","updated_at":"2024-06-18T20:29:58.000Z","dependencies_parsed_at":"2024-05-13T15:00:45.129Z","dependency_job_id":"99f7a207-ba34-41bd-a1a2-dcc315977b26","html_url":"https://github.com/Signiant/umpire","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Fumpire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Fumpire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Fumpire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signiant%2Fumpire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Signiant","download_url":"https://codeload.github.com/Signiant/umpire/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703198,"owners_count":21148118,"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-11-15T14:17:07.831Z","updated_at":"2025-04-13T11:08:32.512Z","avatar_url":"https://github.com/Signiant.png","language":"Python","readme":"# Umpire: A Dependency Manager\n\nUmpire is a Python-based generic dependency resolver which aims to be platform agnostic, extensible, and simple to use.\n\nUmpire was developed as an easy to install command line tool, with it's flexibility being derived from the JSON file options.\n\nUmpire reads a JSON file to retrieve, cache, and link files to their appropriate destination from an Amazon S3 backed repository of compressed packages.\n\n## Installation\n\nUmpire requires **Python 3.11.6 or above**\n\nUmpire is available as a [pip package](https://pypi.python.org/pypi/pip).\n\nTo install Umpire:\n\n1. Download `get-pip.py` from [PyPA](https://pypa.io).\n\n```sh\n$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py\n```\n\n2. Run the Python script to complete the install.\n\n```sh\n$ python get-pip.py\n```\n\n3. Use latest python3 pip to install Umpire.\n\n```sh\n$ pip3 install umpire\n```\n## Development\n\nTo run a local version of the Umpire\n\nyou clone the repo. and then do a \n```sh\npip3 install -e \u003cpath to the repo\u003e \n```\nnow the umpire will be from your local development repo\n\nYou can check by running \n```sh\npip3 freeze | grep umpire\n```\n\n## Examples\n\nBelow is an example deployment JSON file. The URL is composed of the identifier (s3://) and the bucket name. When using an authenticated bucket, the user must have either the AWS\\_ACCESS\\_KEY\\_ID and AWS\\_SECRET\\_ACCESS\\_KEY variables set or a properly configured credentials file for your platform.\n\nThe items array contains the list of dependencies. Each one requires a platform, name and version. In the s3 bucket they need to be stored with the prefix: **$PLATFORM/$NAME/$VERSION**. Umpire does a case insensitive match against this naming convention to find the appropriate dependency. It will download all files matching the prefix in the bucket, and will attempt to unpack them for future deployment.\n\nThere's also a couple of other options that you can specify. They are:\n\n**link**: [true/false] -- Specifies whether Umpire should link the dependency files to the destination or copy them. Default true.\n\n**keep_updated**: [true/false] -- Specifies whether Umpire should check with the remote S3 bucket when run to see if the dependency has been changed. Default false.\n\n```\n[\n     {\n         \"url\":\"s3://umpire-test/\",\n         \"items\":[\n             {\n                 \"name\":\"test\",\n                 \"version\":\"test_tgz\",\n                 \"platform\":\"test\",\n                 \"keep_updated\":true,\n                 \"link\":false,\n                 \"destination\":\"$ENVIRONMENT_VARIABLE/destination\"\n             },\n             {\n                 \"name\":\"test\",\n                 \"version\":\"test_zip\",\n                 \"platform\":\"test\",\n                 \"keep_updated\":true,\n                 \"destination\":\"./destination\"\n             }\n         ]\n     }\n ]\n```\n\n## Contributing\n\nWant to help out? Awesome!\n\nWe'll gladly take any help in bug fixes, or feature updates if it fits within our whole vision of Umpire. Feel free to create a fork of the repository, and submit a pull request if you do anything cool.\n\n## Todos\n\n - Publishing support\n - Bzip support\n - Optional unpacking\n - File exclusion\n\n## License\n----\n\nUmpire is licensed under the [MIT license](https://github.com/Signiant/umpire/blob/develop/LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigniant%2Fumpire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsigniant%2Fumpire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsigniant%2Fumpire/lists"}