{"id":37079577,"url":"https://github.com/scailfin/rob-client","last_synced_at":"2026-01-14T09:37:56.362Z","repository":{"id":57462253,"uuid":"191959186","full_name":"scailfin/rob-client","owner":"scailfin","description":"Command line user interface for the Reproducible Open Benchmarks for Data Analysis Platform (ROB)","archived":false,"fork":false,"pushed_at":"2021-01-20T19:10:30.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-22T21:30:53.221Z","etag":null,"topics":["benchmarks","data-analysis","reproducibility"],"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/scailfin.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2019-06-14T14:43:17.000Z","updated_at":"2021-01-20T19:10:33.000Z","dependencies_parsed_at":"2022-09-26T17:01:44.192Z","dependency_job_id":null,"html_url":"https://github.com/scailfin/rob-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scailfin/rob-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scailfin%2Frob-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scailfin%2Frob-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scailfin%2Frob-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scailfin%2Frob-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scailfin","download_url":"https://codeload.github.com/scailfin/rob-client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scailfin%2Frob-client/sbom","scorecard":{"id":803097,"data":{"date":"2025-08-11","repo":{"name":"github.com/scailfin/rob-client","commit":"3af9e3de99e70f1ff627db921431d26018268d78"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2022-42991 / GHSA-v3c5-jqr6-7qm8","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T11:02:08.849Z","repository_id":57462253,"created_at":"2025-08-23T11:02:08.849Z","updated_at":"2025-08-23T11:02:08.849Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28416120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["benchmarks","data-analysis","reproducibility"],"created_at":"2026-01-14T09:37:55.629Z","updated_at":"2026-01-14T09:37:56.356Z","avatar_url":"https://github.com/scailfin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://img.shields.io/badge/License-MIT-yellow.svg\n   :target: https://github.com/scailfin/rob-client/blob/master/LICENSE\n\n\n.. figure:: https://github.com/scailfin/rob-client/raw/master/docs/graphics/header-client.png\n  :align: center\n  :alt: ROB Command Line Interface\n\n\n\nAbout\n=====\n\nThe **Reproducible Benchmark Client** is the command line user interface for the *Reproducible Open Benchmarks for Data Analysis Platform (ROB)*. The command line interface interacts with a ROB Web API to create, access, and manipulate users, benchmark submissions and benchmark runs.\n\n**NOTE**: The `rob` client command line interface has now been integrated with the `flowserv` command line interface in the [flowserv-core repository](https://github.com/scailfin/flowserv-core). This repository is *depreciated* and is **no longer mainatined**.\n\n\nInstallation and Configuration\n==============================\n\nThe following installation instructions assume that you install all packages in a local folder `~/projects/rob`.\n\n.. code-block:: bash\n\n    # -- Change the working directory\n\n    cd ~/projects/rob\n\n\nThe Reproducible Open Benchmarks platform is implemented in Python. We recommend using a `virtual environment \u003chttps://virtualenv.pypa.io/en/stable/\u003e`_ for the installation.\n\n.. code-block:: bash\n\n    # -- Create a new virtual environment\n    virtualenv venv\n    # -- Activate the virtual environment\n    source venv/bin/activate\n\n\nThe ROB Client requires the ``flowserv`` package as well as a `Web API Server \u003chttps://github.com/scailfin/rob-webapi-flask\u003e`_. The following steps will install the ROB client and all required packages:\n\n\n.. code-block:: bash\n\n    git clone git@github.com:scailfin/flowserv-core.git\n    pip install -e rob-core\n    git clone git@github.com:scailfin/rob-client.git\n    pip install -e rob-client\n\n\nThe primary configuration parameters are defined in the `ROB Configuration documentation \u003chttps://github.com/scailfin/rob-core/blob/master/docs/configuration.rst\u003e`_. In particular, the environment variables **FLOWSERV_API_HOST**, **FLOWSERV_API_PORT**, and **FLOWSERV_API_PATH** are used to define the base URL for the API that is used for client requests. Three additional environment variables are defined by the client:\n\n- **ROB_ACCESS_TOKEN**: Access token for the user obtained after authentication\n- **ROB_BENCHMARK**: Identifier of the default benchmark\n- **ROB_SUBMISSION**: Identifier of the default submission\n\n\n\nCommand Line Interface\n======================\n\nTo get an overview of the commands that are available via the command line interface use ``rob --help``.\n\n.. code-block:: console\n\n    Usage: rob [OPTIONS] COMMAND [ARGS]...\n\n    Options:\n      --raw   Show raw (JSON) response\n      --help  Show this message and exit.\n\n    Commands:\n      benchmarks   Add and remove benchmarks.\n      files        Upload, download, list and delete submission files.\n      login        Login to to obtain access token.\n      logout       Logout from current user session.\n      pwd          Reset user password.\n      register     Register a new user.\n      runs         Create, query and delete submission runs.\n      submissions  Create, modify, query and delete benchmark submissions.\n      users        List all registered users.\n      whoami       Print name of current user.\n\n\nFor more detailed examples of how to use the ROB Client please have a look at the documentation in the demo repositories `Hello World Demo \u003chttps://github.com/scailfin/rob-demo-hello-world\u003e`_ and `Number Predictor Demo \u003chttps://github.com/scailfin/rob-demo-predictor\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscailfin%2Frob-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscailfin%2Frob-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscailfin%2Frob-client/lists"}