{"id":67418,"name":"deal","description":"🤝 Design by contract for Python. Write bug-free code. Add a few decorators, get static analysis and tests for free.","url":"https://github.com/life4/deal","last_synced_at":"2025-09-08T13:54:59.901Z","repository":{"id":28712359,"uuid":"118873232","full_name":"life4/deal","owner":"life4","description":"🤝 Design by contract for Python. Write bug-free code. Add a few decorators, get static analysis and tests for free.","archived":false,"fork":false,"pushed_at":"2025-07-02T14:56:11.000Z","size":2048,"stargazers_count":826,"open_issues_count":5,"forks_count":33,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-08-30T02:15:26.653Z","etag":null,"topics":["contracts","contracts-programming","dbc","deal","decorators","design-by-contract","flake8","functional-programming","hacktoberfest","interface","invariant","linter","mypy","property-based-testing","python","pythonic","refinement-types","testing","typing","validation"],"latest_commit_sha":null,"homepage":"https://deal.readthedocs.io/","language":"Python","has_issues":false,"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/life4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-25T06:38:47.000Z","updated_at":"2025-08-29T14:18:01.000Z","dependencies_parsed_at":"2022-07-18T03:00:40.620Z","dependency_job_id":"73eeece1-5560-4d3a-a0dc-66bad17e0f6a","html_url":"https://github.com/life4/deal","commit_stats":{"total_commits":1120,"total_committers":18,"mean_commits":62.22222222222222,"dds":"0.48124999999999996","last_synced_commit":"624d9a9369e3c9cfc7693a63fe90715180d41339"},"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/life4/deal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4","download_url":"https://codeload.github.com/life4/deal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/sbom","scorecard":{"id":588727,"data":{"date":"2025-08-11","repo":{"name":"github.com/life4/deal","commit":"c51e1cf2ebe2d16bfd528a1605c530322f2e2921"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"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":"Code-Review","score":5,"reason":"Found 5/10 approved changesets -- score normalized to 5","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":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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:18: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 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":"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":10,"reason":"project is fuzzed","details":["Info: PythonAtherisFuzzer integration found: deal/_testing.py:303","Info: PythonAtherisFuzzer integration found: examples/fuzzing_atheris.py:11"],"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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 4.24.5 not signed: https://api.github.com/repos/life4/deal/releases/203212345","Warn: release artifact 4.24.4 not signed: https://api.github.com/repos/life4/deal/releases/148039623","Warn: release artifact 4.24.3 not signed: https://api.github.com/repos/life4/deal/releases/122963745","Warn: release artifact 4.24.2 not signed: https://api.github.com/repos/life4/deal/releases/117738991","Warn: release artifact 4.24.1 not signed: https://api.github.com/repos/life4/deal/releases/96763939","Warn: release artifact 4.24.5 does not have provenance: https://api.github.com/repos/life4/deal/releases/203212345","Warn: release artifact 4.24.4 does not have provenance: https://api.github.com/repos/life4/deal/releases/148039623","Warn: release artifact 4.24.3 does not have provenance: https://api.github.com/repos/life4/deal/releases/122963745","Warn: release artifact 4.24.2 does not have provenance: https://api.github.com/repos/life4/deal/releases/117738991","Warn: release artifact 4.24.1 does not have provenance: https://api.github.com/repos/life4/deal/releases/96763939"],"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 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-20T21:17:07.990Z","repository_id":28712359,"created_at":"2025-08-20T21:17:07.990Z","updated_at":"2025-08-20T21:17:07.990Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274196148,"owners_count":25239148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"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":{"login":"life4","name":"Life4","uuid":"48201596","kind":"organization","description":"Big and cool projects by @orsinium. See also @orsinium-labs.","email":null,"website":"https://orsinium.dev/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/48201596?v=4","repositories_count":14,"last_synced_at":"2023-02-28T18:40:32.666Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/life4","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T20:17:53.448Z","updated_at":"2023-02-28T18:40:32.681Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4/repositories"},"packages":[{"id":1566615,"name":"deal","ecosystem":"pypi","description":"**Deal** is a Python library for [design by contract][wiki] (DbC) programming.","homepage":null,"licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/life4/deal","keywords_array":["deal","contracts","pre","post","invariant","decorators","validation","pythonic","functional"],"namespace":null,"versions_count":67,"first_release_published_at":"2018-01-27T08:05:04.000Z","latest_release_published_at":"2025-03-02T09:46:41.000Z","latest_release_number":"4.24.5","last_synced_at":"2025-08-30T02:04:33.048Z","created_at":"2022-04-09T07:01:06.857Z","updated_at":"2025-08-30T02:25:41.584Z","registry_url":"https://pypi.org/project/deal/","install_command":"pip install deal --index-url https://pypi.org/simple","documentation_url":"https://deal.readthedocs.io/","metadata":{"funding":null,"documentation":"https://deal.readthedocs.io/","classifiers":["Development Status :: 5 - Production/Stable","Environment :: Plugins","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Programming Language :: Python","Topic :: Software Development","Topic :: Software Development :: Libraries :: Python Modules","Topic :: Software Development :: Quality Assurance"],"normalized_name":"deal","project_status":null},"repo_metadata":{"id":28712359,"uuid":"118873232","full_name":"life4/deal","owner":"life4","description":"🤝 Design by contract for Python. Write bug-free code. Add a few decorators, get static analysis and tests for free.","archived":false,"fork":false,"pushed_at":"2025-07-02T14:56:11.000Z","size":2048,"stargazers_count":824,"open_issues_count":5,"forks_count":32,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-07-29T23:23:58.204Z","etag":null,"topics":["contracts","contracts-programming","dbc","deal","decorators","design-by-contract","flake8","functional-programming","hacktoberfest","interface","invariant","linter","mypy","property-based-testing","python","pythonic","refinement-types","testing","typing","validation"],"latest_commit_sha":null,"homepage":"https://deal.readthedocs.io/","language":"Python","has_issues":false,"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/life4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-25T06:38:47.000Z","updated_at":"2025-07-29T09:24:19.000Z","dependencies_parsed_at":"2022-07-18T03:00:40.620Z","dependency_job_id":"73eeece1-5560-4d3a-a0dc-66bad17e0f6a","html_url":"https://github.com/life4/deal","commit_stats":{"total_commits":1120,"total_committers":18,"mean_commits":62.22222222222222,"dds":"0.48124999999999996","last_synced_commit":"624d9a9369e3c9cfc7693a63fe90715180d41339"},"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/life4/deal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4","download_url":"https://codeload.github.com/life4/deal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/sbom","scorecard":{"id":588727,"data":{"date":"2025-08-11","repo":{"name":"github.com/life4/deal","commit":"c51e1cf2ebe2d16bfd528a1605c530322f2e2921"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"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":"Code-Review","score":5,"reason":"Found 5/10 approved changesets -- score normalized to 5","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":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"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:18: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/life4/deal/main.yml/master?enable=pin","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 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":"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":10,"reason":"project is fuzzed","details":["Info: PythonAtherisFuzzer integration found: deal/_testing.py:303","Info: PythonAtherisFuzzer integration found: examples/fuzzing_atheris.py:11"],"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":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 4.24.5 not signed: https://api.github.com/repos/life4/deal/releases/203212345","Warn: release artifact 4.24.4 not signed: https://api.github.com/repos/life4/deal/releases/148039623","Warn: release artifact 4.24.3 not signed: https://api.github.com/repos/life4/deal/releases/122963745","Warn: release artifact 4.24.2 not signed: https://api.github.com/repos/life4/deal/releases/117738991","Warn: release artifact 4.24.1 not signed: https://api.github.com/repos/life4/deal/releases/96763939","Warn: release artifact 4.24.5 does not have provenance: https://api.github.com/repos/life4/deal/releases/203212345","Warn: release artifact 4.24.4 does not have provenance: https://api.github.com/repos/life4/deal/releases/148039623","Warn: release artifact 4.24.3 does not have provenance: https://api.github.com/repos/life4/deal/releases/122963745","Warn: release artifact 4.24.2 does not have provenance: https://api.github.com/repos/life4/deal/releases/117738991","Warn: release artifact 4.24.1 does not have provenance: https://api.github.com/repos/life4/deal/releases/96763939"],"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 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-20T21:17:07.990Z","repository_id":28712359,"created_at":"2025-08-20T21:17:07.990Z","updated_at":"2025-08-20T21:17:07.990Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272793018,"owners_count":24993830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"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":"life4","name":"Life4","uuid":"48201596","kind":"organization","description":"Big and cool projects by @orsinium. See also @orsinium-labs.","email":null,"website":"https://orsinium.dev/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/48201596?v=4","repositories_count":14,"last_synced_at":"2023-02-28T18:40:32.666Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/life4","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-11T20:17:53.448Z","updated_at":"2023-02-28T18:40:32.681Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/life4/repositories"},"tags":[{"name":"4.24.5","sha":"2c87d80a09d54e7ec89f2b543a0237794b7c63ec","kind":"commit","published_at":"2025-03-02T09:46:39.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.5","html_url":"https://github.com/life4/deal/releases/tag/4.24.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.5/manifests"},{"name":"4.24.4","sha":"aa8bebabac5fd0da07d96ee590b520dffab22faa","kind":"commit","published_at":"2024-03-23T10:26:51.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.4","html_url":"https://github.com/life4/deal/releases/tag/4.24.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.4/manifests"},{"name":"4.24.3","sha":"da13befb54ff09a5e2b9f0eb246fca53e59d4291","kind":"commit","published_at":"2023-09-28T13:38:01.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.3","html_url":"https://github.com/life4/deal/releases/tag/4.24.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.3/manifests"},{"name":"4.24.2","sha":"ba16dfde556e1839d843fead2e70b06ef1d10002","kind":"commit","published_at":"2023-08-18T09:31:26.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.2","html_url":"https://github.com/life4/deal/releases/tag/4.24.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.2/manifests"},{"name":"4.24.1","sha":"e39f52c5a309f0616ee9290479cbbbf86ddd555d","kind":"commit","published_at":"2023-03-24T08:21:22.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.1","html_url":"https://github.com/life4/deal/releases/tag/4.24.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.1/manifests"},{"name":"4.24.0","sha":"e84b8e55565fc9b0ca86dd1ca5c073751b58ddbf","kind":"commit","published_at":"2023-02-23T13:49:06.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.24.0","html_url":"https://github.com/life4/deal/releases/tag/4.24.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.24.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.24.0/manifests"},{"name":"4.23.7","sha":"4301dca507858848e4502c5ec19acc294b145597","kind":"commit","published_at":"2023-02-20T13:03:03.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.7","html_url":"https://github.com/life4/deal/releases/tag/4.23.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.7/manifests"},{"name":"4.23.6","sha":"778519f9362a76e77552c067cc9a2203aaa34daa","kind":"commit","published_at":"2023-02-12T14:37:31.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.6","html_url":"https://github.com/life4/deal/releases/tag/4.23.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.6/manifests"},{"name":"4.23.5","sha":"2f4895dc68a9a60e4dabecf86d7eef33b16bc3c8","kind":"commit","published_at":"2023-02-12T14:11:04.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.5","html_url":"https://github.com/life4/deal/releases/tag/4.23.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.5/manifests"},{"name":"4.23.4","sha":"e5e49f4f4b71a132070bf6a80a861593d778b0a2","kind":"commit","published_at":"2022-09-01T12:00:58.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.4","html_url":"https://github.com/life4/deal/releases/tag/4.23.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.4/manifests"},{"name":"4.23.3","sha":"4cb8208a6aefe50a86669d3cdded810244cba597","kind":"commit","published_at":"2022-05-02T11:57:53.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.3","html_url":"https://github.com/life4/deal/releases/tag/4.23.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.3/manifests"},{"name":"4.23.2","sha":"573765a7c3a17a28d181d658b6986e786f8dbc5f","kind":"commit","published_at":"2022-04-21T08:42:43.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.2","html_url":"https://github.com/life4/deal/releases/tag/4.23.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.2/manifests"},{"name":"4.23.1","sha":"ae1791319d9ac35d2871607f79646145b0273582","kind":"commit","published_at":"2022-04-12T11:27:14.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.1","html_url":"https://github.com/life4/deal/releases/tag/4.23.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.1/manifests"},{"name":"4.23.0","sha":"19a2083ffee8c7a8c1f1929052d90ce1d629aa3b","kind":"commit","published_at":"2022-04-12T07:56:58.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.23.0","html_url":"https://github.com/life4/deal/releases/tag/4.23.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.23.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.23.0/manifests"},{"name":"4.22.0","sha":"fe204ea9a0a2e32fe38c0a373bddcc0a46bce5c7","kind":"commit","published_at":"2022-04-09T06:39:59.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.22.0","html_url":"https://github.com/life4/deal/releases/tag/4.22.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.22.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.22.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.22.0/manifests"},{"name":"4.21.2","sha":"63bf35ba9a1bf62a573c59b4e2cd44ccd80052d8","kind":"commit","published_at":"2022-04-09T06:39:28.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.21.2","html_url":"https://github.com/life4/deal/releases/tag/4.21.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.21.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.2/manifests"},{"name":"4.21.1","sha":"e8d9bfb3113bc2ce2cc073b853781c5c86c738ef","kind":"commit","published_at":"2022-03-18T08:12:22.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.21.1","html_url":"https://github.com/life4/deal/releases/tag/4.21.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.21.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.1/manifests"},{"name":"4.21.0","sha":"1006af84bd3a351dad4274f70189769752d7a39b","kind":"commit","published_at":"2022-03-16T13:44:58.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.21.0","html_url":"https://github.com/life4/deal/releases/tag/4.21.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.21.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.21.0/manifests"},{"name":"4.20.0","sha":"579655921609f87e3080bc68c3f34d8f74392b0e","kind":"commit","published_at":"2022-03-01T09:29:04.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.20.0","html_url":"https://github.com/life4/deal/releases/tag/4.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.20.0/manifests"},{"name":"4.19.2","sha":"a8eecc8f2efe5cc905d817c4e4f60b2a8974e196","kind":"commit","published_at":"2022-02-21T12:06:33.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.19.2","html_url":"https://github.com/life4/deal/releases/tag/4.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.19.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.2/manifests"},{"name":"4.19.1","sha":"4907ab15b1d246ea5eae30411c54176c09cc3edb","kind":"commit","published_at":"2021-12-30T09:08:52.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.19.1","html_url":"https://github.com/life4/deal/releases/tag/4.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.1/manifests"},{"name":"4.19.0","sha":"751723319fd8372a989d5db3ccc23742f0db768b","kind":"commit","published_at":"2021-12-03T13:11:39.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.19.0","html_url":"https://github.com/life4/deal/releases/tag/4.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.19.0/manifests"},{"name":"4.18.0","sha":"826c0f91b7bd710f4ffc73380a76ba400eb9c90c","kind":"commit","published_at":"2021-11-18T14:26:17.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.18.0","html_url":"https://github.com/life4/deal/releases/tag/4.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.18.0/manifests"},{"name":"4.17.0","sha":"6084e907c292bd9c0c122ebc439760e3aa5362c0","kind":"commit","published_at":"2021-11-10T16:23:19.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.17.0","html_url":"https://github.com/life4/deal/releases/tag/4.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.17.0/manifests"},{"name":"4.16.0","sha":"766f9b8378cb5b34f4ce2f535e1c0a7bd78da37b","kind":"commit","published_at":"2021-11-05T08:25:41.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.16.0","html_url":"https://github.com/life4/deal/releases/tag/4.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.16.0/manifests"},{"name":"4.15.0","sha":"65e3191198dbc0573e88ff2cfd5d9cd3b5f0907e","kind":"commit","published_at":"2021-10-18T11:57:05.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.15.0","html_url":"https://github.com/life4/deal/releases/tag/4.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.15.0/manifests"},{"name":"4.14.0","sha":"2394198a263c5c43cbc504387c693b64e1718fd2","kind":"commit","published_at":"2021-10-09T07:15:26.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.14.0","html_url":"https://github.com/life4/deal/releases/tag/4.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.14.0/manifests"},{"name":"4.13.0","sha":"1666d63d3932fbdf8e29419f39cd7b6aa7f7cb1c","kind":"commit","published_at":"2021-10-07T10:15:13.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.13.0","html_url":"https://github.com/life4/deal/releases/tag/4.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.13.0/manifests"},{"name":"4.12.0","sha":"980a8ede587cfb90491255a19de640728a8ba349","kind":"commit","published_at":"2021-10-05T06:37:24.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.12.0","html_url":"https://github.com/life4/deal/releases/tag/4.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.12.0/manifests"},{"name":"4.11.0","sha":"0519773d92734bda9ecc43ca032e309452545f2f","kind":"commit","published_at":"2021-09-27T08:28:34.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.11.0","html_url":"https://github.com/life4/deal/releases/tag/4.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.11.0/manifests"},{"name":"4.10.0","sha":"383f9cc7a4bd41821503e5f7ca6377015e3509e1","kind":"commit","published_at":"2021-09-24T06:50:47.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.10.0","html_url":"https://github.com/life4/deal/releases/tag/4.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.10.0/manifests"},{"name":"4.9.0","sha":"35324be06cd95cc5b94800852ae3c134aa5b6160","kind":"commit","published_at":"2021-09-23T11:47:06.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.9.0","html_url":"https://github.com/life4/deal/releases/tag/4.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.9.0/manifests"},{"name":"4.8.0","sha":"9515d7c242b621b352e8d12176d5ea755cb00adc","kind":"commit","published_at":"2021-09-19T17:59:45.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.8.0","html_url":"https://github.com/life4/deal/releases/tag/4.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.8.0/manifests"},{"name":"4.7.3","sha":"cfb769499024e6c9398eb3f76780d5a80a5d173b","kind":"commit","published_at":"2021-09-19T15:11:21.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.7.3","html_url":"https://github.com/life4/deal/releases/tag/4.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.3/manifests"},{"name":"4.7.2","sha":"113d5f7cd8b8d286903e5c7e30c1d3b2c08e3693","kind":"commit","published_at":"2021-07-11T11:08:02.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.7.2","html_url":"https://github.com/life4/deal/releases/tag/4.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.2/manifests"},{"name":"4.7.1","sha":"31cecd6260f6968327537003f6a927167058947d","kind":"commit","published_at":"2021-07-11T09:38:27.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.7.1","html_url":"https://github.com/life4/deal/releases/tag/4.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.1/manifests"},{"name":"4.7.0","sha":"d88648e66ca3a051439cf636a61db4e7c28f8101","kind":"commit","published_at":"2021-07-08T12:59:04.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/4.7.0","html_url":"https://github.com/life4/deal/releases/tag/4.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@4.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/4.7.0/manifests"},{"name":"v.4.6.0","sha":"b9670afe0b4fffc6131722e26181f0267318d062","kind":"commit","published_at":"2021-05-13T13:20:44.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.6.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.6.0/manifests"},{"name":"v.4.5.0","sha":"49e83502e6e9cb4b7abdc71270cfb766838fba20","kind":"commit","published_at":"2020-12-27T11:42:43.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.5.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.5.0/manifests"},{"name":"v.4.4.0","sha":"ebd3a9aee4a257053f163ff4292c3c7a2433ce1b","kind":"commit","published_at":"2020-12-04T09:18:41.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.4.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.4.0/manifests"},{"name":"v.4.3.0","sha":"bdd0e02d162f1cd55d48d1c953488566a9ad619f","kind":"commit","published_at":"2020-12-02T15:00:58.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.3.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.3.0/manifests"},{"name":"v.4.2.0","sha":"68a00863b1028846434eaec34bd0553715993c23","kind":"commit","published_at":"2020-10-15T09:51:03.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.2.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.2.0/manifests"},{"name":"v.4.1.0","sha":"91a9f43a0d553e42827f7aa27fdc55cb8dd3553a","kind":"commit","published_at":"2020-09-29T13:35:56.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.1.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.1.0/manifests"},{"name":"v.4.0.1","sha":"ba81509c102c4d588531964a8bd093443d9e665c","kind":"commit","published_at":"2020-09-11T12:59:29.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.0.1","html_url":"https://github.com/life4/deal/releases/tag/v.4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.0.1/manifests"},{"name":"v.4.0.0","sha":"84f0a0085bfd98e650c867f18d150a79433e5cab","kind":"commit","published_at":"2020-09-11T12:02:27.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.4.0.0","html_url":"https://github.com/life4/deal/releases/tag/v.4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.4.0.0/manifests"},{"name":"v.3.9.0","sha":"2a8e9bf412b8635b00a2b798dd8802375814a1c8","kind":"commit","published_at":"2020-05-09T08:00:34.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.9.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.9.0/manifests"},{"name":"v.3.8.1","sha":"5315fe77bb907d372990c3272ea5d51207b06c5a","kind":"commit","published_at":"2020-05-08T07:31:57.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.8.1","html_url":"https://github.com/life4/deal/releases/tag/v.3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.8.1/manifests"},{"name":"v.3.8.0","sha":"d5aaa6c869ce1b1bdc23ec37eb4a5c3f2b63d6a8","kind":"commit","published_at":"2020-05-01T13:33:42.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.8.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.8.0/manifests"},{"name":"v.3.7.0","sha":"f871716f06b98225c50796ec8f2f98dc5b8b56d8","kind":"commit","published_at":"2020-04-24T14:42:43.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.7.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.7.0/manifests"},{"name":"v.3.6.2","sha":"8c0ec616b411fa2cd606e42f82132c7ecd9915f3","kind":"commit","published_at":"2020-04-21T11:08:27.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.6.2","html_url":"https://github.com/life4/deal/releases/tag/v.3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.2/manifests"},{"name":"v.3.6.1","sha":"8c30809ceefd2a0960a9c2bab604c011595197ae","kind":"commit","published_at":"2020-04-20T13:29:12.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.6.1","html_url":"https://github.com/life4/deal/releases/tag/v.3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.1/manifests"},{"name":"v.3.6.0","sha":"29ea4b0f178e276ee4288020d6b08fda1396ac3c","kind":"commit","published_at":"2019-11-26T11:06:58.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.6.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.6.0/manifests"},{"name":"v.3.5.0","sha":"2a1f27724f3b31983cd30d5059f851ebae5b01a2","kind":"commit","published_at":"2019-11-18T14:48:23.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.5.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.5.0/manifests"},{"name":"v.3.4.0","sha":"629873986f0cad09ab5ace1199e589c8b5bc2227","kind":"commit","published_at":"2019-11-14T12:23:41.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.4.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.4.0/manifests"},{"name":"v.3.3.0","sha":"a014ea6daf30dc2c1a8db75c64dc0ac432eb58ba","kind":"commit","published_at":"2019-11-12T11:19:30.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.3.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.3.0/manifests"},{"name":"v.3.2.0","sha":"bd9deba02a0ef8ddf729840971690dc9af1419f6","kind":"commit","published_at":"2019-11-01T13:25:04.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.2.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.2.0/manifests"},{"name":"v.3.0.0","sha":"60a0ac858bb671502b8aa94e5e26bf7703580f5d","kind":"commit","published_at":"2019-10-02T13:26:22.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.3.0.0","html_url":"https://github.com/life4/deal/releases/tag/v.3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.3.0.0/manifests"},{"name":"v.2.4.0","sha":"4ca42f35fc511dcb1b39da949fb49c0ecfaadee8","kind":"commit","published_at":"2019-07-06T08:13:13.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.2.4.0","html_url":"https://github.com/life4/deal/releases/tag/v.2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.2.4.0/manifests"},{"name":"v.2.3.0","sha":"b5d9fa9d313297ba5facdd2f27e533699471004e","kind":"commit","published_at":"2019-07-05T16:13:15.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/v.2.3.0","html_url":"https://github.com/life4/deal/releases/tag/v.2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@v.2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/v.2.3.0/manifests"},{"name":"2.0.0","sha":"68b250848751c44025b2cee89b6dcdf9b08a468b","kind":"commit","published_at":"2018-03-25T05:41:10.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/2.0.0","html_url":"https://github.com/life4/deal/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/2.0.0/manifests"},{"name":"1.1.0","sha":"8e247bf72c63b8b3a4282b8a67801ae83ddb4ee7","kind":"commit","published_at":"2018-02-04T05:37:26.000Z","download_url":"https://codeload.github.com/life4/deal/tar.gz/1.1.0","html_url":"https://github.com/life4/deal/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/life4/deal@1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/tags/1.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-30T02:25:41.584Z","dependent_packages_count":9,"downloads":43587,"downloads_period":"last-month","dependent_repos_count":28,"rankings":{"downloads":2.397387508740376,"dependent_repos_count":2.7420421685483856,"dependent_packages_count":1.2514075476946702,"stargazers_count":2.45911790314806,"forks_count":8.107876271680762,"docker_downloads_count":3.632566974620044,"average":3.431733062405383},"purl":"pkg:pypi/deal","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/deal","docker_dependents_count":3,"docker_downloads_count":197,"usage_url":"https://repos.ecosyste.ms/usage/pypi/deal","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/deal/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-30T02:09:13.921Z","issues_count":0,"pull_requests_count":113,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":793377.0442477876,"issues_closed_count":0,"pull_requests_closed_count":113,"pull_request_authors_count":18,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":1.1415929203539823,"merged_pull_requests_count":107,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1042687.75,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":3.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/issues","maintainers":[{"login":"orsinium","count":88,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/orsinium"}],"active_maintainers":[{"login":"orsinium","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/orsinium"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/deal/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/deal/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/deal/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/deal/related_packages","maintainers":[{"uuid":"orsinium","login":"orsinium","name":null,"email":null,"url":null,"packages_count":77,"html_url":"https://pypi.org/user/orsinium/","role":null,"created_at":"2022-11-14T20:41:59.727Z","updated_at":"2022-11-14T20:41:59.727Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/orsinium/packages"},{"uuid":"sobolevn","login":"sobolevn","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://pypi.org/user/sobolevn/","role":null,"created_at":"2022-11-14T20:41:59.755Z","updated_at":"2022-11-14T20:41:59.755Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/sobolevn/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726150,"maintainers_count":308801,"namespaces_count":0,"keywords_count":238245,"github":"pypi","metadata":{"funded_packages_count":50579},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-08T05:32:36.857Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":529330,"full_name":"life4/deal","default_branch":"master","committers":[{"name":"Gram","email":"master_fess@mail.ru","login":"orsinium","count":1099},{"name":"Ryan Delaney","email":"ryan.patrick.delaney@protonmail.com","login":null,"count":14},{"name":"sobolevn","email":"mail@sobolevn.me","login":"sobolevn","count":6},{"name":"Ryan Delaney","email":"ryan.patrick.delaney+github@protonmail.com","login":null,"count":5},{"name":"Max Caldwell","email":"max@scriptt.ai","login":null,"count":3},{"name":"aleien","email":"aleien@yandex-team.ru","login":"aleien","count":3},{"name":"Isidro Arias","email":"isidroariass@hotmail.es","login":"isidroas","count":2},{"name":"Ryan Delaney","email":"ryan.patrick.delaney+git@protonmail.com","login":"rpdelaney","count":2},{"name":"Devon Richards","email":"friends.devon@gmail.com","login":"ruler501","count":1},{"name":"Jacob Sánchez","email":"jacobszpz@protonmail.com","login":"sanjacob","count":1},{"name":"Spencer Williams","email":"spencerwi@gmail.com","login":"spencerwi","count":1},{"name":"Vishal Sodani","email":"vishalsodani@rediffmail.com","login":"vishalsodani","count":1},{"name":"Waleed Mebane","email":"59346012+waleedmebane","login":"waleedmebane","count":1},{"name":"jgberry","email":"jgbcode@gmail.com","login":"jgberry","count":1},{"name":"Sergey Sokolov","email":"dmemory7@ya.ru","login":null,"count":1},{"name":"Panashe M. Fundira","email":"panashe@dropbox.com","login":null,"count":1},{"name":"toonarmycaptain","email":"toonarmycaptain@hotmail.com","login":"toonarmycaptain","count":1},{"name":"Иннокентий Садыков","email":"inokenty.95@gmail.com","login":"Inokenty90","count":1},{"name":"Luis Durão","email":"kpvrzlzzx@mozmail.com","login":"TheDSCPL","count":1}],"total_commits":1145,"total_committers":19,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":60.26315789473684,"dds":0.04017467248908302,"past_year_committers":[{"name":"gram","email":"git@orsinium.dev","login":"orsinium","count":12},{"name":"Isidro Arias","email":"isidroariass@hotmail.es","login":"isidroas","count":2},{"name":"Ryan Delaney","email":"ryan.patrick.delaney+git@protonmail.com","login":"rpdelaney","count":1},{"name":"Luis Durão","email":"kpvrzlzzx@mozmail.com","login":"TheDSCPL","count":1}],"past_year_total_commits":16,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":4.0,"past_year_dds":0.25,"last_synced_at":"2025-06-05T18:59:56.213Z","last_synced_commit":"2e9d6e0f409e96bb8745b21d5c8dc2573f10fe2e","created_at":"2023-03-09T03:43:08.621Z","updated_at":"2025-06-05T19:00:25.859Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5484000,"commits_count":854343132,"contributors_count":31144857,"owners_count":908866,"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":"life4/deal","html_url":"https://github.com/life4/deal","last_synced_at":"2025-08-30T02:09:13.921Z","status":"error","issues_count":0,"pull_requests_count":113,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":793377.0442477876,"issues_closed_count":0,"pull_requests_closed_count":113,"pull_request_authors_count":18,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":1.1415929203539823,"merged_pull_requests_count":107,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1042687.75,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":3.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2023-05-14T08:17:47.868Z","updated_at":"2025-09-02T17:44:22.216Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/life4%2Fdeal/issues","issue_labels_count":{},"pull_request_labels_count":{"hacktoberfest-accepted":6},"issue_author_associations_count":{},"pull_request_author_associations_count":{"MEMBER":90,"CONTRIBUTOR":19,"NONE":13},"issue_authors":{},"pull_request_authors":{"orsinium":90,"rpdelaney":8,"maxtheman":4,"TheDSCPL":2,"isidroas":2,"qnbhd":2,"sobolevn":2,"FedericoCeratto":2,"toonarmycaptain":1,"dutyrok":1,"vishalsodani":1,"ruler501":1,"aleien":1,"waleedmebane":1,"munyari":1,"jacobszpz":1,"jgberry":1,"Ayenem":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:17.013Z","repositories_count":10166699,"issues_count":32013288,"pull_requests_count":100268859,"authors_count":10729412,"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":{},"past_year_pull_request_author_associations_count":{"NONE":5,"CONTRIBUTOR":3,"MEMBER":2},"past_year_issue_authors":{},"past_year_pull_request_authors":{"orsinium":2,"TheDSCPL":2,"qnbhd":2,"isidroas":2,"rpdelaney":1,"dutyrok":1},"maintainers":[{"login":"orsinium","count":90,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/orsinium"}],"active_maintainers":[{"login":"orsinium","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/orsinium"}]},"events":{"total":{"ReleaseEvent":1,"WatchEvent":75,"DeleteEvent":2,"IssueCommentEvent":16,"PushEvent":12,"PullRequestReviewEvent":6,"PullRequestReviewCommentEvent":6,"PullRequestEvent":11,"ForkEvent":6,"CreateEvent":2},"last_year":{"ReleaseEvent":1,"WatchEvent":75,"DeleteEvent":2,"IssueCommentEvent":16,"PushEvent":12,"PullRequestReviewEvent":6,"PullRequestReviewCommentEvent":6,"PullRequestEvent":11,"ForkEvent":6,"CreateEvent":2}},"keywords":["contracts","contracts-programming","dbc","deal","decorators","design-by-contract","flake8","functional-programming","hacktoberfest","interface","invariant","linter","mypy","property-based-testing","python","pythonic","refinement-types","testing","typing","validation"],"dependencies":[],"score":20.355051301577237,"created_at":"2025-09-08T11:18:47.763Z","updated_at":"2025-10-07T08:25:23.514Z","avatar_url":"https://github.com/life4.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":43587,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["fuzzing"],"project_url":"https://science.ecosyste.ms/api/v1/projects/67418","html_url":"https://science.ecosyste.ms/projects/67418"}