{"id":606,"name":null,"description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","url":"https://github.com/kamui/retriable","last_synced_at":"2026-04-30T04:01:49.373Z","repository":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-03-10T03:28:12.000Z","size":310,"stargazers_count":890,"open_issues_count":8,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-28T03:04:51.253Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-02-09T08:21:30.000Z","updated_at":"2026-04-20T10:37:06.000Z","dependencies_parsed_at":"2026-03-16T06:01:38.649Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32377681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T09:24:15.638Z","status":"ssl_error","status_checked_at":"2026-04-28T09:24:15.071Z","response_time":56,"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"}},"owner":{"login":"kamui","name":"Jack Chu","uuid":"2255","kind":"user","description":"","email":"","website":"https://jackchu.com","location":"New York","twitter":"jack_chu","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2255?u=488912b0d7eadac84a960d661587681b4e859a0a\u0026v=4","repositories_count":72,"last_synced_at":"2023-04-09T04:55:31.669Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kamui","funding_links":[],"total_stars":939,"followers":null,"following":null,"created_at":"2022-11-02T16:20:24.081Z","updated_at":"2024-03-25T17:28:58.664Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui/repositories"},"packages":[{"id":13779682,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T13:24:37.249Z","latest_release_published_at":"2026-02-13T13:24:37.249Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-13T13:37:35.208Z","created_at":"2026-02-13T13:24:37.060Z","updated_at":"2026-03-13T13:37:35.208Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T13:24:37.909Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-22.04\u0026repository_url=https://launchpad.net/ubuntu/jammy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-22.04","url":"https://launchpad.net/ubuntu/jammy","ecosystem":"ubuntu","default":false,"packages_count":34289,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"jammy"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:46.486Z","updated_at":"2026-04-27T18:20:36.155Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-22.04/namespaces"}},{"id":13713197,"name":"ruby-retriable","ecosystem":"debian","description":null,"homepage":"http://github.com/kamui/retriable","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/kamui/retriable","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T23:39:45.609Z","latest_release_published_at":"2026-02-12T23:39:45.609Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-13T15:48:04.264Z","created_at":"2026-02-12T23:39:45.421Z","updated_at":"2026-03-13T16:01:55.563Z","registry_url":"https://tracker.debian.org/pkg/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":"https://packages.debian.org/bookworm/ruby-retriable","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-12T23:39:46.164Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-retriable?arch=source\u0026distro=debian-12","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"debian-12","url":"https://packages.debian.org/bookworm","ecosystem":"debian","default":true,"packages_count":34734,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"bookworm"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.459Z","updated_at":"2026-04-27T18:20:38.992Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-12/namespaces"}},{"id":13407236,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-06T15:56:20.468Z","latest_release_published_at":"2026-02-06T15:56:20.468Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-06T16:41:34.570Z","created_at":"2026-02-06T15:56:16.928Z","updated_at":"2026-03-06T16:41:34.570Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-24.04","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.04","url":"https://launchpad.net/ubuntu/noble","ecosystem":"ubuntu","default":true,"packages_count":37306,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"noble"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:45.928Z","updated_at":"2026-04-27T18:20:35.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.04/namespaces"}},{"id":13606031,"name":"ruby-retriable","ecosystem":"debian","description":null,"homepage":"http://github.com/kamui/retriable","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-11T11:26:35.788Z","latest_release_published_at":"2026-02-11T11:26:35.788Z","latest_release_number":"3.0.1-2","last_synced_at":"2026-03-14T03:02:00.469Z","created_at":"2026-02-11T11:26:35.548Z","updated_at":"2026-03-14T03:02:00.469Z","registry_url":"https://tracker.debian.org/pkg/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":"https://packages.debian.org/buster/ruby-retriable","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.0.0","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper (\u003e= 9~), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-01-11T05:38:57.000Z","size":264,"stargazers_count":867,"open_issues_count":11,"forks_count":46,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-22T15:48:55.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-02-09T08:21:30.000Z","updated_at":"2026-01-16T09:51:24.000Z","dependencies_parsed_at":"2026-01-22T04:00:37.232Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"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"}},"repo_metadata_updated_at":"2026-02-11T15:15:20.870Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-retriable?arch=source\u0026distro=debian-10\u0026repository_url=https://packages.debian.org/buster","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"debian-10","url":"https://packages.debian.org/buster","ecosystem":"debian","default":false,"packages_count":28836,"maintainers_count":0,"namespaces_count":3,"keywords_count":915,"github":"debian","metadata":{"codename":"buster","mirror":"http://archive.debian.org/debian"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.156Z","updated_at":"2026-04-27T18:20:39.693Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-10/namespaces"}},{"id":13805174,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T18:31:28.792Z","latest_release_published_at":"2026-02-13T18:31:28.792Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-14T03:13:59.554Z","created_at":"2026-02-13T18:31:28.573Z","updated_at":"2026-03-14T03:13:59.555Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-01-11T05:38:57.000Z","size":264,"stargazers_count":867,"open_issues_count":11,"forks_count":46,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-22T15:48:55.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-02-09T08:21:30.000Z","updated_at":"2026-01-16T09:51:24.000Z","dependencies_parsed_at":"2026-01-22T04:00:37.232Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"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"}},"repo_metadata_updated_at":"2026-02-13T18:31:28.976Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":1.0316030784345833,"forks_count":1.7302548987500683,"docker_downloads_count":null,"average":0.6904644942961629},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-23.10\u0026repository_url=https://launchpad.net/ubuntu/mantic","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.10","url":"https://launchpad.net/ubuntu/mantic","ecosystem":"ubuntu","default":false,"packages_count":36642,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"mantic","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.636Z","updated_at":"2026-04-27T18:20:38.051Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.10/namespaces"}},{"id":13751649,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-13T07:21:47.174Z","latest_release_published_at":"2026-02-13T07:21:47.174Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-13T20:24:37.677Z","created_at":"2026-02-13T07:21:46.997Z","updated_at":"2026-03-13T20:24:37.678Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":"2026-02-13T07:21:47.813Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-20.04\u0026repository_url=https://launchpad.net/ubuntu/focal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-20.04","url":"https://launchpad.net/ubuntu/focal","ecosystem":"ubuntu","default":false,"packages_count":30789,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"focal"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:47.233Z","updated_at":"2026-04-27T18:20:36.874Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-20.04/namespaces"}},{"id":13530904,"name":"ruby-retriable","ecosystem":"debian","description":null,"homepage":"http://github.com/kamui/retriable","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-10T23:37:47.947Z","latest_release_published_at":"2026-02-10T23:37:47.947Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-14T07:17:59.465Z","created_at":"2026-02-10T23:37:47.744Z","updated_at":"2026-03-14T07:17:59.465Z","registry_url":"https://tracker.debian.org/pkg/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":"https://packages.debian.org/bullseye/ruby-retriable","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-01-11T05:38:57.000Z","size":264,"stargazers_count":867,"open_issues_count":11,"forks_count":46,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-22T15:48:55.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-02-09T08:21:30.000Z","updated_at":"2026-01-16T09:51:24.000Z","dependencies_parsed_at":"2026-01-22T04:00:37.232Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"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"}},"repo_metadata_updated_at":"2026-02-11T14:26:58.405Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/debian/ruby-retriable?arch=source\u0026distro=debian-11\u0026repository_url=https://packages.debian.org/bullseye","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"debian-11","url":"https://packages.debian.org/bullseye","ecosystem":"debian","default":false,"packages_count":31268,"maintainers_count":0,"namespaces_count":3,"keywords_count":0,"github":"debian","metadata":{"codename":"bullseye"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:49.702Z","updated_at":"2026-04-27T18:20:39.352Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-11/namespaces"}},{"id":13567075,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-11T06:48:31.474Z","latest_release_published_at":"2026-02-11T06:48:31.474Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-11T14:08:09.092Z","created_at":"2026-02-11T06:48:31.279Z","updated_at":"2026-03-11T14:08:09.409Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-01-11T05:38:57.000Z","size":264,"stargazers_count":867,"open_issues_count":11,"forks_count":46,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-22T15:48:55.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-02-09T08:21:30.000Z","updated_at":"2026-01-16T09:51:24.000Z","dependencies_parsed_at":"2026-01-22T04:00:37.232Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"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"}},"repo_metadata_updated_at":"2026-02-11T14:57:13.698Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-23.04\u0026repository_url=https://launchpad.net/ubuntu/lunar","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-23.04","url":"https://launchpad.net/ubuntu/lunar","ecosystem":"ubuntu","default":false,"packages_count":36116,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"lunar","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:49.117Z","updated_at":"2026-04-27T18:20:38.741Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-23.04/namespaces"}},{"id":12310197,"name":"retriable","ecosystem":"rubygems","description":"Retriable is a simple DSL to retry failed code blocks with randomized exponential backoff. This is especially useful when interacting with external APIs/services or file system calls.","homepage":"https://github.com/kamui/retriable","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":[],"namespace":null,"versions_count":28,"first_release_published_at":"2012-02-10T09:59:57.852Z","latest_release_published_at":"2026-03-09T23:59:51.811Z","latest_release_number":"3.4.1","last_synced_at":"2026-04-29T15:48:36.957Z","created_at":"2025-10-07T05:27:38.329Z","updated_at":"2026-04-29T17:14:23.442Z","registry_url":"https://gem.coop/gems/retriable","install_command":"gem install retriable -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/retriable/","metadata":{"funding":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-03-10T03:28:12.000Z","size":310,"stargazers_count":889,"open_issues_count":8,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-19T23:10:30.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-02-09T08:21:30.000Z","updated_at":"2026-04-15T14:38:26.000Z","dependencies_parsed_at":"2026-03-16T06:01:38.649Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"kamui","name":"Jack Chu","uuid":"2255","kind":"user","description":"","email":"","website":"https://jackchu.com","location":"New York","twitter":"jack_chu","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2255?u=488912b0d7eadac84a960d661587681b4e859a0a\u0026v=4","repositories_count":72,"last_synced_at":"2023-04-09T04:55:31.669Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kamui","funding_links":[],"total_stars":939,"followers":null,"following":null,"created_at":"2022-11-02T16:20:24.081Z","updated_at":"2024-03-25T17:28:58.664Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui/repositories"},"tags":[{"name":"v3.4.1","sha":"312ededb6b9be90f5cbfeb5c171ba7892b8976e2","kind":"tag","published_at":"2026-03-09T23:59:40.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1/manifests"},{"name":"v3.4.0","sha":"b82834939049541de1d8737c4ba847d4cd34fe38","kind":"tag","published_at":"2026-03-09T15:36:17.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"0a3974e5684cc6d2c1c869127beeb48bfeb92b2e","kind":"tag","published_at":"2026-03-06T15:54:47.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"65ffa55a4b26e1061c15a16ff8fcf1506ec10b09","kind":"tag","published_at":"2026-02-19T16:38:41.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"9035787de1be0fa5ecb314528457ec9b15d60ad9","kind":"tag","published_at":"2026-02-18T17:20:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0/manifests"},{"name":"v3.1.2","sha":"d66e4db725f39fd4723ae1ba7cb286aa36e8183a","kind":"tag","published_at":"2025-03-20T03:52:34.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9f51811a1ba683cafbb74ee184db8496f9633f04","kind":"tag","published_at":"2017-07-29T18:28:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"a0bcaf33d35000533e50dea4b57894a5c5c683f1","kind":"tag","published_at":"2017-07-28T05:36:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0/manifests"},{"name":"v3.0.2","sha":"b8395f49186b6c3056f2ac8b329097421f8910ac","kind":"tag","published_at":"2017-04-27T03:13:58.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"511dbfcc1ef151d760928a74f00b4b6bb263bbf5","kind":"tag","published_at":"2017-02-19T01:01:28.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"9fb6ebe573e78127c188f2219c84d2813e1d271c","kind":"tag","published_at":"2017-01-08T01:03:51.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0/manifests"},{"name":"v2.1.0","sha":"eaab7caba015389adf1b892e9bec4e97f9430eda","kind":"tag","published_at":"2015-10-01T23:05:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"07d33c33172d4bdc4895e3973d3e8d029b38ba47","kind":"tag","published_at":"2015-01-31T02:18:06.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"7e3a73e2f43985dc3a4aa25f029f454c4b9014bc","kind":"tag","published_at":"2015-01-30T05:30:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"71ce3559c2e6caa44f0a768306ffcaa698905f0c","kind":"tag","published_at":"2015-01-30T00:32:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0/manifests"},{"name":"v2.0.0.beta5","sha":"13d311f90ca26b2e371e00fea07a006a66de7025","kind":"tag","published_at":"2014-10-09T10:13:10.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta5","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5/manifests"},{"name":"v2.0.0.beta4","sha":"c3ecb198b8839437fa9a5e9c88d157d2ef0c8b8f","kind":"tag","published_at":"2014-10-09T09:39:48.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta4","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4/manifests"},{"name":"v2.0.0.beta3","sha":"f50207844dcd4ab2a0e7315bd2eb99f1fb1f5bd5","kind":"tag","published_at":"2014-10-05T06:30:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta3","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3/manifests"},{"name":"v2.0.0.beta2","sha":"50d86a79d7d0584131d88bf98c87e682b1a99391","kind":"tag","published_at":"2014-09-25T23:55:39.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2/manifests"},{"name":"v2.0.0.beta1","sha":"bd2964c517c55eb1ffaa6b944d0c216ad7e4a118","kind":"tag","published_at":"2014-09-25T21:27:04.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1/manifests"},{"name":"v1.4.1","sha":"0f25784842cbde2cab9b2a4ee800142ad4794c59","kind":"tag","published_at":"2013-09-06T02:52:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"36209dc3a131e67aacdc6a9c79018c40d252c2b8","kind":"tag","published_at":"2013-09-04T06:30:52.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0/manifests"},{"name":"v1.3.3.1","sha":"cedd99c514da4bc533a656db86a3356b7b9b8547","kind":"tag","published_at":"2013-07-02T04:54:15.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1/manifests"},{"name":"v1.3.3","sha":"e18da6ec45bc638c5234e80fba34f9c932bebccf","kind":"tag","published_at":"2012-11-14T03:53:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"f45c19ab80ac3049f59b86cf5833b25819b348b6","kind":"tag","published_at":"2012-03-07T04:31:56.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.2","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"ff080b93fed2f63e7e49dfcd580c9f1a1face1bf","kind":"tag","published_at":"2012-02-14T21:01:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"39faf1d7efe5ff0b854909f1ae0b49dddf658b11","kind":"tag","published_at":"2012-02-14T20:57:14.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"23fa8240c6caf63085b35e3a87e09bba072db0c0","kind":"tag","published_at":"2012-02-10T09:59:54.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0/manifests"},{"name":"1.1.0","sha":"b53f8f9975f82f9bb5831786b3e79519ce4fbdde","kind":"commit","published_at":"2011-04-18T03:03:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"c86858b3479ce43f551445cde71776ef30ed51ee","kind":"commit","published_at":"2011-04-12T13:45:30.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-29T17:14:23.421Z","dependent_packages_count":0,"downloads":368209293,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.06866163868840051,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":0.022887212896133505},"purl":"pkg:gem/retriable?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/retriable","docker_dependents_count":970,"docker_downloads_count":574214981,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-22T00:01:12.161Z","issues_count":30,"pull_requests_count":84,"avg_time_to_close_issue":14813088.708333334,"avg_time_to_close_pull_request":10702858.618421054,"issues_closed_count":24,"pull_requests_closed_count":76,"pull_request_authors_count":31,"issue_authors_count":25,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":2.0357142857142856,"merged_pull_requests_count":56,"bot_issues_count":2,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":20654.5,"past_year_avg_time_to_close_pull_request":8119.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.125,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/issues","maintainers":[{"login":"kamui","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}],"active_maintainers":[{"login":"kamui","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/retriable/codemeta","maintainers":[{"uuid":"1012","login":"kamui","name":null,"email":null,"url":null,"packages_count":15,"html_url":"https://gem.coop/profiles/kamui","role":null,"created_at":"2025-10-08T04:33:32.813Z","updated_at":"2025-10-08T04:33:32.813Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/kamui/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190401,"maintainers_count":67480,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":13669443,"name":"ruby-retriable","ecosystem":"debian","description":null,"homepage":"http://github.com/kamui/retriable","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":["misc"],"namespace":"main","versions_count":1,"first_release_published_at":"2026-02-12T12:41:27.732Z","latest_release_published_at":"2026-02-12T12:41:27.732Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-14T15:02:53.937Z","created_at":"2026-02-12T12:41:27.524Z","updated_at":"2026-03-14T15:02:53.938Z","registry_url":"https://tracker.debian.org/pkg/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":"https://packages.debian.org/trixie/ruby-retriable","metadata":{"component":"main","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-01-11T05:38:57.000Z","size":264,"stargazers_count":867,"open_issues_count":11,"forks_count":46,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-01-22T15:48:55.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-02-09T08:21:30.000Z","updated_at":"2026-01-16T09:51:24.000Z","dependencies_parsed_at":"2026-01-22T04:00:37.232Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"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"}},"repo_metadata_updated_at":"2026-02-12T12:41:28.000Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":0.5807388288433618,"forks_count":1.0013865352025884,"docker_downloads_count":null,"average":0.39553134101148757},"purl":"pkg:deb/debian/ruby-retriable?arch=source\u0026distro=debian-13\u0026repository_url=https://packages.debian.org/trixie","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/debian/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/debian/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/debian/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"debian-13","url":"https://packages.debian.org/trixie","ecosystem":"debian","default":false,"packages_count":38024,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"debian","metadata":{"codename":"trixie"},"icon_url":"https://github.com/debian.png","created_at":"2026-02-04T11:01:50.448Z","updated_at":"2026-04-27T18:20:39.853Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/debian-13/namespaces"}},{"id":13467182,"name":"ruby-retriable","ecosystem":"ubuntu","description":null,"homepage":"http://github.com/kamui/retriable","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/kamui/retriable","keywords_array":["universe/misc"],"namespace":"universe","versions_count":1,"first_release_published_at":"2026-02-09T17:09:20.132Z","latest_release_published_at":"2026-02-09T17:09:20.132Z","latest_release_number":"3.1.2-1","last_synced_at":"2026-03-09T18:22:40.783Z","created_at":"2026-02-09T17:09:15.593Z","updated_at":"2026-03-09T18:32:55.919Z","registry_url":"https://launchpad.net/ubuntu/+source/ruby-retriable","install_command":"apt-get install ruby-retriable","documentation_url":null,"metadata":{"component":"universe","architecture":"all","priority":"optional","binary":"ruby-retriable","standards_version":"4.4.1","maintainer":"Debian Ruby Extras Maintainers \u003cpkg-ruby-extras-maintainers@lists.alioth.debian.org\u003e","build_depends":"debhelper-compat (= 12), gem2deb, rake, ruby-rspec, pry","build_depends_indep":null,"build_depends_arch":null},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:deb/ubuntu/ruby-retriable?arch=source\u0026distro=ubuntu-24.10\u0026repository_url=https://launchpad.net/ubuntu/oracular","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/ubuntu/ruby-retriable","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/ubuntu/ruby-retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/ubuntu/ruby-retriable/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages/ruby-retriable/codemeta","maintainers":[],"registry":{"name":"ubuntu-24.10","url":"https://launchpad.net/ubuntu/oracular","ecosystem":"ubuntu","default":false,"packages_count":38437,"maintainers_count":0,"namespaces_count":4,"keywords_count":0,"github":"ubuntu","metadata":{"codename":"oracular","mirror":"http://old-releases.ubuntu.com/ubuntu"},"icon_url":"https://github.com/ubuntu.png","created_at":"2026-02-04T11:01:48.028Z","updated_at":"2026-04-27T18:20:37.303Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/ubuntu-24.10/namespaces"}},{"id":287500,"name":"retriable","ecosystem":"rubygems","description":"Retriable is a simple DSL to retry failed code blocks with randomized exponential backoff. This is especially useful when interacting with external APIs/services or file system calls.","homepage":"https://github.com/kamui/retriable","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":[],"namespace":null,"versions_count":28,"first_release_published_at":"2012-02-10T09:59:57.852Z","latest_release_published_at":"2026-03-09T23:59:51.811Z","latest_release_number":"3.4.1","last_synced_at":"2026-04-28T03:01:46.189Z","created_at":"2022-04-06T09:11:41.403Z","updated_at":"2026-04-28T03:02:40.058Z","registry_url":"https://rubygems.org/gems/retriable","install_command":"gem install retriable -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/retriable/","metadata":{"funding":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-03-10T03:28:12.000Z","size":310,"stargazers_count":889,"open_issues_count":8,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-19T23:10:30.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-02-09T08:21:30.000Z","updated_at":"2026-04-15T14:38:26.000Z","dependencies_parsed_at":"2026-03-16T06:01:38.649Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"kamui","name":"Jack Chu","uuid":"2255","kind":"user","description":"","email":"","website":"https://jackchu.com","location":"New York","twitter":"jack_chu","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2255?u=488912b0d7eadac84a960d661587681b4e859a0a\u0026v=4","repositories_count":72,"last_synced_at":"2023-04-09T04:55:31.669Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kamui","funding_links":[],"total_stars":939,"followers":null,"following":null,"created_at":"2022-11-02T16:20:24.081Z","updated_at":"2024-03-25T17:28:58.664Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui/repositories"},"tags":[{"name":"v3.4.1","sha":"312ededb6b9be90f5cbfeb5c171ba7892b8976e2","kind":"tag","published_at":"2026-03-09T23:59:40.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1/manifests"},{"name":"v3.4.0","sha":"b82834939049541de1d8737c4ba847d4cd34fe38","kind":"tag","published_at":"2026-03-09T15:36:17.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"0a3974e5684cc6d2c1c869127beeb48bfeb92b2e","kind":"tag","published_at":"2026-03-06T15:54:47.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"65ffa55a4b26e1061c15a16ff8fcf1506ec10b09","kind":"tag","published_at":"2026-02-19T16:38:41.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"9035787de1be0fa5ecb314528457ec9b15d60ad9","kind":"tag","published_at":"2026-02-18T17:20:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0/manifests"},{"name":"v3.1.2","sha":"d66e4db725f39fd4723ae1ba7cb286aa36e8183a","kind":"tag","published_at":"2025-03-20T03:52:34.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9f51811a1ba683cafbb74ee184db8496f9633f04","kind":"tag","published_at":"2017-07-29T18:28:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"a0bcaf33d35000533e50dea4b57894a5c5c683f1","kind":"tag","published_at":"2017-07-28T05:36:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0/manifests"},{"name":"v3.0.2","sha":"b8395f49186b6c3056f2ac8b329097421f8910ac","kind":"tag","published_at":"2017-04-27T03:13:58.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"511dbfcc1ef151d760928a74f00b4b6bb263bbf5","kind":"tag","published_at":"2017-02-19T01:01:28.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"9fb6ebe573e78127c188f2219c84d2813e1d271c","kind":"tag","published_at":"2017-01-08T01:03:51.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0/manifests"},{"name":"v2.1.0","sha":"eaab7caba015389adf1b892e9bec4e97f9430eda","kind":"tag","published_at":"2015-10-01T23:05:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"07d33c33172d4bdc4895e3973d3e8d029b38ba47","kind":"tag","published_at":"2015-01-31T02:18:06.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"7e3a73e2f43985dc3a4aa25f029f454c4b9014bc","kind":"tag","published_at":"2015-01-30T05:30:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"71ce3559c2e6caa44f0a768306ffcaa698905f0c","kind":"tag","published_at":"2015-01-30T00:32:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0/manifests"},{"name":"v2.0.0.beta5","sha":"13d311f90ca26b2e371e00fea07a006a66de7025","kind":"tag","published_at":"2014-10-09T10:13:10.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta5","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5/manifests"},{"name":"v2.0.0.beta4","sha":"c3ecb198b8839437fa9a5e9c88d157d2ef0c8b8f","kind":"tag","published_at":"2014-10-09T09:39:48.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta4","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4/manifests"},{"name":"v2.0.0.beta3","sha":"f50207844dcd4ab2a0e7315bd2eb99f1fb1f5bd5","kind":"tag","published_at":"2014-10-05T06:30:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta3","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3/manifests"},{"name":"v2.0.0.beta2","sha":"50d86a79d7d0584131d88bf98c87e682b1a99391","kind":"tag","published_at":"2014-09-25T23:55:39.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2/manifests"},{"name":"v2.0.0.beta1","sha":"bd2964c517c55eb1ffaa6b944d0c216ad7e4a118","kind":"tag","published_at":"2014-09-25T21:27:04.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1/manifests"},{"name":"v1.4.1","sha":"0f25784842cbde2cab9b2a4ee800142ad4794c59","kind":"tag","published_at":"2013-09-06T02:52:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"36209dc3a131e67aacdc6a9c79018c40d252c2b8","kind":"tag","published_at":"2013-09-04T06:30:52.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0/manifests"},{"name":"v1.3.3.1","sha":"cedd99c514da4bc533a656db86a3356b7b9b8547","kind":"tag","published_at":"2013-07-02T04:54:15.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1/manifests"},{"name":"v1.3.3","sha":"e18da6ec45bc638c5234e80fba34f9c932bebccf","kind":"tag","published_at":"2012-11-14T03:53:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"f45c19ab80ac3049f59b86cf5833b25819b348b6","kind":"tag","published_at":"2012-03-07T04:31:56.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.2","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"ff080b93fed2f63e7e49dfcd580c9f1a1face1bf","kind":"tag","published_at":"2012-02-14T21:01:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"39faf1d7efe5ff0b854909f1ae0b49dddf658b11","kind":"tag","published_at":"2012-02-14T20:57:14.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"23fa8240c6caf63085b35e3a87e09bba072db0c0","kind":"tag","published_at":"2012-02-10T09:59:54.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0/manifests"},{"name":"1.1.0","sha":"b53f8f9975f82f9bb5831786b3e79519ce4fbdde","kind":"commit","published_at":"2011-04-18T03:03:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"c86858b3479ce43f551445cde71776ef30ed51ee","kind":"commit","published_at":"2011-04-12T13:45:30.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-28T03:02:40.057Z","dependent_packages_count":93,"downloads":367703883,"downloads_period":"total","dependent_repos_count":30932,"rankings":{"downloads":0.07470924722070449,"dependent_repos_count":0.19680868857394543,"dependent_packages_count":0.33507654910181645,"stargazers_count":2.0545042985693738,"forks_count":3.8965890210858487,"docker_downloads_count":0.22468527335779037,"average":1.1303955129849133},"purl":"pkg:gem/retriable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/retriable","docker_dependents_count":970,"docker_downloads_count":574214981,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/retriable","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/retriable/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-22T00:01:12.161Z","issues_count":30,"pull_requests_count":84,"avg_time_to_close_issue":14813088.708333334,"avg_time_to_close_pull_request":10702858.618421054,"issues_closed_count":24,"pull_requests_closed_count":76,"pull_request_authors_count":31,"issue_authors_count":25,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":2.0357142857142856,"merged_pull_requests_count":56,"bot_issues_count":2,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":20654.5,"past_year_avg_time_to_close_pull_request":8119.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.125,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/issues","maintainers":[{"login":"kamui","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}],"active_maintainers":[{"login":"kamui","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/retriable/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/retriable/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/retriable/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/retriable/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/retriable/codemeta","maintainers":[{"uuid":"1012","login":"kamui","name":null,"email":null,"url":null,"packages_count":15,"html_url":"https://rubygems.org/profiles/kamui","role":null,"created_at":"2022-11-09T09:48:12.594Z","updated_at":"2022-11-09T09:48:12.594Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/kamui/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205548,"maintainers_count":68472,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},{"id":12258868,"name":"kamui","ecosystem":"rubygems","description":"Kamui will suck you into the dimension where retrying methods is super easy.","homepage":"https://github.com/kamui/retriable","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2019-02-13T21:08:26.171Z","latest_release_published_at":"2019-02-13T21:08:26.171Z","latest_release_number":"0.1.0","last_synced_at":"2026-04-28T03:01:44.635Z","created_at":"2025-10-07T03:50:40.360Z","updated_at":"2026-04-28T03:02:40.066Z","registry_url":"https://gem.coop/gems/kamui","install_command":"gem install kamui -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/kamui/","metadata":{"funding":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-03-10T03:28:12.000Z","size":310,"stargazers_count":889,"open_issues_count":8,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-19T23:10:30.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-02-09T08:21:30.000Z","updated_at":"2026-04-15T14:38:26.000Z","dependencies_parsed_at":"2026-03-16T06:01:38.649Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"kamui","name":"Jack Chu","uuid":"2255","kind":"user","description":"","email":"","website":"https://jackchu.com","location":"New York","twitter":"jack_chu","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2255?u=488912b0d7eadac84a960d661587681b4e859a0a\u0026v=4","repositories_count":72,"last_synced_at":"2023-04-09T04:55:31.669Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kamui","funding_links":[],"total_stars":939,"followers":null,"following":null,"created_at":"2022-11-02T16:20:24.081Z","updated_at":"2024-03-25T17:28:58.664Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui/repositories"},"tags":[{"name":"v3.4.1","sha":"312ededb6b9be90f5cbfeb5c171ba7892b8976e2","kind":"tag","published_at":"2026-03-09T23:59:40.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1/manifests"},{"name":"v3.4.0","sha":"b82834939049541de1d8737c4ba847d4cd34fe38","kind":"tag","published_at":"2026-03-09T15:36:17.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"0a3974e5684cc6d2c1c869127beeb48bfeb92b2e","kind":"tag","published_at":"2026-03-06T15:54:47.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"65ffa55a4b26e1061c15a16ff8fcf1506ec10b09","kind":"tag","published_at":"2026-02-19T16:38:41.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"9035787de1be0fa5ecb314528457ec9b15d60ad9","kind":"tag","published_at":"2026-02-18T17:20:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0/manifests"},{"name":"v3.1.2","sha":"d66e4db725f39fd4723ae1ba7cb286aa36e8183a","kind":"tag","published_at":"2025-03-20T03:52:34.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9f51811a1ba683cafbb74ee184db8496f9633f04","kind":"tag","published_at":"2017-07-29T18:28:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"a0bcaf33d35000533e50dea4b57894a5c5c683f1","kind":"tag","published_at":"2017-07-28T05:36:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0/manifests"},{"name":"v3.0.2","sha":"b8395f49186b6c3056f2ac8b329097421f8910ac","kind":"tag","published_at":"2017-04-27T03:13:58.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"511dbfcc1ef151d760928a74f00b4b6bb263bbf5","kind":"tag","published_at":"2017-02-19T01:01:28.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"9fb6ebe573e78127c188f2219c84d2813e1d271c","kind":"tag","published_at":"2017-01-08T01:03:51.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0/manifests"},{"name":"v2.1.0","sha":"eaab7caba015389adf1b892e9bec4e97f9430eda","kind":"tag","published_at":"2015-10-01T23:05:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"07d33c33172d4bdc4895e3973d3e8d029b38ba47","kind":"tag","published_at":"2015-01-31T02:18:06.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"7e3a73e2f43985dc3a4aa25f029f454c4b9014bc","kind":"tag","published_at":"2015-01-30T05:30:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"71ce3559c2e6caa44f0a768306ffcaa698905f0c","kind":"tag","published_at":"2015-01-30T00:32:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0/manifests"},{"name":"v2.0.0.beta5","sha":"13d311f90ca26b2e371e00fea07a006a66de7025","kind":"tag","published_at":"2014-10-09T10:13:10.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta5","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5/manifests"},{"name":"v2.0.0.beta4","sha":"c3ecb198b8839437fa9a5e9c88d157d2ef0c8b8f","kind":"tag","published_at":"2014-10-09T09:39:48.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta4","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4/manifests"},{"name":"v2.0.0.beta3","sha":"f50207844dcd4ab2a0e7315bd2eb99f1fb1f5bd5","kind":"tag","published_at":"2014-10-05T06:30:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta3","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3/manifests"},{"name":"v2.0.0.beta2","sha":"50d86a79d7d0584131d88bf98c87e682b1a99391","kind":"tag","published_at":"2014-09-25T23:55:39.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2/manifests"},{"name":"v2.0.0.beta1","sha":"bd2964c517c55eb1ffaa6b944d0c216ad7e4a118","kind":"tag","published_at":"2014-09-25T21:27:04.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1/manifests"},{"name":"v1.4.1","sha":"0f25784842cbde2cab9b2a4ee800142ad4794c59","kind":"tag","published_at":"2013-09-06T02:52:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"36209dc3a131e67aacdc6a9c79018c40d252c2b8","kind":"tag","published_at":"2013-09-04T06:30:52.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0/manifests"},{"name":"v1.3.3.1","sha":"cedd99c514da4bc533a656db86a3356b7b9b8547","kind":"tag","published_at":"2013-07-02T04:54:15.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1/manifests"},{"name":"v1.3.3","sha":"e18da6ec45bc638c5234e80fba34f9c932bebccf","kind":"tag","published_at":"2012-11-14T03:53:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"f45c19ab80ac3049f59b86cf5833b25819b348b6","kind":"tag","published_at":"2012-03-07T04:31:56.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.2","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"ff080b93fed2f63e7e49dfcd580c9f1a1face1bf","kind":"tag","published_at":"2012-02-14T21:01:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"39faf1d7efe5ff0b854909f1ae0b49dddf658b11","kind":"tag","published_at":"2012-02-14T20:57:14.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"23fa8240c6caf63085b35e3a87e09bba072db0c0","kind":"tag","published_at":"2012-02-10T09:59:54.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0/manifests"},{"name":"1.1.0","sha":"b53f8f9975f82f9bb5831786b3e79519ce4fbdde","kind":"commit","published_at":"2011-04-18T03:03:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"c86858b3479ce43f551445cde71776ef30ed51ee","kind":"commit","published_at":"2011-04-12T13:45:30.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-28T03:02:40.065Z","dependent_packages_count":0,"downloads":3482,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":86.66218713253822,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":28.887395710846075},"purl":"pkg:gem/kamui?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/kamui","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/kamui","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/kamui/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-22T00:01:12.161Z","issues_count":30,"pull_requests_count":84,"avg_time_to_close_issue":14813088.708333334,"avg_time_to_close_pull_request":10702858.618421054,"issues_closed_count":24,"pull_requests_closed_count":76,"pull_request_authors_count":31,"issue_authors_count":25,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":2.0357142857142856,"merged_pull_requests_count":56,"bot_issues_count":2,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":20654.5,"past_year_avg_time_to_close_pull_request":8119.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.125,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/issues","maintainers":[{"login":"kamui","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}],"active_maintainers":[{"login":"kamui","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/kamui/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/kamui/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/kamui/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/kamui/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/kamui/codemeta","maintainers":[{"uuid":"77109","login":"arebuckley","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://gem.coop/profiles/arebuckley","role":null,"created_at":"2025-10-07T21:58:31.007Z","updated_at":"2025-10-07T21:58:31.007Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/arebuckley/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190401,"maintainers_count":67480,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":238609,"name":"kamui","ecosystem":"rubygems","description":"Kamui will suck you into the dimension where retrying methods is super easy.","homepage":"https://github.com/kamui/retriable","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/kamui/retriable","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2019-02-13T21:08:26.171Z","latest_release_published_at":"2019-02-13T21:08:26.171Z","latest_release_number":"0.1.0","last_synced_at":"2026-04-28T03:01:45.186Z","created_at":"2022-04-06T02:27:01.080Z","updated_at":"2026-04-28T03:02:40.341Z","registry_url":"https://rubygems.org/gems/kamui","install_command":"gem install kamui -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/kamui/","metadata":{"funding":null},"repo_metadata":{"id":2426377,"uuid":"3395418","full_name":"kamui/retriable","owner":"kamui","description":"Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.","archived":false,"fork":false,"pushed_at":"2026-03-10T03:28:12.000Z","size":310,"stargazers_count":889,"open_issues_count":8,"forks_count":46,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-04-19T23:10:30.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"kamui.github.io/retriable","language":"Ruby","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/kamui.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-02-09T08:21:30.000Z","updated_at":"2026-04-15T14:38:26.000Z","dependencies_parsed_at":"2026-03-16T06:01:38.649Z","dependency_job_id":null,"html_url":"https://github.com/kamui/retriable","commit_stats":{"total_commits":195,"total_committers":26,"mean_commits":7.5,"dds":0.6512820512820513,"last_synced_commit":"af404c50b3d3c898299c97f9aa686f06e33f502a"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kamui/retriable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/sbom","scorecard":{"id":549046,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamui/retriable","commit":"c4488856ecb0b1d8e8997511983df1fb94ec644c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.8,"checks":[{"name":"Code-Review","score":4,"reason":"Found 13/29 approved changesets -- score normalized to 4","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":"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":"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":"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":"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/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/kamui/retriable/main.yml/master?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction 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/main.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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 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-20T10:17:31.962Z","repository_id":2426377,"created_at":"2025-08-20T10:17:31.963Z","updated_at":"2025-08-20T10:17:31.963Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"kamui","name":"Jack Chu","uuid":"2255","kind":"user","description":"","email":"","website":"https://jackchu.com","location":"New York","twitter":"jack_chu","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2255?u=488912b0d7eadac84a960d661587681b4e859a0a\u0026v=4","repositories_count":72,"last_synced_at":"2023-04-09T04:55:31.669Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/kamui","funding_links":[],"total_stars":939,"followers":null,"following":null,"created_at":"2022-11-02T16:20:24.081Z","updated_at":"2024-03-25T17:28:58.664Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamui/repositories"},"tags":[{"name":"v3.4.1","sha":"312ededb6b9be90f5cbfeb5c171ba7892b8976e2","kind":"tag","published_at":"2026-03-09T23:59:40.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.1/manifests"},{"name":"v3.4.0","sha":"b82834939049541de1d8737c4ba847d4cd34fe38","kind":"tag","published_at":"2026-03-09T15:36:17.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.4.0/manifests"},{"name":"v3.3.0","sha":"0a3974e5684cc6d2c1c869127beeb48bfeb92b2e","kind":"tag","published_at":"2026-03-06T15:54:47.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"65ffa55a4b26e1061c15a16ff8fcf1506ec10b09","kind":"tag","published_at":"2026-02-19T16:38:41.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"9035787de1be0fa5ecb314528457ec9b15d60ad9","kind":"tag","published_at":"2026-02-18T17:20:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.2.0/manifests"},{"name":"v3.1.2","sha":"d66e4db725f39fd4723ae1ba7cb286aa36e8183a","kind":"tag","published_at":"2025-03-20T03:52:34.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"9f51811a1ba683cafbb74ee184db8496f9633f04","kind":"tag","published_at":"2017-07-29T18:28:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"a0bcaf33d35000533e50dea4b57894a5c5c683f1","kind":"tag","published_at":"2017-07-28T05:36:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.1.0/manifests"},{"name":"v3.0.2","sha":"b8395f49186b6c3056f2ac8b329097421f8910ac","kind":"tag","published_at":"2017-04-27T03:13:58.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"511dbfcc1ef151d760928a74f00b4b6bb263bbf5","kind":"tag","published_at":"2017-02-19T01:01:28.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"9fb6ebe573e78127c188f2219c84d2813e1d271c","kind":"tag","published_at":"2017-01-08T01:03:51.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v3.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v3.0.0/manifests"},{"name":"v2.1.0","sha":"eaab7caba015389adf1b892e9bec4e97f9430eda","kind":"tag","published_at":"2015-10-01T23:05:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"07d33c33172d4bdc4895e3973d3e8d029b38ba47","kind":"tag","published_at":"2015-01-31T02:18:06.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"7e3a73e2f43985dc3a4aa25f029f454c4b9014bc","kind":"tag","published_at":"2015-01-30T05:30:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"71ce3559c2e6caa44f0a768306ffcaa698905f0c","kind":"tag","published_at":"2015-01-30T00:32:59.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0/manifests"},{"name":"v2.0.0.beta5","sha":"13d311f90ca26b2e371e00fea07a006a66de7025","kind":"tag","published_at":"2014-10-09T10:13:10.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta5","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta5/manifests"},{"name":"v2.0.0.beta4","sha":"c3ecb198b8839437fa9a5e9c88d157d2ef0c8b8f","kind":"tag","published_at":"2014-10-09T09:39:48.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta4","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta4/manifests"},{"name":"v2.0.0.beta3","sha":"f50207844dcd4ab2a0e7315bd2eb99f1fb1f5bd5","kind":"tag","published_at":"2014-10-05T06:30:16.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta3","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta3/manifests"},{"name":"v2.0.0.beta2","sha":"50d86a79d7d0584131d88bf98c87e682b1a99391","kind":"tag","published_at":"2014-09-25T23:55:39.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta2","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta2/manifests"},{"name":"v2.0.0.beta1","sha":"bd2964c517c55eb1ffaa6b944d0c216ad7e4a118","kind":"tag","published_at":"2014-09-25T21:27:04.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v2.0.0.beta1","html_url":"https://github.com/kamui/retriable/releases/tag/v2.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v2.0.0.beta1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v2.0.0.beta1/manifests"},{"name":"v1.4.1","sha":"0f25784842cbde2cab9b2a4ee800142ad4794c59","kind":"tag","published_at":"2013-09-06T02:52:05.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"36209dc3a131e67aacdc6a9c79018c40d252c2b8","kind":"tag","published_at":"2013-09-04T06:30:52.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.4.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.4.0/manifests"},{"name":"v1.3.3.1","sha":"cedd99c514da4bc533a656db86a3356b7b9b8547","kind":"tag","published_at":"2013-07-02T04:54:15.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3.1/manifests"},{"name":"v1.3.3","sha":"e18da6ec45bc638c5234e80fba34f9c932bebccf","kind":"tag","published_at":"2012-11-14T03:53:45.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.3","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"f45c19ab80ac3049f59b86cf5833b25819b348b6","kind":"tag","published_at":"2012-03-07T04:31:56.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.2","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"ff080b93fed2f63e7e49dfcd580c9f1a1face1bf","kind":"tag","published_at":"2012-02-14T21:01:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.1","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"39faf1d7efe5ff0b854909f1ae0b49dddf658b11","kind":"tag","published_at":"2012-02-14T20:57:14.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.3.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"23fa8240c6caf63085b35e3a87e09bba072db0c0","kind":"tag","published_at":"2012-02-10T09:59:54.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/v1.2.0","html_url":"https://github.com/kamui/retriable/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/v1.2.0/manifests"},{"name":"1.1.0","sha":"b53f8f9975f82f9bb5831786b3e79519ce4fbdde","kind":"commit","published_at":"2011-04-18T03:03:00.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.1.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"c86858b3479ce43f551445cde71776ef30ed51ee","kind":"commit","published_at":"2011-04-12T13:45:30.000Z","download_url":"https://codeload.github.com/kamui/retriable/tar.gz/1.0.0","html_url":"https://github.com/kamui/retriable/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/kamui/retriable@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/tags/1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-28T03:02:40.341Z","dependent_packages_count":0,"downloads":3482,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":87.95322978162436,"dependent_repos_count":46.781949801970555,"dependent_packages_count":15.705942029816185,"stargazers_count":1.9063340039318855,"forks_count":3.5994726887143917,"average":31.189385661211475},"purl":"pkg:gem/kamui","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/kamui","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/kamui","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/kamui/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-22T00:01:12.161Z","issues_count":30,"pull_requests_count":84,"avg_time_to_close_issue":14813088.708333334,"avg_time_to_close_pull_request":10702858.618421054,"issues_closed_count":24,"pull_requests_closed_count":76,"pull_request_authors_count":31,"issue_authors_count":25,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":2.0357142857142856,"merged_pull_requests_count":56,"bot_issues_count":2,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":20654.5,"past_year_avg_time_to_close_pull_request":8119.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.125,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/issues","maintainers":[{"login":"kamui","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}],"active_maintainers":[{"login":"kamui","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/kamui/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/kamui/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/kamui/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/kamui/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/kamui/codemeta","maintainers":[{"uuid":"77109","login":"arebuckley","name":null,"email":null,"url":null,"packages_count":16,"html_url":"https://rubygems.org/profiles/arebuckley","role":null,"created_at":"2022-11-09T09:37:40.203Z","updated_at":"2022-11-09T09:37:40.203Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/arebuckley/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205548,"maintainers_count":68472,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}}],"commits":{"id":19453,"full_name":"kamui/retriable","default_branch":"master","total_commits":222,"total_committers":26,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":8.538461538461538,"dds":0.2927927927927928,"past_year_total_commits":20,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":10.0,"past_year_dds":0.050000000000000044,"last_synced_at":"2026-04-29T14:46:47.236Z","last_synced_commit":"312ededb6b9be90f5cbfeb5c171ba7892b8976e2","created_at":"2023-03-07T11:41:05.731Z","updated_at":"2026-04-29T14:46:41.634Z","committers":[{"name":"Jack Chu","email":"jack@jackchu.com","login":"kamui","count":157},{"name":"Olle Jonsson","email":"olle.jonsson@gmail.com","login":"olleolleolle","count":14},{"name":"apurvis","email":"apurvis","login":"apurvis","count":10},{"name":"apurvis@lumoslabs.com","email":"apurvis@lumoslabs.com","login":null,"count":9},{"name":"Robert Sosinski","email":"rsosinski@slingmedia.com","login":null,"count":6},{"name":"Bruno Sutic","email":"code@brunosutic.com","login":"bruno-","count":3},{"name":"Peter Mounce","email":"peter.mounce@just-eat.com","login":null,"count":2},{"name":"PikachuEXE","email":"pikachuexe@gmail.com","login":"PikachuEXE","count":2},{"name":"y-yagi","email":"yuuji.yaginuma@gmail.com","login":"y-yagi","count":2},{"name":"Jonathan Cobian","email":"jcobian@civisanalytics.com","login":null,"count":1},{"name":"Robert Sosinski","email":"email@robertsosinski.com","login":null,"count":1},{"name":"Bart van Zon","email":"bartvanzon@gmail.com","login":"bartj3","count":1},{"name":"Bruno Miranda","email":"bmiranda@doximity.com","login":"brupm","count":1},{"name":"Edward Anderson","email":"nilbus@nilbus.com","login":"nilbus","count":1},{"name":"Edward Betts","email":"edward@4angle.com","login":"EdwardBetts","count":1},{"name":"Ewoud Kohl van Wijngaarden","email":"ewoud@kohlvanwijngaarden.nl","login":"ekohl","count":1},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":1},{"name":"Jeremy Wadsack","email":"jeremy.wadsack@gmail.com","login":"jeremywadsack","count":1},{"name":"Santiago Castro","email":"santi.1410@hotmail.com","login":"bryant1410","count":1},{"name":"Scott Albertson","email":"ascottalbertson@gmail.com","login":"salbertson","count":1},{"name":"Seiei Miyagi","email":"hanachin@gmail.com","login":"hanachin","count":1},{"name":"Yauheni","email":"yauhenisushkevich@gmail.com","login":"yauhenininjia","count":1},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":1},{"name":"fatkodima","email":"fatkodima123@gmail.com","login":"fatkodima","count":1},{"name":"kirikiriyamama","email":"kirikiriyamama","login":"kirikiriyamama","count":1},{"name":"marcy","email":"masashi.oyamada@gmail.com","login":"marcy","count":1}],"past_year_committers":[{"name":"Jack Chu","email":"jack@jackchu.com","login":"kamui","count":19},{"name":"Hiroshi SHIBATA","email":"hsbt@ruby-lang.org","login":"hsbt","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-29T00:00:10.453Z","repositories_count":6222892,"commits_count":899832828,"contributors_count":34897359,"owners_count":1147461,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"kamui/retriable","html_url":"https://github.com/kamui/retriable","last_synced_at":"2026-04-22T00:01:12.161Z","status":"error","issues_count":30,"pull_requests_count":84,"avg_time_to_close_issue":14813088.708333334,"avg_time_to_close_pull_request":10702858.618421054,"issues_closed_count":24,"pull_requests_closed_count":76,"pull_request_authors_count":31,"issue_authors_count":25,"avg_comments_per_issue":2.1333333333333333,"avg_comments_per_pull_request":2.0357142857142856,"merged_pull_requests_count":56,"bot_issues_count":2,"bot_pull_requests_count":1,"past_year_issues_count":2,"past_year_pull_requests_count":8,"past_year_avg_time_to_close_issue":20654.5,"past_year_avg_time_to_close_pull_request":8119.5,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":0.125,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":5,"created_at":"2023-05-12T12:50:18.102Z","updated_at":"2026-04-22T00:01:12.161Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamui%2Fretriable/issues","issue_labels_count":{"question":1},"pull_request_labels_count":{"dependencies":1},"issue_author_associations_count":{"NONE":17,"CONTRIBUTOR":13},"pull_request_author_associations_count":{"CONTRIBUTOR":60,"NONE":13,"OWNER":11},"issue_authors":{"jcobian":3,"apurvis":3,"dependabot-preview[bot]":2,"ekohl":1,"PikachuEXE":1,"sandipsubedi":1,"fatkodima":1,"hwrdprkns":1,"rspeicher":1,"wedy":1,"yamotonalds":1,"abdelwahababdo":1,"Earlopain":1,"mohamedhafez":1,"jeremyhaile":1,"404pilot":1,"nilbus":1,"lsimoneau":1,"jchatel":1,"cabello":1,"mvastola":1,"codedeleter":1,"jgrau":1,"ManuelFrigerio":1,"olleolleolle":1},"pull_request_authors":{"apurvis":18,"olleolleolle":16,"kamui":11,"y-yagi":4,"rafaelsales":3,"jcobian":3,"fatkodima":3,"PikachuEXE":2,"bruno-":2,"omarselim3008":1,"hsbt":1,"itsNikolay":1,"dependabot-preview[bot]":1,"nilbus":1,"mvastola":1,"julik":1,"bartj3":1,"salbertson":1,"ekohl":1,"jeremywadsack":1,"Nakilon":1,"brupm":1,"yauhenininjia":1,"kirikiriyamama":1,"gogainda":1,"hanachin":1,"marcy":1,"bryant1410":1,"EdwardBetts":1,"chakshu222":1,"ridiculous":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-24T00:00:07.455Z","repositories_count":14382395,"issues_count":34456397,"pull_requests_count":112800346,"authors_count":11244038,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"OWNER":7,"CONTRIBUTOR":1},"past_year_issue_authors":{"abdelwahababdo":1},"past_year_pull_request_authors":{"kamui":7,"hsbt":1},"maintainers":[{"login":"kamui","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}],"active_maintainers":[{"login":"kamui","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kamui"}]},"events":{"total":{"DeleteEvent":4,"PullRequestEvent":10,"ForkEvent":2,"IssuesEvent":3,"WatchEvent":29,"IssueCommentEvent":3,"PushEvent":34,"PullRequestReviewCommentEvent":20,"PullRequestReviewEvent":26,"CreateEvent":5},"last_year":{"DeleteEvent":4,"PullRequestEvent":6,"ForkEvent":1,"IssuesEvent":1,"WatchEvent":14,"IssueCommentEvent":1,"PushEvent":28,"PullRequestReviewCommentEvent":20,"PullRequestReviewEvent":26,"CreateEvent":4}},"keywords":[],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-08-20T23:40:08.758Z","updated_at":"2022-08-20T23:40:08.758Z","repository_link":"https://github.com/kamui/retriable/blob/main/Gemfile","dependencies":[{"id":2197113751,"package_name":"rspec","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2197113752,"package_name":"simplecov","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2197113753,"package_name":"rubocop","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2197113754,"package_name":"pry","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"retriable.gemspec","sha":null,"kind":"manifest","created_at":"2022-08-20T23:40:08.983Z","updated_at":"2022-08-20T23:40:08.983Z","repository_link":"https://github.com/kamui/retriable/blob/main/retriable.gemspec","dependencies":[{"id":2197113917,"package_name":"bundler","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":2197113918,"package_name":"rspec","ecosystem":"rubygems","requirements":"~\u003e 3","direct":true,"kind":"development","optional":false},{"id":2197113919,"package_name":"ruby_dep","ecosystem":"rubygems","requirements":"~\u003e 1.3.1","direct":true,"kind":"development","optional":false},{"id":2197113920,"package_name":"listen","ecosystem":"rubygems","requirements":"~\u003e 3.0.8","direct":true,"kind":"development","optional":false},{"id":2197113921,"package_name":"listen","ecosystem":"rubygems","requirements":"~\u003e 3.1","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/main.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T11:51:16.155Z","updated_at":"2023-01-13T11:51:16.155Z","repository_link":"https://github.com/kamui/retriable/blob/main/.github/workflows/main.yml","dependencies":[{"id":6875707496,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875707497,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":31.41513292625072,"created_at":"2024-12-15T21:38:08.493Z","updated_at":"2026-04-30T04:01:49.390Z","avatar_url":"https://github.com/kamui.png","language":"Ruby","monthly_downloads":0,"readme":"# Retriable\n\n![Build Status](https://github.com/kamui/retriable/actions/workflows/main.yml/badge.svg)\n[![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)\n\nRetriable is a simple DSL to retry failed code blocks with randomized [exponential backoff](http://en.wikipedia.org/wiki/Exponential_backoff) time intervals. This is especially useful when interacting external APIs, remote services, or file system calls.\n\n## Requirements\n\nRuby 2.3.0+\n\nIf you need ruby 2.0.0-2.2.x support, use the [3.1 branch](https://github.com/kamui/retriable/tree/3.1.x) by specifying `~3.1` in your Gemfile.\n\nIf you need ruby 1.9.3 support, use the [2.x branch](https://github.com/kamui/retriable/tree/2.x) by specifying `~2.1` in your Gemfile.\n\nIf you need ruby 1.8.x to 1.9.2 support, use the [1.x branch](https://github.com/kamui/retriable/tree/1.x) by specifying `~1.4` in your Gemfile.\n\n## Installation\n\nVia command line:\n\n```ruby\ngem install retriable\n```\n\nIn your ruby script:\n\n```ruby\nrequire 'retriable'\n```\n\nIn your Gemfile:\n\n```ruby\ngem 'retriable', '~\u003e 3.4'\n```\n\n## Usage\n\nCode in a `Retriable.retriable` block will be retried if an exception is raised.\n\n```ruby\nrequire 'retriable'\n\nclass Api\n  # Use it in methods that interact with unreliable services\n  def get\n    Retriable.retriable do\n      # code here...\n    end\n  end\nend\n```\n\n### Defaults\n\nBy default, `Retriable` will:\n\n- rescue any exception inherited from `StandardError`\n- make 3 tries (including the initial attempt) before raising the last exception\n- use randomized exponential backoff to calculate each succeeding try interval.\n\nThe default interval table with 10 tries looks like this (in seconds, rounded to the nearest millisecond):\n\n| Retry # | Min      | Average  | Max      |\n| ------- | -------- | -------- | -------- |\n| 1       | `0.25`   | `0.5`    | `0.75`   |\n| 2       | `0.375`  | `0.75`   | `1.125`  |\n| 3       | `0.563`  | `1.125`  | `1.688`  |\n| 4       | `0.844`  | `1.688`  | `2.531`  |\n| 5       | `1.266`  | `2.531`  | `3.797`  |\n| 6       | `1.898`  | `3.797`  | `5.695`  |\n| 7       | `2.848`  | `5.695`  | `8.543`  |\n| 8       | `4.271`  | `8.543`  | `12.814` |\n| 9       | `6.407`  | `12.814` | `19.222` |\n| 10      | **stop** | **stop** | **stop** |\n\n### Options\n\nHere are the available options, in some vague order of relevance to most common use patterns:\n\n| Option                 | Default           | Definition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |\n| ---------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **`tries`**            | `3`               | Number of attempts to make at running your code block (includes initial attempt).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| **`on`**               | `[StandardError]` | Type of exceptions to retry. [Read more](#configuring-which-options-to-retry-with-on).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |\n| **`retry_if`**         | `nil`             | Callable (for example a `Proc` or lambda) that receives the rescued exception and returns true/false to decide whether to retry. [Read more](#advanced-retry-matching-with-retry_if).                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| **`on_retry`**         | `nil`             | `Proc` to call after each try is rescued. [Read more](#callbacks).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| **`sleep_disabled`**   | `false`           | When true, disable exponential backoff and attempt retries immediately.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n| **`base_interval`**    | `0.5`             | The initial interval in seconds between tries.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |\n| **`max_elapsed_time`** | `900` (15 min)    | The maximum amount of total time in seconds that code is allowed to keep being retried. Set to `nil` to disable the time limit and retry based solely on `tries`.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| **`max_interval`**     | `60`              | The maximum interval in seconds that any individual retry can reach.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |\n| **`multiplier`**       | `1.5`             | Each successive interval grows by this factor. A multipler of 1.5 means the next interval will be 1.5x the current interval.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |\n| **`rand_factor`**      | `0.5`             | The percentage to randomize the next retry interval time. The next interval calculation is `randomized_interval = retry_interval * (random value in range [1 - randomization_factor, 1 + randomization_factor])`                                                                                                                                                                                                                                                                                                                                                                                                      |\n| **`intervals`**        | `nil`             | Skip generated intervals and provide your own array of intervals in seconds. [Read more](#custom-interval-array).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| **`timeout`**          | `nil`             | Number of seconds to allow the code block to run before raising a `Timeout::Error` inside each try. `nil` means the code block can run forever without raising error. The implementation uses `Timeout::timeout`, which may be [unsafe](https://jvns.ca/blog/2015/11/27/why-rubys-timeout-is-dangerous-and-thread-dot-raise-is-terrifying/) [and](http://blog.headius.com/2008/02/ruby-threadraise-threadkill-timeoutrb.html) [even](https://adamhooper.medium.com/in-ruby-dont-use-timeout-77d9d4e5a001) [dangerous](https://www.mikeperham.com/2015/05/08/timeout-rubys-most-dangerous-api/). Proceed with caution. |\n\n#### Configuring Which Options to Retry With :on\n\n**`:on`** Can take the form:\n\n- An `Exception` class (retry every exception of this type, including subclasses)\n- An `Array` of `Exception` classes (retry any exception of one of these types, including subclasses)\n- A `Hash` where the keys are `Exception` classes and the values are one of:\n  - `nil` (retry every exception of the key's type, including subclasses)\n  - A single `Regexp` pattern (retries exceptions ONLY if their `message` matches the pattern)\n  - An array of patterns (retries exceptions ONLY if their `message` matches at least one of the patterns)\n\n#### Advanced Retry Matching With :retry_if\n\nUse **`:retry_if`** when retry logic depends on details that `:on` does not cover. The Proc receives the rescued exception and should return `true` to retry or `false` to re-raise immediately.\n\n```ruby\ndef caused_by?(error, klass)\n  current = error\n  while current\n    return true if current.is_a?(klass)\n\n    current = current.cause\n  end\n\n  false\nend\n\nRetriable.retriable(\n  on: [Faraday::ConnectionFailed],\n  retry_if: -\u003e(exception) { caused_by?(exception, Errno::ECONNRESET) }\n) do\n  # code here...\nend\n```\n\n`:retry_if` runs after the exception type has matched `:on`.\n\n### Configuration\n\nYou can change the global defaults with a `#configure` block:\n\n```ruby\nRetriable.configure do |c|\n  c.tries = 5\n  c.max_elapsed_time = 3600 # 1 hour\nend\n```\n\n### Example Usage\n\nThis example will only retry on a `Timeout::Error`, retry 3 times and sleep for a full second before each try.\n\n```ruby\nRetriable.retriable(on: Timeout::Error, tries: 3, base_interval: 1) do\n  # code here...\nend\n```\n\nYou can also specify multiple errors to retry on by passing an array of exceptions.\n\n```ruby\nRetriable.retriable(on: [Timeout::Error, Errno::ECONNRESET]) do\n  # code here...\nend\n```\n\nYou can also use a hash to specify that you only want to retry exceptions with certain messages (see [the documentation above](#configuring-which-options-to-retry-with-on)). This example will retry all `ActiveRecord::RecordNotUnique` exceptions, `ActiveRecord::RecordInvalid` exceptions where the message matches either `/Parent must exist/` or `/Username has already been taken/`, or `Mysql2::Error` exceptions where the message matches `/Duplicate entry/`.\n\n```ruby\nRetriable.retriable(on: {\n  ActiveRecord::RecordNotUnique =\u003e nil,\n  ActiveRecord::RecordInvalid =\u003e [/Parent must exist/, /Username has already been taken/],\n  Mysql2::Error =\u003e /Duplicate entry/\n}) do\n  # code here...\nend\n```\n\nYou can also specify a timeout if you want the code block to only try for X amount of seconds. This timeout is per try.\n\nThe implementation uses `Timeout::timeout`, which may be [unsafe](https://jvns.ca/blog/2015/11/27/why-rubys-timeout-is-dangerous-and-thread-dot-raise-is-terrifying/) [and](http://blog.headius.com/2008/02/ruby-threadraise-threadkill-timeoutrb.html) [even](https://adamhooper.medium.com/in-ruby-dont-use-timeout-77d9d4e5a001) [dangerous](https://www.mikeperham.com/2015/05/08/timeout-rubys-most-dangerous-api/). You can use this option, but you need to be very careful because the code in the block, including libraries or other code it calls, could be interrupted by the timeout at any line. You must ensure you have the right rescue logic and guards in place ([Thread.handle_interrupt](https://www.rubydoc.info/stdlib/core/Thread.handle_interrupt)) to handle that possible behavior. If that's not possible, the recommendation is that you're better off impelenting your own timeout methods depending on what your code is doing than use this feature.\n\n```ruby\nRetriable.retriable(timeout: 60) do\n  # code here...\nend\n```\n\nIf you need millisecond units of time for the sleep or the timeout:\n\n```ruby\nRetriable.retriable(base_interval: (200 / 1000.0), timeout: (500 / 1000.0)) do\n  # code here...\nend\n```\n\n### Custom Interval Array\n\nYou can also bypass the built-in interval generation and provide your own array of intervals. Supplying your own intervals overrides the `tries`, `base_interval`, `max_interval`, `rand_factor`, and `multiplier` parameters.\n\n```ruby\nRetriable.retriable(intervals: [0.5, 1.0, 2.0, 2.5]) do\n  # code here...\nend\n```\n\nThis example makes 5 total attempts. If the first attempt fails, the 2nd attempt occurs 0.5 seconds later.\n\n### Turn off Exponential Backoff\n\nExponential backoff is enabled by default. If you want to simply retry code every second, 5 times maximum, you can do this:\n\n```ruby\nRetriable.retriable(tries: 5, base_interval: 1.0, multiplier: 1.0, rand_factor: 0.0) do\n  # code here...\nend\n```\n\nThis works by starting at a 1 second `base_interval`. Setting the `multipler` to 1.0 means each subsequent try will increase 1x, which is still `1.0` seconds, and then a `rand_factor` of 0.0 means that there's no randomization of that interval. (By default, it would randomize 0.5 seconds, which would mean normally the intervals would randomize between 0.5 and 1.5 seconds, but in this case `rand_factor` is basically being disabled.)\n\nAnother way to accomplish this would be to create an array with a fixed interval. In this example, `Array.new(5, 1)` creates an array with 5 elements, all with the value 1. The code block will retry up to 5 times, and wait 1 second between each attempt.\n\n```ruby\n# Array.new(5, 1) # =\u003e [1, 1, 1, 1, 1]\n\nRetriable.retriable(intervals: Array.new(5, 1)) do\n  # code here...\nend\n```\n\nIf you don't want exponential backoff but you still want some randomization between intervals, this code will run every 1 seconds with a randomization factor of 0.2, which means each interval will be a random value between 0.8 and 1.2 (1 second +/- 0.2):\n\n```ruby\nRetriable.retriable(base_interval: 1.0, multiplier: 1.0, rand_factor: 0.2) do\n  # code here...\nend\n```\n\n### Callbacks\n\n`#retriable` also provides a callback called `:on_retry` that will run after an exception is rescued. This callback provides the `exception` that was raised in the current try, the `try_number`, the `elapsed_time` for all tries so far, and the time in seconds of the `next_interval`. As these are specified in a `Proc`, unnecessary variables can be left out of the parameter list.\n\n```ruby\ndo_this_on_each_retry = Proc.new do |exception, try, elapsed_time, next_interval|\n  log \"#{exception.class}: '#{exception.message}' - #{try} tries in #{elapsed_time} seconds and #{next_interval} seconds until the next try.\"\nend\n\nRetriable.retriable(on_retry: do_this_on_each_retry) do\n  # code here...\nend\n```\n\n### Ensure/Else\n\nWhat if I want to execute a code block at the end, whether or not an exception was rescued ([ensure](http://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-ensure))? Or what if I want to execute a code block if no exception is raised ([else](http://ruby-doc.org/docs/keywords/1.9/Object.html#method-i-else))? Instead of providing more callbacks, I recommend you just wrap retriable in a begin/retry/else/ensure block:\n\n```ruby\nbegin\n  Retriable.retriable do\n    # some code\n  end\nrescue =\u003e e\n  # run this if retriable ends up re-raising the exception\nelse\n  # run this if retriable doesn't raise any exceptions\nensure\n  # run this no matter what, exception or no exception\nend\n```\n\n## Contexts\n\nContexts allow you to coordinate sets of Retriable options across an application. Each context is basically an argument hash for `Retriable.retriable` that is stored in the `Retriable.config` as a simple `Hash` and is accessible by name. For example:\n\n```ruby\nRetriable.configure do |c|\n  c.contexts[:aws] = {\n    tries: 3,\n    base_interval: 5,\n    on_retry: Proc.new { puts 'Curse you, AWS!' }\n  }\n  c.contexts[:mysql] = {\n    tries: 10,\n    multiplier: 2.5,\n    on: Mysql::DeadlockException\n  }\nend\n```\n\nThis will create two contexts, `aws` and `mysql`, which allow you to reuse different backoff strategies across your application without continually passing those strategy options to the `retriable` method.\n\nThese are used simply by calling `Retriable.with_context`:\n\n```ruby\n# Will retry all exceptions\nRetriable.with_context(:aws) do\n  # aws_call\nend\n\n# Will retry Mysql::DeadlockException\nRetriable.with_context(:mysql) do\n  # write_to_table\nend\n```\n\nYou can even temporarily override individual options for a configured context:\n\n```ruby\nRetriable.with_context(:mysql, tries: 30) do\n  # write_to_table with :mysql context, except with 30 tries instead of 10\nend\n```\n\n## Kernel Extension\n\nIf you want to call `Retriable.retriable` without the `Retriable` module prefix and you don't mind extending `Kernel`,\nthere is a kernel extension available for this.\n\nIn your ruby script:\n\n```ruby\nrequire 'retriable/core_ext/kernel'\n```\n\nor in your Gemfile:\n\n```ruby\ngem 'retriable', require: 'retriable/core_ext/kernel'\n```\n\nand then you can call `#retriable` in any context like this:\n\n```ruby\nretriable do\n  # code here...\nend\n\nretriable_with_context(:api) do\n  # code here...\nend\n```\n\n## Short Circuiting Retriable While Testing Your App\n\nWhen you are running tests for your app it often takes a long time to retry blocks that fail. This is because Retriable will default to 3 tries with exponential backoff. Ideally your tests will run as quickly as possible.\n\nYou can disable retrying by setting `tries` to 1 in the test environment. If you want to test that the code is retrying an error, you want to [turn off exponential backoff](#turn-off-exponential-backoff).\n\nUnder Rails, you could change your initializer to have different options in test, as follows:\n\n```ruby\n# config/initializers/retriable.rb\nRetriable.configure do |c|\n  # ... default configuration\n\n  if Rails.env.test?\n    c.tries = 1\n  end\nend\n```\n\nNote: In this and the following examples, `Retriable.configure` sets a default config, it doesn't override the configuration for the `retriable` method calls. Calling `Retriable.retriable` with options will override the default configuration for that call. So if you have `tries` set to 5 in `Retriable.configure`, but then you call `Retriable.retriable(tries: 3)`, that call will use 3 tries instead of 5. The configuration is basically a default set of options that can be overridden by passing options to the `retriable` method or by using contexts.\n\nAlternately, if you are using RSpec, you could override the Retriable confguration in your `spec_helper`.\n\n```ruby\n# spec/spec_helper.rb\nRetriable.configure do |c|\n  c.tries = 1\nend\n```\n\nIf you have defined contexts for your configuration, you'll need to change values for each context, because those values take precedence over the default configured value.\n\nFor example assuming you have configured a `google_api` context:\n\n```ruby\n# config/initializers/retriable.rb\nRetriable.configure do |c|\n  c.contexts[:google_api] = {\n      tries:         5,\n      base_interval: 3,\n      on:            [\n          Net::ReadTimeout,\n          Signet::AuthorizationError,\n          Errno::ECONNRESET,\n          OpenSSL::SSL::SSLError\n      ]\n  }\nend\n```\n\nThen in your test environment, you would need to set each context and the default value:\n\n```ruby\n# spec/spec_helper.rb\nRetriable.configure do |c|\n  c.multiplier    = 1.0\n  c.rand_factor   = 0.0\n  c.base_interval = 0\n\n  c.contexts.keys.each do |context|\n    c.contexts[context][:tries]         = 1\n    c.contexts[context][:base_interval] = 0\n  end\nend\n```\n\n## Credits\n\nThe randomized exponential backoff implementation was inspired by the one used in Google's [google-http-java-client](https://code.google.com/p/google-http-java-client/wiki/ExponentialBackoff) project.\n\n## Development\n\n### Running Specs\n\n```bash\nbundle exec rspec\n```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","crash-reporting","sidekiq","rspec","rubygems","sinatra","feature-flag","rubocop"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/606","html_url":"https://ruby.ecosyste.ms/projects/606"}