{"id":18726895,"url":"https://github.com/pytroll/pytroll-runner","last_synced_at":"2025-04-12T16:32:00.110Z","repository":{"id":162106415,"uuid":"636712143","full_name":"pytroll/pytroll-runner","owner":"pytroll","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-07T20:10:09.000Z","size":98,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-07T21:25:26.134Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pytroll.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2023-05-05T13:21:25.000Z","updated_at":"2025-03-21T10:20:29.000Z","dependencies_parsed_at":"2024-01-14T23:05:57.037Z","dependency_job_id":"5812a125-6613-43b1-b5ae-d2ed9469adac","html_url":"https://github.com/pytroll/pytroll-runner","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":"0.11538461538461542","last_synced_commit":"f075fda3c1814d3a003ae4cb22b80b29d2fb6382"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fpytroll-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fpytroll-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fpytroll-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pytroll%2Fpytroll-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pytroll","download_url":"https://codeload.github.com/pytroll/pytroll-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248596576,"owners_count":21130723,"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":["hacktoberfest"],"created_at":"2024-11-07T14:15:47.560Z","updated_at":"2025-04-12T16:32:00.104Z","avatar_url":"https://github.com/pytroll.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pytroll-runner\n\nThe pytroll runner is a generic runner that allows to automate third party software in a pytroll environment.\nThe runner is listening for pytroll messages and running a user provided command on the files mentioned in the received\nmessage. When the command had run, the resulting files are published as pytroll messages.\nThe published messages will contain metadata from the input message (except for uris and uids).\n\nTo start the runner: `pytroll-runner config.yaml`\n\n## The configuration file\n\nThe configuration file is made of three sections.\n\n### `script`\n\nA dictionary with:\n- `command` Full path script to run\n- optionally `workers` The number of workers to use for parallel processing of messages. Defaults to 1.\n\n### `subscriber_config`\n\nThe configuration of the subscriber. The contents of this section are passed directly to posstroll's\n`create_subscriber_from_dict`.\n\n### `publisher_config`\n\nThis section contains settings on how to publish messages.\n\n#### `expected_files`\n\nThe glob pattern of files to be expected when the script is run. Beware that any files with matching filenames will\nbe included in the list, and that could include files from previous runs.\n\n#### `static_metadata`\n\nMetadata to include in the published messages.\n\n#### `publisher_settings`\n\nThe configuration for the publisher. The contents of this sections are passed directly to posttroll's\n`create_publisher_from_dict`.\n\n### Example\n\n```yaml\nscript: /tmp/pytest-of-a001673/pytest-169/test_fake_publisher0/myscript_bla.sh\npublisher_config:\n  expected_files: /tmp/pytest-of-a001673/pytest-169/test_fake_publisher0/file?.bla\n  publisher_settings:\n    nameservers: false\n    port: 1979\n  static_metadata:\n    sensor: thermometer\n  topic: /hi/there\nsubscriber_config:\n  addresses:\n  - ipc://bla\n  nameserver: false\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytroll%2Fpytroll-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpytroll%2Fpytroll-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpytroll%2Fpytroll-runner/lists"}