{"id":18300,"name":"graphtage","description":"A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.","url":"https://github.com/trailofbits/graphtage","last_synced_at":"2025-09-04T23:53:12.843Z","repository":{"id":37394340,"uuid":"257655337","full_name":"trailofbits/graphtage","owner":"trailofbits","description":"A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.","archived":false,"fork":false,"pushed_at":"2025-08-21T03:12:21.000Z","size":8486,"stargazers_count":2422,"open_issues_count":26,"forks_count":49,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-08-21T04:42:37.039Z","etag":null,"topics":["command-line-tool","diff","graph-algorithms","hacktoberfest","hacktoberfest2021","library","python","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailofbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-21T16:47:22.000Z","updated_at":"2025-08-21T03:06:46.000Z","dependencies_parsed_at":"2024-02-04T18:06:31.885Z","dependency_job_id":"a781c51f-d61d-4014-a716-2750862928ce","html_url":"https://github.com/trailofbits/graphtage","commit_stats":{"total_commits":532,"total_committers":11,"mean_commits":48.36363636363637,"dds":0.05639097744360899,"last_synced_commit":"23654acf488eb803a60ce27ac515ee0755feb1a7"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/trailofbits/graphtage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/sbom","scorecard":{"id":896639,"data":{"date":"2025-08-11","repo":{"name":"github.com/trailofbits/graphtage","commit":"23654acf488eb803a60ce27ac515ee0755feb1a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/4 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/artifacts.yml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish_docs.yml:15","Warn: no topLevel permission defined: .github/workflows/artifacts.yml:1","Warn: no topLevel permission defined: .github/workflows/check_version.yml:1","Warn: no topLevel permission defined: .github/workflows/pip-audit.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_docs.yml:1","Warn: no topLevel permission defined: .github/workflows/pythonpackage.yml:1","Warn: no topLevel permission defined: .github/workflows/pythonpublish.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/artifacts.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/artifacts.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/artifacts.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/artifacts.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/artifacts.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/artifacts.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check_version.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/check_version.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check_version.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/check_version.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pip-audit.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pip-audit.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pip-audit.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pip-audit.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pip-audit.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pip-audit.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docs.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/publish_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docs.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/publish_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_docs.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/publish_docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_docs.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/publish_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpackage.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pythonpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpackage.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pythonpackage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpublish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pythonpublish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pythonpublish.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/trailofbits/graphtage/pythonpublish.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/artifacts.yml:31","Warn: pipCommand not pinned by hash: .github/workflows/artifacts.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/artifacts.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/check_version.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/check_version.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/check_version.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/pip-audit.yml:32","Warn: pipCommand not pinned by hash: .github/workflows/pip-audit.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/publish_docs.yml:33","Warn: pipCommand not pinned by hash: .github/workflows/publish_docs.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/publish_docs.yml:35","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:31","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:34","Warn: pipCommand not pinned by hash: .github/workflows/pythonpackage.yml:45","Warn: pipCommand not pinned by hash: .github/workflows/pythonpublish.yml:24","Warn: pipCommand not pinned by hash: .github/workflows/pythonpublish.yml:25","Info:   0 out of  13 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of  18 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Lesser General Public License v3.0: 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 v0.3.1 not signed: https://api.github.com/repos/trailofbits/graphtage/releases/136120011","Warn: release artifact v0.3.0 not signed: https://api.github.com/repos/trailofbits/graphtage/releases/115673250","Warn: release artifact v0.2.9 not signed: https://api.github.com/repos/trailofbits/graphtage/releases/110210879","Warn: release artifact v0.2.8 not signed: https://api.github.com/repos/trailofbits/graphtage/releases/109437002","Warn: release artifact v0.2.7 not signed: https://api.github.com/repos/trailofbits/graphtage/releases/88330459","Warn: release artifact v0.3.1 does not have provenance: https://api.github.com/repos/trailofbits/graphtage/releases/136120011","Warn: release artifact v0.3.0 does not have provenance: https://api.github.com/repos/trailofbits/graphtage/releases/115673250","Warn: release artifact v0.2.9 does not have provenance: https://api.github.com/repos/trailofbits/graphtage/releases/110210879","Warn: release artifact v0.2.8 does not have provenance: https://api.github.com/repos/trailofbits/graphtage/releases/109437002","Warn: release artifact v0.2.7 does not have provenance: https://api.github.com/repos/trailofbits/graphtage/releases/88330459"],"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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/trailofbits/.github/SECURITY.md:1","Info: Found linked content: github.com/trailofbits/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/trailofbits/.github/SECURITY.md:1","Info: Found text in security policy: github.com/trailofbits/.github/SECURITY.md:1"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 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-24T13:57:49.184Z","repository_id":37394340,"created_at":"2025-08-24T13:57:49.184Z","updated_at":"2025-08-24T13:57:49.184Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273690664,"owners_count":25150633,"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-04T02:00:08.968Z","response_time":61,"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":"trailofbits","name":"Trail of Bits","uuid":"2314423","kind":"organization","description":"More code: binary lifters @lifting-bits, blockchain @crytic, forks @trail-of-forks ","email":"opensource@trailofbits.com","website":"https://www.trailofbits.com","location":"New York, New York","twitter":"trailofbits","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2314423?v=4","repositories_count":125,"last_synced_at":"2023-03-29T03:19:56.075Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/trailofbits","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-04T04:22:54.571Z","updated_at":"2023-03-29T03:19:56.394Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits/repositories"},"packages":[{"id":2752599,"name":"graphtage","ecosystem":"pypi","description":"A utility to diff tree-like files such as JSON and XML.","homepage":"https://github.com/trailofbits/graphtage","licenses":"LGPL-3.0-or-later","normalized_licenses":["LGPL-3.0-or-later"],"repository_url":"https://github.com/trailofbits/graphtage","keywords_array":[],"namespace":null,"versions_count":15,"first_release_published_at":"2020-04-24T21:10:50.000Z","latest_release_published_at":"2024-01-08T01:40:42.000Z","latest_release_number":"0.3.1","last_synced_at":"2025-08-21T04:57:09.837Z","created_at":"2022-04-10T11:11:21.292Z","updated_at":"2025-08-21T04:57:29.957Z","registry_url":"https://pypi.org/project/graphtage/","install_command":"pip install graphtage --index-url https://pypi.org/simple","documentation_url":"https://trailofbits.github.io/graphtage","metadata":{"funding":null,"documentation":"https://trailofbits.github.io/graphtage","classifiers":["Development Status :: 4 - Beta","Environment :: Console","Intended Audience :: Science/Research","License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)","Programming Language :: Python :: 3 :: Only","Topic :: Utilities"],"normalized_name":"graphtage","project_status":null},"repo_metadata":{"id":37394340,"uuid":"257655337","full_name":"trailofbits/graphtage","owner":"trailofbits","description":"A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.","archived":false,"fork":false,"pushed_at":"2025-08-21T03:12:21.000Z","size":8486,"stargazers_count":2422,"open_issues_count":26,"forks_count":49,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-08-21T04:42:37.039Z","etag":null,"topics":["command-line-tool","diff","graph-algorithms","hacktoberfest","hacktoberfest2021","library","python","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailofbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-21T16:47:22.000Z","updated_at":"2025-08-21T03:06:46.000Z","dependencies_parsed_at":"2024-02-04T18:06:31.885Z","dependency_job_id":"a781c51f-d61d-4014-a716-2750862928ce","html_url":"https://github.com/trailofbits/graphtage","commit_stats":{"total_commits":532,"total_committers":11,"mean_commits":48.36363636363637,"dds":0.05639097744360899,"last_synced_commit":"23654acf488eb803a60ce27ac515ee0755feb1a7"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/trailofbits/graphtage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271430416,"owners_count":24758326,"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-21T02:00:08.990Z","response_time":74,"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":"trailofbits","name":"Trail of Bits","uuid":"2314423","kind":"organization","description":"More code: binary lifters @lifting-bits, blockchain @crytic, forks @trail-of-forks ","email":"opensource@trailofbits.com","website":"https://www.trailofbits.com","location":"New York, New York","twitter":"trailofbits","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2314423?v=4","repositories_count":125,"last_synced_at":"2023-03-29T03:19:56.075Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/trailofbits","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-04T04:22:54.571Z","updated_at":"2023-03-29T03:19:56.394Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits/repositories"},"tags":[{"name":"v0.3.1","sha":"23654acf488eb803a60ce27ac515ee0755feb1a7","kind":"commit","published_at":"2024-01-08T01:33:29.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.3.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"f205f2197f06ab7068229dba134623e3c1d23928","kind":"commit","published_at":"2023-08-08T20:58:04.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.3.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.0/manifests"},{"name":"v0.2.9","sha":"b27ce27ff6d7a1a4e35aa3d6df53d176904c86ec","kind":"commit","published_at":"2023-06-28T13:10:23.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.9","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.9/manifests"},{"name":"v0.2.8","sha":"82cfd70580aa17db31d4037afba52b17d7fee4de","kind":"commit","published_at":"2023-06-21T19:30:21.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.8","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.8/manifests"},{"name":"v0.2.7","sha":"4596c5242a5f890cd910928dbcca5c832239692f","kind":"commit","published_at":"2023-01-09T16:32:43.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.7","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.7/manifests"},{"name":"v0.2.6","sha":"b14163485b05104286e313a24fdb01f311d206d3","kind":"commit","published_at":"2022-05-16T20:29:49.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.6","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.6/manifests"},{"name":"v0.2.5","sha":"1dd772d04e701dd6272623b9cb9b107abf6531ba","kind":"commit","published_at":"2021-02-12T19:19:43.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.5","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.5/manifests"},{"name":"v0.2.4","sha":"9af1340b172a5fb1daa579b54346607cd670a946","kind":"commit","published_at":"2020-12-06T15:27:55.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.4","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"1c4bfd818816eba02dd6d9d1e411d1ffa1a3cd41","kind":"commit","published_at":"2020-12-03T21:32:41.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.3","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"9d95a6ff83ba19a60804f06b169a495989043fe3","kind":"commit","published_at":"2020-10-26T15:25:38.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.2","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"ed349cacbdc2283a1ea8c3bfba26ef2908f4664b","kind":"commit","published_at":"2020-07-28T19:00:30.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"5e46a15003140305a5c01f1a216443e9f5063c2a","kind":"commit","published_at":"2020-05-19T20:21:17.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"fd656d44f8fe944a673ec9bbeced4c8fa59bca32","kind":"commit","published_at":"2020-05-16T20:52:57.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.1.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"701513f30a5efd31350c1aaecb6dd7a30fd125d1","kind":"commit","published_at":"2020-05-15T20:24:47.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.1.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-21T04:57:29.957Z","dependent_packages_count":0,"downloads":254,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":9.956128743110707,"dependent_repos_count":21.85578125090569,"dependent_packages_count":9.77662536396676,"stargazers_count":1.481886444728205,"forks_count":5.962220397120634,"docker_downloads_count":null,"average":9.8065284399664},"purl":"pkg:pypi/graphtage","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/graphtage","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/graphtage","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/graphtage/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-29T18:37:43.522Z","issues_count":38,"pull_requests_count":51,"avg_time_to_close_issue":1306132.3076923077,"avg_time_to_close_pull_request":1342924.163265306,"issues_closed_count":13,"pull_requests_closed_count":49,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":0.8947368421052632,"avg_comments_per_pull_request":0.3137254901960784,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":12,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/issues","maintainers":[{"login":"ESultanik","count":34,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ESultanik"},{"login":"woodruffw","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/woodruffw"},{"login":"dguido","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dguido"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/graphtage/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/graphtage/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/graphtage/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/graphtage/related_packages","maintainers":[{"uuid":"trailofbits","login":"trailofbits","name":null,"email":null,"url":null,"packages_count":33,"html_url":"https://pypi.org/user/trailofbits/","role":null,"created_at":"2023-02-24T08:48:57.128Z","updated_at":"2023-02-24T08:48:57.128Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/trailofbits/packages"},{"uuid":"ESultanik","login":"ESultanik","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/ESultanik/","role":null,"created_at":"2023-02-24T08:48:57.117Z","updated_at":"2023-02-24T08:48:57.117Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ESultanik/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724932,"maintainers_count":308256,"namespaces_count":0,"keywords_count":237984,"github":"pypi","metadata":{"funded_packages_count":50481},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-04T05:23:51.177Z","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"}},{"id":4247630,"name":"github.com/trailofbits/graphtage","ecosystem":"go","description":"","homepage":null,"licenses":"lgpl-3.0","normalized_licenses":["LGPL-3.0"],"repository_url":"https://github.com/trailofbits/graphtage","keywords_array":[],"namespace":"github.com/trailofbits","versions_count":14,"first_release_published_at":"2020-05-15T20:24:47.000Z","latest_release_published_at":"2024-01-08T01:33:29.000Z","latest_release_number":"v0.3.1","last_synced_at":"2025-08-21T04:57:10.127Z","created_at":"2022-04-12T23:55:12.573Z","updated_at":"2025-08-21T04:57:33.752Z","registry_url":"https://pkg.go.dev/github.com/trailofbits/graphtage","install_command":"go get github.com/trailofbits/graphtage","documentation_url":"https://pkg.go.dev/github.com/trailofbits/graphtage#section-documentation","metadata":{},"repo_metadata":{"id":37394340,"uuid":"257655337","full_name":"trailofbits/graphtage","owner":"trailofbits","description":"A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.","archived":false,"fork":false,"pushed_at":"2025-08-21T03:12:21.000Z","size":8486,"stargazers_count":2422,"open_issues_count":26,"forks_count":49,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-08-21T04:42:37.039Z","etag":null,"topics":["command-line-tool","diff","graph-algorithms","hacktoberfest","hacktoberfest2021","library","python","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailofbits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-21T16:47:22.000Z","updated_at":"2025-08-21T03:06:46.000Z","dependencies_parsed_at":"2024-02-04T18:06:31.885Z","dependency_job_id":"a781c51f-d61d-4014-a716-2750862928ce","html_url":"https://github.com/trailofbits/graphtage","commit_stats":{"total_commits":532,"total_committers":11,"mean_commits":48.36363636363637,"dds":0.05639097744360899,"last_synced_commit":"23654acf488eb803a60ce27ac515ee0755feb1a7"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/trailofbits/graphtage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271430416,"owners_count":24758326,"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-21T02:00:08.990Z","response_time":74,"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":"trailofbits","name":"Trail of Bits","uuid":"2314423","kind":"organization","description":"More code: binary lifters @lifting-bits, blockchain @crytic, forks @trail-of-forks ","email":"opensource@trailofbits.com","website":"https://www.trailofbits.com","location":"New York, New York","twitter":"trailofbits","company":null,"icon_url":"https://avatars.githubusercontent.com/u/2314423?v=4","repositories_count":125,"last_synced_at":"2023-03-29T03:19:56.075Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/trailofbits","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-04T04:22:54.571Z","updated_at":"2023-03-29T03:19:56.394Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits/repositories"},"tags":[{"name":"v0.3.1","sha":"23654acf488eb803a60ce27ac515ee0755feb1a7","kind":"commit","published_at":"2024-01-08T01:33:29.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.3.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"f205f2197f06ab7068229dba134623e3c1d23928","kind":"commit","published_at":"2023-08-08T20:58:04.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.3.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.3.0/manifests"},{"name":"v0.2.9","sha":"b27ce27ff6d7a1a4e35aa3d6df53d176904c86ec","kind":"commit","published_at":"2023-06-28T13:10:23.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.9","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.9/manifests"},{"name":"v0.2.8","sha":"82cfd70580aa17db31d4037afba52b17d7fee4de","kind":"commit","published_at":"2023-06-21T19:30:21.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.8","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.8/manifests"},{"name":"v0.2.7","sha":"4596c5242a5f890cd910928dbcca5c832239692f","kind":"commit","published_at":"2023-01-09T16:32:43.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.7","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.7/manifests"},{"name":"v0.2.6","sha":"b14163485b05104286e313a24fdb01f311d206d3","kind":"commit","published_at":"2022-05-16T20:29:49.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.6","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.6/manifests"},{"name":"v0.2.5","sha":"1dd772d04e701dd6272623b9cb9b107abf6531ba","kind":"commit","published_at":"2021-02-12T19:19:43.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.5","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.5/manifests"},{"name":"v0.2.4","sha":"9af1340b172a5fb1daa579b54346607cd670a946","kind":"commit","published_at":"2020-12-06T15:27:55.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.4","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"1c4bfd818816eba02dd6d9d1e411d1ffa1a3cd41","kind":"commit","published_at":"2020-12-03T21:32:41.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.3","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"9d95a6ff83ba19a60804f06b169a495989043fe3","kind":"commit","published_at":"2020-10-26T15:25:38.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.2","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"ed349cacbdc2283a1ea8c3bfba26ef2908f4664b","kind":"commit","published_at":"2020-07-28T19:00:30.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"5e46a15003140305a5c01f1a216443e9f5063c2a","kind":"commit","published_at":"2020-05-19T20:21:17.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.2.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.2.0/manifests"},{"name":"v0.1.1","sha":"fd656d44f8fe944a673ec9bbeced4c8fa59bca32","kind":"commit","published_at":"2020-05-16T20:52:57.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.1.1","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"701513f30a5efd31350c1aaecb6dd7a30fd125d1","kind":"commit","published_at":"2020-05-15T20:24:47.000Z","download_url":"https://codeload.github.com/trailofbits/graphtage/tar.gz/v0.1.0","html_url":"https://github.com/trailofbits/graphtage/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/trailofbits/graphtage@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-21T04:57:33.752Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/trailofbits/graphtage","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/trailofbits/graphtage","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/trailofbits/graphtage","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/trailofbits/graphtage/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-29T18:37:43.522Z","issues_count":38,"pull_requests_count":51,"avg_time_to_close_issue":1306132.3076923077,"avg_time_to_close_pull_request":1342924.163265306,"issues_closed_count":13,"pull_requests_closed_count":49,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":0.8947368421052632,"avg_comments_per_pull_request":0.3137254901960784,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":12,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/issues","maintainers":[{"login":"ESultanik","count":34,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ESultanik"},{"login":"woodruffw","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/woodruffw"},{"login":"dguido","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dguido"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftrailofbits%2Fgraphtage/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftrailofbits%2Fgraphtage/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftrailofbits%2Fgraphtage/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Ftrailofbits%2Fgraphtage/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1951493,"maintainers_count":0,"namespaces_count":741113,"keywords_count":109139,"github":"golang","metadata":{"funded_packages_count":48962},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-09-04T05:53:31.480Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":589626,"full_name":"trailofbits/graphtage","default_branch":"master","committers":[{"name":"Evan Sultanik","email":"evan.sultanik@trailofbits.com","login":"ESultanik","count":502},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"Nicholas Bollweg","email":"nick.bollweg@gmail.com","login":"bollwyvl","count":8},{"name":"William Woodruff","email":"william@trailofbits.com","login":"woodruffw","count":6},{"name":"c00k133","email":"axel.github@neergaard.dev","login":"c00k133","count":1},{"name":"Loïc Lengrand","email":"42970493+loic5","login":"loic5","count":1},{"name":"James Olds","email":"james.olds@trailofbits.com","login":"oldsj","count":1},{"name":"IroncladLandship","email":"jack.huffstutler@gmail.com","login":"ZombieNub","count":1},{"name":"Ernie Hershey","email":"github@ernie.org","login":"ehershey","count":1},{"name":"Artem Dinaburg","email":"artem@dinaburg.org","login":"artemdinaburg","count":1},{"name":"Brad Larsen","email":"brad.larsen@trailofbits.com","login":null,"count":1}],"total_commits":532,"total_committers":11,"total_bot_commits":9,"total_bot_committers":1,"mean_commits":48.36363636363637,"dds":0.05639097744360899,"past_year_committers":[],"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2025-05-28T17:44:50.405Z","last_synced_commit":"23654acf488eb803a60ce27ac515ee0755feb1a7","created_at":"2023-03-09T06:16:40.654Z","updated_at":"2025-05-28T17:44:50.437Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.936Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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":"trailofbits/graphtage","html_url":"https://github.com/trailofbits/graphtage","last_synced_at":"2025-08-21T04:57:29.665Z","status":"error","issues_count":38,"pull_requests_count":51,"avg_time_to_close_issue":1306132.3076923077,"avg_time_to_close_pull_request":1342924.163265306,"issues_closed_count":13,"pull_requests_closed_count":49,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":0.8947368421052632,"avg_comments_per_pull_request":0.3137254901960784,"merged_pull_requests_count":46,"bot_issues_count":0,"bot_pull_requests_count":12,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-14T15:08:02.142Z","updated_at":"2025-09-02T09:05:58.431Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fgraphtage/issues","issue_labels_count":{"enhancement":8,"bug":7,"good first issue":3,"help wanted":1},"pull_request_labels_count":{"enhancement":19,"dependencies":18,"bug":9,"github_actions":1},"issue_author_associations_count":{"NONE":27,"COLLABORATOR":7,"MEMBER":2,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"COLLABORATOR":28,"CONTRIBUTOR":26,"MEMBER":5,"NONE":1},"issue_authors":{"ESultanik":7,"multimeric":2,"RCoeurjoly":2,"chrisfw":2,"technopagan":2,"dkasak":1,"SamWilsn":1,"jberger":1,"NPN":1,"kslgrd":1,"paulzhn":1,"martijnthe":1,"Vad1mo":1,"AdaRoseCannon":1,"Hideman85":1,"YJ048":1,"bollwyvl":1,"zachvalenta":1,"aeft":1,"palfrey":1,"mthbrown":1,"woodruffw":1,"kwyntes":1,"dguido":1,"prabhur":1,"lakeofsoft":1,"bkuhlmann":1},"pull_request_authors":{"ESultanik":28,"dependabot[bot]":18,"woodruffw":4,"bollwyvl":1,"ZombieNub":1,"oldsj":1,"bradlarsen":1,"artemdinaburg":1,"c00k133":1,"loic5":1,"dguido":1,"ehershey":1,"CarlQLange":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-04T00:00:25.939Z","repositories_count":10082405,"issues_count":31230170,"pull_requests_count":96100294,"authors_count":10694153,"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":{"dependencies":1,"github_actions":1},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"MEMBER":1,"CONTRIBUTOR":1},"past_year_issue_authors":{"zachvalenta":1},"past_year_pull_request_authors":{"dguido":1,"dependabot[bot]":1},"maintainers":[{"login":"ESultanik","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ESultanik"},{"login":"woodruffw","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/woodruffw"},{"login":"dguido","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dguido"}],"active_maintainers":[{"login":"dguido","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dguido"}]},"events":{"total":{"IssuesEvent":2,"WatchEvent":64,"DeleteEvent":3,"PushEvent":6,"PullRequestEvent":3,"ForkEvent":4,"CreateEvent":4},"last_year":{"IssuesEvent":2,"WatchEvent":64,"DeleteEvent":3,"PushEvent":6,"PullRequestEvent":3,"ForkEvent":4,"CreateEvent":4}},"keywords":["command-line-tool","diff","graph-algorithms","hacktoberfest","hacktoberfest2021","library","python","utility"],"dependencies":[{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-07-07T23:09:53.930Z","updated_at":"2022-07-07T23:09:53.930Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/setup.py","dependencies":[{"id":117213822,"package_name":"colorama","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":117213823,"package_name":"intervaltree","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":117213824,"package_name":"json5","ecosystem":"pypi","requirements":"==0.9.5","direct":true,"kind":"runtime","optional":false},{"id":117213825,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.19.4","direct":true,"kind":"runtime","optional":false},{"id":117213826,"package_name":"PyYAML","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":117213827,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=1.4.0","direct":true,"kind":"runtime","optional":false},{"id":117213828,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":117213829,"package_name":"typing_extensions","ecosystem":"pypi","requirements":"\u003e=3.7.4.3","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/artifacts.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.311Z","updated_at":"2023-02-09T04:01:15.311Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/artifacts.yml","dependencies":[{"id":7476791513,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476791514,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7476791515,"package_name":"softprops/action-gh-release","ecosystem":"actions","requirements":"v0.1.15","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/check_version.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.391Z","updated_at":"2023-02-09T04:01:15.391Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/check_version.yml","dependencies":[{"id":7476791706,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476791710,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pip-audit.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.464Z","updated_at":"2023-02-09T04:01:15.464Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/pip-audit.yml","dependencies":[{"id":7476792950,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476792951,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7476792952,"package_name":"pypa/gh-action-pip-audit","ecosystem":"actions","requirements":"v1.0.5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish_docs.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.526Z","updated_at":"2023-02-09T04:01:15.526Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/publish_docs.yml","dependencies":[{"id":7476793049,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476793050,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7476793051,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pythonpackage.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.583Z","updated_at":"2023-02-09T04:01:15.583Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/pythonpackage.yml","dependencies":[{"id":7476793287,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476793288,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pythonpublish.yml","sha":null,"kind":"manifest","created_at":"2023-02-09T04:01:15.710Z","updated_at":"2023-02-09T04:01:15.710Z","repository_link":"https://github.com/trailofbits/graphtage/blob/master/.github/workflows/pythonpublish.yml","dependencies":[{"id":7476793394,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7476793396,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]}],"score":15.749998001325807,"created_at":"2025-09-04T15:50:49.524Z","updated_at":"2025-10-07T08:09:19.609Z","avatar_url":"https://github.com/trailofbits.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":254,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["mesh","sequences","interactive","hacking"],"project_url":"https://science.ecosyste.ms/api/v1/projects/18300","html_url":"https://science.ecosyste.ms/projects/18300","bibtex_url":"https://science.ecosyste.ms/projects/18300/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/18300/export.apalike"}