{"id":32174917,"url":"https://github.com/hu-macsy/simexpal","last_synced_at":"2026-02-18T22:02:13.166Z","repository":{"id":47311946,"uuid":"172494896","full_name":"hu-macsy/simexpal","owner":"hu-macsy","description":"Simplifying Experimental Algorithmics","archived":false,"fork":false,"pushed_at":"2025-05-06T10:04:30.000Z","size":567,"stargazers_count":18,"open_issues_count":19,"forks_count":18,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-21T19:26:12.587Z","etag":null,"topics":["algorithms","benchmarking","experiments","research","utility"],"latest_commit_sha":null,"homepage":"https://simexpal.readthedocs.io","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/hu-macsy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","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}},"created_at":"2019-02-25T11:40:03.000Z","updated_at":"2025-06-27T09:00:06.000Z","dependencies_parsed_at":"2022-09-10T02:01:53.497Z","dependency_job_id":"4b318c2d-fbf3-40cd-acfd-1021aeaa262c","html_url":"https://github.com/hu-macsy/simexpal","commit_stats":{"total_commits":500,"total_committers":13,"mean_commits":38.46153846153846,"dds":0.638,"last_synced_commit":"44f363d998f0290afd3679b01b6ab5daea252c6a"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hu-macsy/simexpal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu-macsy%2Fsimexpal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu-macsy%2Fsimexpal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu-macsy%2Fsimexpal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu-macsy%2Fsimexpal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hu-macsy","download_url":"https://codeload.github.com/hu-macsy/simexpal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hu-macsy%2Fsimexpal/sbom","scorecard":{"id":471338,"data":{"date":"2025-08-11","repo":{"name":"github.com/hu-macsy/simexpal","commit":"291641edfbbbd5a18ea930426c3b0b67b60c5e20"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/hu-macsy/simexpal/ci.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:127","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:134","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:69","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:72","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:88","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:91","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:94","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   7 pipCommand dependencies pinned"],"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: License.txt:0","Info: FSF or OSI recognized license: MIT License: License.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: PYSEC-2014-8 / GHSA-8r7q-cvjq-x353","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2014-82 / GHSA-fqh9-2qgg-h84h","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: PYSEC-2019-220 / GHSA-hj2j-77xm-mc5v","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h"],"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 30 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-19T13:57:25.424Z","repository_id":47311946,"created_at":"2025-08-19T13:57:25.425Z","updated_at":"2025-08-19T13:57:25.425Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29596329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T20:59:56.587Z","status":"ssl_error","status_checked_at":"2026-02-18T20:58:41.434Z","response_time":162,"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":["algorithms","benchmarking","experiments","research","utility"],"created_at":"2025-10-21T19:14:52.713Z","updated_at":"2026-02-18T22:02:13.160Z","avatar_url":"https://github.com/hu-macsy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"60%\" src=\"docs/logo/logo.png\" alt=\"simexpal - Simplifying Experimental Algorithmics\"\u003e\u003cbr\u003e\n  \u003ca href=\"https://github.com/hu-macsy/simexpal/actions\"\u003e\u003cimg src=\"https://github.com/hu-macsy/simexpal/actions/workflows/ci.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://badge.fury.io/py/simexpal\"\u003e\u003cimg src=\"https://badge.fury.io/py/simexpal.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# simexpal \n\n_simexpal_ is a Python based tool to setup, manage, launch, monitor, and\nevaluate algorithmic experiments. If you can not wait to try it out and dive\ninto it, you may find our [quick start\nguide](https://simexpal.readthedocs.io/en/latest/quick_start.html) handy. \n\n_simexpal_ is mainly developed by the MACSy (Modelling and Analysis of Complex\nSystems) group where graph data is at the core of most projects. Therefore, the\ntool provides some special functionality for graph algorithm experiments.\nHowever, this does not limit _simexpal_ to be only used for graph algorithm\nexperiments, but is a tool that can be used to setup and manage almost all\nalgorithmic experiments. \n\nSince algorithmic experiments require several tasks in a specific order, the\ngoal of this tool is to clearly describe and automatize these ordered, and\nconsecutively executed tasks. Firstly, _simexpal_ allows to make quick changes\nto the experiment setup. Secondly, it allows to describe experiments that are\neasy to rerun. When describing the necessary steps, even users with no knowledge\nof _simexpal_ should be able to quickly setup and execute the described\nexperiments.\n\n_simexpal_ consists of both a command line interface (CLI) utility and a Python\npackage. While the CLI can be used to perform many common tasks with minimal\nconfiguration, the Python package can be employed when more extensive\ncustomization is necessary.\n\n## Feature Set Summary\n\nThe following is a non-exhaustive list of the functionality provided by\n_simexpal_:\n\n- **resolve external resources** such as Git repositories\n- describe and setup **build processes**\n- declaratively describe **experiments** using the YAML language \n- define **parameters** and parameter permutations\n- manage **data sets** and specifically graph data\n- **run and monitor** experiments on multiple computing platforms\n- **evaluate** experiment results\n\n## Why should I use _simexpal_?\n\nWhether you're a student, an algorithm enthusiast, or a researcher: developing\nexperiments that can easily be reproduced will support the validity of your\nfindings. Self-written scripts often bind experiments to a narrow set of soft-\nand hardware. If not well documented, such scripts may be a source of error, or\nthe experiments may not be reproduced as intended.\n\nEven though _simexpal_ may not yet be the perfect algorithm experiment\nmanagement software, our goal was to abstract algorithmic experiments from their\nhard- and software requirements, as well as to provide a clearly structured and\nwell documented experiment setup. _simexpal_ will allow you to share your\nexperiments with third parties, and it allows the third parties to validate your\nexperimental results and findings with only a minimal description on how to\nbuild and run the experiments on their side.\n\nUltimately, _simexpal_ represents an algorithmic experiment management tool with\nwhich one can clearly define their experiment setup and execution. Therefore, by\nusing _simexpal_ one contributes to the goal of reproducible algorithmic\nexperiments.  \n\n# Documentation\n\nPlease see [readthedocs](https://simexpal.readthedocs.io) for our documentation\nof _simexpal_ features.\n\nOur documentation also includes a [quick start\nguide](https://simexpal.readthedocs.io/en/latest/quick_start.html) including a\nstep-by-step guide to install and use _simexpal_.\n\n# Reference\n\nWhether you're using _simexpal_ for you open source project, as part of your\nresearch, or any other purpose, please use the following article as reference\nfrom [MDPI](https://www.mdpi.com/1999-4893/12/7/127):\n\nAngriman, E.; van der Grinten, A.; von Looz, M.; Meyerhenke, H.; Nöllenburg, M.;\nPredari, M.; Tzovas, C. Guidelines for Experimental Algorithmics: A Case Study\nin Network Analysis. Algorithms 2019, 12, 127. https://doi.org/10.3390/a12070127\n\nBibTex format (w/o abstract):\n\n```tex\n@article{simexpal2019,\n  author         = {Angriman, Eugenio and van der Grinten, Alexander and von Looz, Moritz and Meyerhenke, Henning and Nöllenburg, Martin and Predari, Maria and Tzovas, Charilaos},\n  title          = {Guidelines for Experimental Algorithmics: A Case Study in Network Analysis},\n  journal        = {Algorithms},\n  volume         = {12},\n  year           = {2019},\n  number         = {7},\n  article-number = {127},\n  url            = {https://www.mdpi.com/1999-4893/12/7/127},\n  issn           = {1999-4893},\n  doi            = {10.3390/a12070127}\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhu-macsy%2Fsimexpal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhu-macsy%2Fsimexpal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhu-macsy%2Fsimexpal/lists"}