{"id":39100,"name":"python-ta","description":"Adventures in code analysis for teaching Python.","url":"https://github.com/pyta-uoft/pyta","last_synced_at":"2025-09-05T08:02:20.080Z","repository":{"id":4180087,"uuid":"52238733","full_name":"pyta-uoft/pyta","owner":"pyta-uoft","description":"Adventures in code analysis for teaching Python.","archived":false,"fork":false,"pushed_at":"2025-09-01T23:58:53.000Z","size":6498,"stargazers_count":98,"open_issues_count":8,"forks_count":69,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-02T01:21:20.203Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.cs.toronto.edu/~david/pyta","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyta-uoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-22T01:38:12.000Z","updated_at":"2025-09-01T23:58:50.000Z","dependencies_parsed_at":"2023-10-17T07:57:13.814Z","dependency_job_id":"3e5abfd0-cc51-40db-9927-d17ed5035bf3","html_url":"https://github.com/pyta-uoft/pyta","commit_stats":{"total_commits":1889,"total_committers":44,"mean_commits":42.93181818181818,"dds":0.683430386447856,"last_synced_commit":"320db76d4adbe6066ea5ce7827d38fbe8be6206e"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/pyta-uoft/pyta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/sbom","scorecard":{"id":752048,"data":{"date":"2025-08-11","repo":{"name":"github.com/pyta-uoft/pyta","commit":"ddaebc530e6691c1ca5a5f956f66f7bd30785b9d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Code-Review","score":8,"reason":"Found 23/28 approved changesets -- score normalized to 8","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":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/test.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/publish.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:42","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:44","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:104","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:105","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   6 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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU 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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:31"],"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":"Branch-Protection","score":1,"reason":"branch protection is not maximal on development and all release branches","details":["Warn: branch protection not enabled for branch '2.9.x'","Warn: branch protection not enabled for branch '2.6.x'","Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:38:51.725Z","repository_id":4180087,"created_at":"2025-08-22T20:38:51.725Z","updated_at":"2025-08-22T20:38:51.725Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273728151,"owners_count":25157136,"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-05T02:00:09.113Z","response_time":402,"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":"pyta-uoft","name":"PyTA","uuid":"18420574","kind":"organization","description":"","email":null,"website":"https://www.cs.toronto.edu/~david/pyta","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/18420574?v=4","repositories_count":4,"last_synced_at":"2024-03-26T16:14:45.700Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyta-uoft","funding_links":[],"total_stars":92,"followers":0,"following":0,"created_at":"2022-11-04T01:32:35.005Z","updated_at":"2024-03-26T16:14:45.736Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft/repositories"},"packages":[{"id":2889604,"name":"python-ta","ecosystem":"pypi","description":"Code checking tool for teaching Python","homepage":"https://github.com/pyta-uoft/pyta","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/pyta-uoft/pyta","keywords_array":[],"namespace":null,"versions_count":64,"first_release_published_at":"2016-08-30T20:49:43.000Z","latest_release_published_at":"2025-08-17T17:55:19.000Z","latest_release_number":"2.11.1","last_synced_at":"2025-09-02T01:30:20.709Z","created_at":"2022-04-10T12:21:53.075Z","updated_at":"2025-09-02T01:48:45.276Z","registry_url":"https://pypi.org/project/python-ta/","install_command":"pip install python-ta --index-url https://pypi.org/simple","documentation_url":"https://www.cs.toronto.edu/~david/pyta/","metadata":{"funding":null,"documentation":"https://www.cs.toronto.edu/~david/pyta/","classifiers":[],"normalized_name":"python-ta","project_status":null},"repo_metadata":{"id":4180087,"uuid":"52238733","full_name":"pyta-uoft/pyta","owner":"pyta-uoft","description":"Adventures in code analysis for teaching Python.","archived":false,"fork":false,"pushed_at":"2025-09-01T23:58:53.000Z","size":6498,"stargazers_count":98,"open_issues_count":8,"forks_count":69,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-02T01:21:20.203Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.cs.toronto.edu/~david/pyta","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyta-uoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-22T01:38:12.000Z","updated_at":"2025-09-01T23:58:50.000Z","dependencies_parsed_at":"2023-10-17T07:57:13.814Z","dependency_job_id":"3e5abfd0-cc51-40db-9927-d17ed5035bf3","html_url":"https://github.com/pyta-uoft/pyta","commit_stats":{"total_commits":1889,"total_committers":44,"mean_commits":42.93181818181818,"dds":0.683430386447856,"last_synced_commit":"320db76d4adbe6066ea5ce7827d38fbe8be6206e"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/pyta-uoft/pyta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/sbom","scorecard":{"id":752048,"data":{"date":"2025-08-11","repo":{"name":"github.com/pyta-uoft/pyta","commit":"ddaebc530e6691c1ca5a5f956f66f7bd30785b9d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Code-Review","score":8,"reason":"Found 23/28 approved changesets -- score normalized to 8","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":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/test.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/publish.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:42","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:44","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:104","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:105","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   6 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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU 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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:31"],"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":"Branch-Protection","score":1,"reason":"branch protection is not maximal on development and all release branches","details":["Warn: branch protection not enabled for branch '2.9.x'","Warn: branch protection not enabled for branch '2.6.x'","Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:38:51.725Z","repository_id":4180087,"created_at":"2025-08-22T20:38:51.725Z","updated_at":"2025-08-22T20:38:51.725Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273218419,"owners_count":25065914,"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-01T02:00:09.058Z","response_time":120,"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":"pyta-uoft","name":"PyTA","uuid":"18420574","kind":"organization","description":"","email":null,"website":"https://www.cs.toronto.edu/~david/pyta","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/18420574?v=4","repositories_count":4,"last_synced_at":"2024-03-26T16:14:45.700Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyta-uoft","funding_links":[],"total_stars":92,"followers":0,"following":0,"created_at":"2022-11-04T01:32:35.005Z","updated_at":"2024-03-26T16:14:45.736Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft/repositories"},"tags":[{"name":"v2.11.1","sha":"f3e5bb890a178b0e3e160f4c6b0786ebb3ccd408","kind":"commit","published_at":"2025-08-17T17:53:41.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.11.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.1/manifests"},{"name":"v2.11.0","sha":"7ee34cf1b61c97c0a6a8e8ae986a88f64f1f3a84","kind":"commit","published_at":"2025-08-16T15:11:13.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.11.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.0/manifests"},{"name":"v2.10.1","sha":"4a613633d5a66e4c3de3e69f16dd9e01bcaa7840","kind":"commit","published_at":"2025-02-20T02:51:01.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.10.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.1/manifests"},{"name":"v2.10.0","sha":"e57332c2030ac3598cb2a997e76068c25c0a1039","kind":"commit","published_at":"2025-02-18T21:27:50.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.10.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.0/manifests"},{"name":"v2.9.2","sha":"4c3e6a549bf64209d68c7591a3b19839334c9cce","kind":"commit","published_at":"2025-01-16T14:50:41.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.2/manifests"},{"name":"v2.9.1","sha":"31b965987645dcfb188c60bcc0976dd98fb6ddc8","kind":"commit","published_at":"2024-12-10T02:35:03.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.1/manifests"},{"name":"v2.9.0","sha":"ef1cc7c1c3bffb52f0ee3479f3db655998c4c4c8","kind":"commit","published_at":"2024-12-09T20:53:20.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.0/manifests"},{"name":"v2.8.1","sha":"241410f5629981083d1037d8a3f0ba3f50b7a1eb","kind":"commit","published_at":"2024-08-20T03:20:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.8.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.1/manifests"},{"name":"v2.8.0","sha":"9f6c71778a5b723759c54787be17d18fb2264046","kind":"commit","published_at":"2024-08-20T03:20:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.8.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.0/manifests"},{"name":"v2.7.0","sha":"136205575923c7a8eb6214d4b884f28fb85f67bc","kind":"commit","published_at":"2023-12-14T20:27:11.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.7.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.7.0/manifests"},{"name":"v2.6.4","sha":"3b2cb8afff6ed6b180ae6df5aad4dc80527c4771","kind":"tag","published_at":"2023-11-10T19:39:21.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.4","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.4/manifests"},{"name":"v2.6.3","sha":"1b70bf961ef5e2009591f25b79b3a62e6ea3aef8","kind":"tag","published_at":"2023-10-09T16:17:37.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.3/manifests"},{"name":"v2.6.2","sha":"6bed2f3e01ca06f5f3875a56691b4acc8884b4e2","kind":"commit","published_at":"2023-09-22T18:35:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.2/manifests"},{"name":"v2.6.1","sha":"23cd60ce7bad47a5edffed7c7e2bed7d3e4da46a","kind":"commit","published_at":"2023-08-13T15:03:04.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.1/manifests"},{"name":"v2.6.0","sha":"399b2f3e2900fac3b49aec151fb5351c8db2e014","kind":"commit","published_at":"2023-08-06T17:28:38.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.0/manifests"},{"name":"v2.5.0","sha":"7b8d375cbe0b67916574a5b4f28da692d6fe37ed","kind":"commit","published_at":"2023-04-27T15:51:02.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.5.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.5.0/manifests"},{"name":"v2.4.2","sha":"0ced843086c6eafe08b96634a4f2ae04e5d509c6","kind":"commit","published_at":"2023-01-31T19:31:23.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.2/manifests"},{"name":"v2.4.1","sha":"ef6d0da97c7c28c45d8ae869e1e21b7acb8a3d82","kind":"commit","published_at":"2023-01-14T17:02:13.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"c7cc2a0a44e099e6e9375af8d7ec34d35f4bd4de","kind":"commit","published_at":"2022-12-22T17:44:28.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.0/manifests"},{"name":"v2.3.3","sha":"6cec5fd8c0ae1e1c85fc64bf70389f1951dd649b","kind":"commit","published_at":"2022-09-05T23:25:00.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.3/manifests"},{"name":"v2.3.2","sha":"f17846f4faf8fb8ac9690573e49ed27794fd1c65","kind":"commit","published_at":"2022-08-31T02:21:11.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"ab3920e30ef1bb131442d4673efd921b5e9052dd","kind":"commit","published_at":"2022-08-08T18:10:46.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"2587bed8536e695e8e656d28511c5f66f89287c0","kind":"commit","published_at":"2022-08-08T13:45:47.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"3f86d357382c75114e113200b26eb9f0e498b542","kind":"commit","published_at":"2021-12-10T04:25:33.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.2.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.2.0/manifests"},{"name":"remove","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"tag","published_at":"2021-12-10T00:13:23.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/remove","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/remove","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@remove","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/remove","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/remove/manifests"},{"name":"help","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"commit","published_at":"2021-12-10T00:11:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/help","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/help","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@help","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/help","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/help/manifests"},{"name":"list","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"commit","published_at":"2021-12-10T00:11:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/list","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/list","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@list","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/list","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/list/manifests"},{"name":"v2.1.1","sha":"252726cac6e39102abd472dc30d4a7618202e115","kind":"commit","published_at":"2021-09-24T00:51:19.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.1.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"fa1fde970c2da781797bce21da0b424fdf26cca6","kind":"commit","published_at":"2021-09-16T18:41:08.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.1.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"d1a0d16163af39cbffbf4b50d76ece352018c3b7","kind":"commit","published_at":"2021-08-24T20:57:30.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.0.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.0.0/manifests"},{"name":"1.6.3","sha":"9710c84044845cb3fe1f390111169205862fbdb4","kind":"commit","published_at":"2021-01-05T02:16:40.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.3/manifests"},{"name":"1.6.2","sha":"d405292bc72fbd19c09567c34bbc09fc03cc2ae5","kind":"commit","published_at":"2020-12-22T00:12:57.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.2/manifests"},{"name":"1.6.0","sha":"cb0f9f6ea971cb18d536164adee6d903d72825f1","kind":"commit","published_at":"2020-08-19T00:28:20.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0/manifests"},{"name":"1.6.0b2","sha":"68559ef8c5eee85eeac8bd6604d52b5c81bcad7a","kind":"commit","published_at":"2020-05-12T13:54:44.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.0b2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0b2/manifests"},{"name":"1.5.0","sha":"3f81a37db114a33facfbc1b10def593b585f46de","kind":"tag","published_at":"2019-12-15T14:32:30.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.5.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0/manifests"},{"name":"1.5.0b2","sha":"fed186d6aee1e1d8e75ab0cba83b39331c440fe4","kind":"tag","published_at":"2019-12-12T20:08:33.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.5.0b2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.5.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.5.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0b2/manifests"},{"name":"1.4.2","sha":"ab10fcbc760842b5b83bcab609d04d07fe41ad8f","kind":"commit","published_at":"2018-12-14T23:11:17.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.4.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.2/manifests"},{"name":"1.4.0","sha":"e2a9a20b6d4d45f34fbc5e7fd50fcfd74351a7f9","kind":"commit","published_at":"2018-08-21T15:40:37.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.4.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.0/manifests"},{"name":"1.3.0","sha":"378a2e14e47da615c2553d088e510060e349418d","kind":"commit","published_at":"2017-12-26T19:48:29.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.3.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.3.0/manifests"},{"name":"v1.0","sha":"0c43e37f5029d890ecd837981b12d464fa01cb2e","kind":"tag","published_at":"2016-09-07T18:45:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v1.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v1.0/manifests"}]},"repo_metadata_updated_at":"2025-09-02T01:48:45.276Z","dependent_packages_count":0,"downloads":2157,"downloads_period":"last-month","dependent_repos_count":45,"rankings":{"downloads":7.871842585957503,"dependent_repos_count":2.188938778148251,"dependent_packages_count":10.125576461732065,"stargazers_count":7.665144793463234,"forks_count":5.766401155827614,"docker_downloads_count":null,"average":6.723580755025734},"purl":"pkg:pypi/python-ta","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/python-ta","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/python-ta","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/python-ta/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T09:01:18.441Z","issues_count":34,"pull_requests_count":481,"avg_time_to_close_issue":37474219.68965517,"avg_time_to_close_pull_request":874957.6637168141,"issues_closed_count":29,"pull_requests_closed_count":452,"pull_request_authors_count":35,"issue_authors_count":20,"avg_comments_per_issue":0.6176470588235294,"avg_comments_per_pull_request":1.1205821205821207,"merged_pull_requests_count":398,"bot_issues_count":0,"bot_pull_requests_count":62,"past_year_issues_count":4,"past_year_pull_requests_count":195,"past_year_avg_time_to_close_issue":11228715.5,"past_year_avg_time_to_close_pull_request":403315.5459770115,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":174,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.75,"past_year_avg_comments_per_pull_request":1.3794871794871795,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":27,"past_year_merged_pull_requests_count":154,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/issues","maintainers":[{"login":"nigef","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nigef"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/python-ta/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/python-ta/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/python-ta/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/python-ta/related_packages","maintainers":[{"uuid":"david-yz-liu","login":"david-yz-liu","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/david-yz-liu/","role":null,"created_at":"2023-02-18T00:31:47.011Z","updated_at":"2023-02-18T00:31:47.011Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/david-yz-liu/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":725034,"maintainers_count":308337,"namespaces_count":0,"keywords_count":238006,"github":"pypi","metadata":{"funded_packages_count":50519},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-05T05:40:58.860Z","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":11744830,"name":"github.com/pyta-uoft/pyta","ecosystem":"go","description":null,"homepage":null,"licenses":"gpl-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/pyta-uoft/pyta","keywords_array":[],"namespace":null,"versions_count":27,"first_release_published_at":"2021-08-24T20:57:30.000Z","latest_release_published_at":"2025-08-17T17:53:41.000Z","latest_release_number":"v2.11.1+incompatible","last_synced_at":"2025-09-02T01:30:23.468Z","created_at":"2025-06-07T10:07:59.369Z","updated_at":"2025-09-02T01:48:45.277Z","registry_url":"https://pkg.go.dev/github.com/pyta-uoft/pyta","install_command":"go get github.com/pyta-uoft/pyta","documentation_url":"https://pkg.go.dev/github.com/pyta-uoft/pyta#section-documentation","metadata":{},"repo_metadata":{"id":4180087,"uuid":"52238733","full_name":"pyta-uoft/pyta","owner":"pyta-uoft","description":"Adventures in code analysis for teaching Python.","archived":false,"fork":false,"pushed_at":"2025-09-01T23:58:53.000Z","size":6498,"stargazers_count":98,"open_issues_count":8,"forks_count":69,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-02T01:21:20.203Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.cs.toronto.edu/~david/pyta","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyta-uoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-02-22T01:38:12.000Z","updated_at":"2025-09-01T23:58:50.000Z","dependencies_parsed_at":"2023-10-17T07:57:13.814Z","dependency_job_id":"3e5abfd0-cc51-40db-9927-d17ed5035bf3","html_url":"https://github.com/pyta-uoft/pyta","commit_stats":{"total_commits":1889,"total_committers":44,"mean_commits":42.93181818181818,"dds":0.683430386447856,"last_synced_commit":"320db76d4adbe6066ea5ce7827d38fbe8be6206e"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/pyta-uoft/pyta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/sbom","scorecard":{"id":752048,"data":{"date":"2025-08-11","repo":{"name":"github.com/pyta-uoft/pyta","commit":"ddaebc530e6691c1ca5a5f956f66f7bd30785b9d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Code-Review","score":8,"reason":"Found 23/28 approved changesets -- score normalized to 8","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":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/test.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/publish.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/publish.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/pyta-uoft/pyta/test.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:42","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:44","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:104","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:105","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   6 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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU 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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:31"],"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":"Branch-Protection","score":1,"reason":"branch protection is not maximal on development and all release branches","details":["Warn: branch protection not enabled for branch '2.9.x'","Warn: branch protection not enabled for branch '2.6.x'","Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:38:51.725Z","repository_id":4180087,"created_at":"2025-08-22T20:38:51.725Z","updated_at":"2025-08-22T20:38:51.725Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273218419,"owners_count":25065914,"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-01T02:00:09.058Z","response_time":120,"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":"pyta-uoft","name":"PyTA","uuid":"18420574","kind":"organization","description":"","email":null,"website":"https://www.cs.toronto.edu/~david/pyta","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/18420574?v=4","repositories_count":4,"last_synced_at":"2024-03-26T16:14:45.700Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyta-uoft","funding_links":[],"total_stars":92,"followers":0,"following":0,"created_at":"2022-11-04T01:32:35.005Z","updated_at":"2024-03-26T16:14:45.736Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyta-uoft/repositories"},"tags":[{"name":"v2.11.1","sha":"f3e5bb890a178b0e3e160f4c6b0786ebb3ccd408","kind":"commit","published_at":"2025-08-17T17:53:41.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.11.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.1/manifests"},{"name":"v2.11.0","sha":"7ee34cf1b61c97c0a6a8e8ae986a88f64f1f3a84","kind":"commit","published_at":"2025-08-16T15:11:13.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.11.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.11.0/manifests"},{"name":"v2.10.1","sha":"4a613633d5a66e4c3de3e69f16dd9e01bcaa7840","kind":"commit","published_at":"2025-02-20T02:51:01.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.10.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.1/manifests"},{"name":"v2.10.0","sha":"e57332c2030ac3598cb2a997e76068c25c0a1039","kind":"commit","published_at":"2025-02-18T21:27:50.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.10.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.10.0/manifests"},{"name":"v2.9.2","sha":"4c3e6a549bf64209d68c7591a3b19839334c9cce","kind":"commit","published_at":"2025-01-16T14:50:41.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.2/manifests"},{"name":"v2.9.1","sha":"31b965987645dcfb188c60bcc0976dd98fb6ddc8","kind":"commit","published_at":"2024-12-10T02:35:03.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.1/manifests"},{"name":"v2.9.0","sha":"ef1cc7c1c3bffb52f0ee3479f3db655998c4c4c8","kind":"commit","published_at":"2024-12-09T20:53:20.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.9.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.9.0/manifests"},{"name":"v2.8.1","sha":"241410f5629981083d1037d8a3f0ba3f50b7a1eb","kind":"commit","published_at":"2024-08-20T03:20:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.8.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.1/manifests"},{"name":"v2.8.0","sha":"9f6c71778a5b723759c54787be17d18fb2264046","kind":"commit","published_at":"2024-08-20T03:20:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.8.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.8.0/manifests"},{"name":"v2.7.0","sha":"136205575923c7a8eb6214d4b884f28fb85f67bc","kind":"commit","published_at":"2023-12-14T20:27:11.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.7.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.7.0/manifests"},{"name":"v2.6.4","sha":"3b2cb8afff6ed6b180ae6df5aad4dc80527c4771","kind":"tag","published_at":"2023-11-10T19:39:21.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.4","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.4/manifests"},{"name":"v2.6.3","sha":"1b70bf961ef5e2009591f25b79b3a62e6ea3aef8","kind":"tag","published_at":"2023-10-09T16:17:37.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.3/manifests"},{"name":"v2.6.2","sha":"6bed2f3e01ca06f5f3875a56691b4acc8884b4e2","kind":"commit","published_at":"2023-09-22T18:35:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.2/manifests"},{"name":"v2.6.1","sha":"23cd60ce7bad47a5edffed7c7e2bed7d3e4da46a","kind":"commit","published_at":"2023-08-13T15:03:04.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.1/manifests"},{"name":"v2.6.0","sha":"399b2f3e2900fac3b49aec151fb5351c8db2e014","kind":"commit","published_at":"2023-08-06T17:28:38.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.6.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.6.0/manifests"},{"name":"v2.5.0","sha":"7b8d375cbe0b67916574a5b4f28da692d6fe37ed","kind":"commit","published_at":"2023-04-27T15:51:02.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.5.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.5.0/manifests"},{"name":"v2.4.2","sha":"0ced843086c6eafe08b96634a4f2ae04e5d509c6","kind":"commit","published_at":"2023-01-31T19:31:23.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.2/manifests"},{"name":"v2.4.1","sha":"ef6d0da97c7c28c45d8ae869e1e21b7acb8a3d82","kind":"commit","published_at":"2023-01-14T17:02:13.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"c7cc2a0a44e099e6e9375af8d7ec34d35f4bd4de","kind":"commit","published_at":"2022-12-22T17:44:28.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.4.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.4.0/manifests"},{"name":"v2.3.3","sha":"6cec5fd8c0ae1e1c85fc64bf70389f1951dd649b","kind":"commit","published_at":"2022-09-05T23:25:00.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.3/manifests"},{"name":"v2.3.2","sha":"f17846f4faf8fb8ac9690573e49ed27794fd1c65","kind":"commit","published_at":"2022-08-31T02:21:11.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"ab3920e30ef1bb131442d4673efd921b5e9052dd","kind":"commit","published_at":"2022-08-08T18:10:46.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"2587bed8536e695e8e656d28511c5f66f89287c0","kind":"commit","published_at":"2022-08-08T13:45:47.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.3.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"3f86d357382c75114e113200b26eb9f0e498b542","kind":"commit","published_at":"2021-12-10T04:25:33.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.2.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.2.0/manifests"},{"name":"remove","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"tag","published_at":"2021-12-10T00:13:23.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/remove","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/remove","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@remove","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/remove","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/remove/manifests"},{"name":"help","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"commit","published_at":"2021-12-10T00:11:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/help","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/help","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@help","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/help","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/help/manifests"},{"name":"list","sha":"f73f26567320eb58e8d2f9b768073ffbb4e0bfa4","kind":"commit","published_at":"2021-12-10T00:11:16.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/list","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/list","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@list","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/list","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/list/manifests"},{"name":"v2.1.1","sha":"252726cac6e39102abd472dc30d4a7618202e115","kind":"commit","published_at":"2021-09-24T00:51:19.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.1.1","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"fa1fde970c2da781797bce21da0b424fdf26cca6","kind":"commit","published_at":"2021-09-16T18:41:08.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.1.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"d1a0d16163af39cbffbf4b50d76ece352018c3b7","kind":"commit","published_at":"2021-08-24T20:57:30.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v2.0.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v2.0.0/manifests"},{"name":"1.6.3","sha":"9710c84044845cb3fe1f390111169205862fbdb4","kind":"commit","published_at":"2021-01-05T02:16:40.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.3","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.3/manifests"},{"name":"1.6.2","sha":"d405292bc72fbd19c09567c34bbc09fc03cc2ae5","kind":"commit","published_at":"2020-12-22T00:12:57.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.2/manifests"},{"name":"1.6.0","sha":"cb0f9f6ea971cb18d536164adee6d903d72825f1","kind":"commit","published_at":"2020-08-19T00:28:20.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0/manifests"},{"name":"1.6.0b2","sha":"68559ef8c5eee85eeac8bd6604d52b5c81bcad7a","kind":"commit","published_at":"2020-05-12T13:54:44.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.6.0b2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.6.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.6.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.6.0b2/manifests"},{"name":"1.5.0","sha":"3f81a37db114a33facfbc1b10def593b585f46de","kind":"tag","published_at":"2019-12-15T14:32:30.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.5.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0/manifests"},{"name":"1.5.0b2","sha":"fed186d6aee1e1d8e75ab0cba83b39331c440fe4","kind":"tag","published_at":"2019-12-12T20:08:33.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.5.0b2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.5.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.5.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.5.0b2/manifests"},{"name":"1.4.2","sha":"ab10fcbc760842b5b83bcab609d04d07fe41ad8f","kind":"commit","published_at":"2018-12-14T23:11:17.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.4.2","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.2/manifests"},{"name":"1.4.0","sha":"e2a9a20b6d4d45f34fbc5e7fd50fcfd74351a7f9","kind":"commit","published_at":"2018-08-21T15:40:37.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.4.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.4.0/manifests"},{"name":"1.3.0","sha":"378a2e14e47da615c2553d088e510060e349418d","kind":"commit","published_at":"2017-12-26T19:48:29.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/1.3.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/1.3.0/manifests"},{"name":"v1.0","sha":"0c43e37f5029d890ecd837981b12d464fa01cb2e","kind":"tag","published_at":"2016-09-07T18:45:18.000Z","download_url":"https://codeload.github.com/pyta-uoft/pyta/tar.gz/v1.0","html_url":"https://github.com/pyta-uoft/pyta/releases/tag/v1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pyta-uoft/pyta@v1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/tags/v1.0/manifests"}]},"repo_metadata_updated_at":"2025-09-02T01:48:45.276Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.750499235214139,"dependent_packages_count":5.388553704962611,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.569526470088375},"purl":"pkg:golang/github.com/pyta-uoft/pyta","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/pyta-uoft/pyta","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/pyta-uoft/pyta","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/pyta-uoft/pyta/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T09:01:18.441Z","issues_count":34,"pull_requests_count":481,"avg_time_to_close_issue":37474219.68965517,"avg_time_to_close_pull_request":874957.6637168141,"issues_closed_count":29,"pull_requests_closed_count":452,"pull_request_authors_count":35,"issue_authors_count":20,"avg_comments_per_issue":0.6176470588235294,"avg_comments_per_pull_request":1.1205821205821207,"merged_pull_requests_count":398,"bot_issues_count":0,"bot_pull_requests_count":62,"past_year_issues_count":4,"past_year_pull_requests_count":195,"past_year_avg_time_to_close_issue":11228715.5,"past_year_avg_time_to_close_pull_request":403315.5459770115,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":174,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.75,"past_year_avg_comments_per_pull_request":1.3794871794871795,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":27,"past_year_merged_pull_requests_count":154,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/issues","maintainers":[{"login":"nigef","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nigef"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyta-uoft%2Fpyta/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyta-uoft%2Fpyta/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyta-uoft%2Fpyta/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpyta-uoft%2Fpyta/related_packages","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":1951690,"maintainers_count":0,"namespaces_count":741275,"keywords_count":109185,"github":"golang","metadata":{"funded_packages_count":49011},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2025-09-05T05:14:06.439Z","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":644028,"full_name":"pyta-uoft/pyta","default_branch":"master","committers":[{"name":"RyanDJLee","email":"ryandj.lee@mail.utoronto.ca","count":598},{"name":"David Liu","email":"david@cs.toronto.edu","count":299},{"name":"Nigel Fong","email":"nigel.fong@mail.utoronto.ca","count":197},{"name":"Justin","email":"Justinpark715@gmail.com","count":101},{"name":"Simeon Krastnikov","email":"simeon.krastnikov@mail.utoronto.ca","count":83},{"name":"Shweta Mogalapalli","email":"shweta.mogalapalli@mail.utoronto.ca","count":67},{"name":"Niayesh Ilkhani","email":"n.ilkhani@mail.utoronto.ca","count":57},{"name":"hayleyZHL","email":"hayleyyyo@gmail.com","count":57},{"name":"ostrokach","email":"ostrokach@gmail.com","count":54},{"name":"JiaXin","email":"jasminejx.wu@mail.utoronto.ca","count":48},{"name":"Wendy","email":"yunyiwendy.liu@mail.utoronto.ca","count":47},{"name":"Chris K","email":"christopher.koehler@mail.utoronto.ca","count":34},{"name":"Rebecca Kay","email":"rebecca.kay@mail.utoronto.ca","count":31},{"name":"Amr Sharaf","email":"amrmagdy.sharaf@gmail.com","count":21},{"name":"kavins14","email":"kavin.singh@mail.utoronto.ca","count":21},{"name":"Lorena B","email":"46202743+lorena-b@users.noreply.github.com","count":17},{"name":"Craig Katsube","email":"craig.katsube@mail.utoronto.ca","count":15},{"name":"David Lim","email":"davidhslim6793@gmail.com","count":12},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]@users.noreply.github.com","count":10},{"name":"Yibing (Amy) Lu","email":"58180122+yibinglu@users.noreply.github.com","count":10},{"name":"Sophy Sun","email":"sophyzy.sun@mail.utoronto.ca","count":9},{"name":"Simon Chen","email":"simonsc.chen@mail.utoronto.ca","count":9},{"name":"Ibrahim Hasan","email":"ibrahim.hasan@mail.utoronto.ca","count":9},{"name":"Freeman Cheng","email":"chfrn2002@gmail.com","count":9},{"name":"KnightLatreia","email":"13248104+ckatsube@users.noreply.github.com","count":7},{"name":"david-yz-liu","email":"liudavid@cs.toronto.edu","count":7},{"name":"Harshkumar Patel","email":"64931070+harshkpatel@users.noreply.github.com","count":7},{"name":"David Hyun Suk Lim","email":"37294635+dhslim@users.noreply.github.com","count":6},{"name":"Younwoo (Ethan) Choi","email":"younwoo.choi@mail.utoronto.ca","count":6},{"name":"kavins14","email":"kavinsingh@hotmail.com","count":5},{"name":"tupi2001","email":"74106484+tupi2001@users.noreply.github.com","count":5},{"name":"adamgleizer","email":"adam.gl@hotmail.com","count":4},{"name":"Richard Shi","email":"63933334+sushimon@users.noreply.github.com","count":4},{"name":"Justin","email":"35385757+justinpark715@users.noreply.github.com","count":4},{"name":"mishaschwartz","email":"misha.schwartz@gmail.com","count":3},{"name":"Simeon","email":"simeonkr@users.noreply.github.com","count":3},{"name":"Rishi Vijayvargiya","email":"54428932+rishivijayv@users.noreply.github.com","count":3},{"name":"Simon Chen","email":"ognomisch@gmail.com","count":2},{"name":"Simon Chen","email":"simonchen.sc.2002@gmail.com","count":2},{"name":"Chris K","email":"chris@wumbo.ca","count":2},{"name":"Philippe Yu","email":"philippejlyu@gmail.com","count":1},{"name":"RyanDJLee","email":"ryandj.lee@outlook.com","count":1},{"name":"ignaspa","email":"ignaspan@gmail.com","count":1},{"name":"Freeman Cheng","email":"freeman.cheng@mail.utoronto.ca","count":1}],"total_commits":1889,"total_committers":44,"total_bot_commits":10,"total_bot_committers":1,"mean_commits":42.93181818181818,"dds":0.683430386447856,"past_year_committers":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":"2023-03-19T07:27:07.082Z","last_synced_commit":"320db76d4adbe6066ea5ce7827d38fbe8be6206e","created_at":"2023-03-09T09:03:09.338Z","updated_at":"2023-09-19T17:31:50.033Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.343Z","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":"pyta-uoft/pyta","html_url":"https://github.com/pyta-uoft/pyta","last_synced_at":"2025-09-02T02:01:14.468Z","status":null,"issues_count":36,"pull_requests_count":510,"avg_time_to_close_issue":37035390.72413793,"avg_time_to_close_pull_request":894007.1323529412,"issues_closed_count":29,"pull_requests_closed_count":476,"pull_request_authors_count":35,"issue_authors_count":21,"avg_comments_per_issue":0.6111111111111112,"avg_comments_per_pull_request":1.1490196078431374,"merged_pull_requests_count":418,"bot_issues_count":1,"bot_pull_requests_count":69,"past_year_issues_count":4,"past_year_pull_requests_count":194,"past_year_avg_time_to_close_issue":11228715.5,"past_year_avg_time_to_close_pull_request":398568.5114942529,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":174,"past_year_pull_request_authors_count":13,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.75,"past_year_avg_comments_per_pull_request":1.3608247422680413,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":29,"past_year_merged_pull_requests_count":154,"created_at":"2023-05-14T22:18:42.082Z","updated_at":"2025-09-03T04:50:06.184Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyta-uoft%2Fpyta/issues","issue_labels_count":{"dependencies":1,"github_actions":1},"pull_request_labels_count":{"dependencies":62,"github_actions":26,"python":14},"issue_author_associations_count":{"CONTRIBUTOR":21,"NONE":15,"MEMBER":1},"pull_request_author_associations_count":{"CONTRIBUTOR":532,"NONE":21},"issue_authors":{"david-yz-liu":4,"ChristopherLi05":4,"Raine-Yang-UofT":4,"ch-iv":3,"quiz3":3,"klokailo":3,"matin1099":1,"paulschreiber":1,"TheGreatCorrine":1,"Raiden-Makoto":1,"Jasminewwwu":1,"leowrites":1,"dependabot[bot]":1,"amanjitsk":1,"jcal13":1,"MariaMa-GitHub":1,"jerrywcy":1,"Karl-Michaud":1,"skrukwa":1,"nigef":1,"MichaelLiut":1,"utmandrew":1},"pull_request_authors":{"david-yz-liu":118,"dependabot[bot]":62,"Raine-Yang-UofT":44,"CulmoneY":35,"sushimon":26,"Karl-Michaud":24,"quiz3":22,"pre-commit-ci[bot]":17,"lxyhan":17,"michaelZhaoCode":16,"elescogna":14,"herenali":13,"umututku03":12,"Bruce-8":12,"MariaMa-GitHub":12,"peelstnac":11,"harshkpatel":11,"yibinglu":10,"lana-w":10,"ZhiYingSun":9,"IbrahimBilal2005":8,"leowrites":8,"DanielDervishi":6,"sarahsonder":6,"tupi2001":5,"ChristopherLi05":4,"merrickliu888":4,"vsahni3":4,"Towaiji":4,"AinaMerch":4,"kavins14":1,"mishaschwartz":1,"Rishit-dagli":1,"ckatsube":1,"ch-iv":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10094553,"issues_count":31373669,"pull_requests_count":97058592,"authors_count":10699554,"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":33,"github_actions":21,"python":12},"past_year_issue_author_associations_count":{"CONTRIBUTOR":3,"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":224,"NONE":10},"past_year_issue_authors":{"Karl-Michaud":1,"leowrites":1,"Raiden-Makoto":1,"Raine-Yang-UofT":1,"TheGreatCorrine":1},"past_year_pull_request_authors":{"david-yz-liu":59,"CulmoneY":35,"dependabot[bot]":33,"Karl-Michaud":24,"Raine-Yang-UofT":22,"lxyhan":17,"herenali":13,"leowrites":8,"IbrahimBilal2005":8,"DanielDervishi":6,"Towaiji":4,"pre-commit-ci[bot]":4,"ckatsube":1},"maintainers":[{"login":"nigef","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nigef"}],"active_maintainers":[]},"events":{"total":{"ForkEvent":11,"CreateEvent":21,"CommitCommentEvent":1,"ReleaseEvent":4,"IssuesEvent":16,"WatchEvent":9,"DeleteEvent":16,"IssueCommentEvent":163,"PushEvent":99,"GollumEvent":1,"PullRequestReviewCommentEvent":335,"PullRequestReviewEvent":217,"PullRequestEvent":205},"last_year":{"ForkEvent":11,"CreateEvent":21,"CommitCommentEvent":1,"ReleaseEvent":4,"IssuesEvent":16,"WatchEvent":9,"DeleteEvent":16,"IssueCommentEvent":163,"PushEvent":99,"GollumEvent":1,"PullRequestReviewCommentEvent":335,"PullRequestReviewEvent":217,"PullRequestEvent":205}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T12:59:10.657Z","updated_at":"2023-01-13T12:59:10.657Z","repository_link":"https://github.com/pyta-uoft/pyta/blob/master/.github/workflows/test.yml","dependencies":[{"id":6875921542,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875921543,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":6875921544,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]}],"score":16.14520407483267,"created_at":"2025-09-04T15:51:13.299Z","updated_at":"2025-10-07T08:16:01.353Z","avatar_url":"https://github.com/pyta-uoft.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":2157,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/39100","html_url":"https://science.ecosyste.ms/projects/39100","bibtex_url":"https://science.ecosyste.ms/projects/39100/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/39100/export.apalike"}