{"id":369344,"url":"https://github.com/contourpy/contourpy","last_synced_at":"2026-06-15T00:30:54.192Z","repository":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2026-05-11T06:43:10.000Z","size":23333,"stargazers_count":106,"open_issues_count":11,"forks_count":29,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-29T06:05:53.520Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2026-05-25T02:36:10.000Z","dependencies_parsed_at":"2025-12-21T17:05:20.108Z","dependency_job_id":null,"html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34221150,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"packages":[{"id":5283529,"name":"contourpy","ecosystem":"conda","description":"ContourPy is a Python library for calculating contours of 2D quadrilateral grids.  It is written in C++11 and wrapped using pybind11.","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":null,"versions_count":10,"first_release_published_at":"2021-10-15T14:57:48.000Z","latest_release_published_at":"2022-10-31T20:29:09.000Z","latest_release_number":"1.0.6","last_synced_at":"2026-04-01T13:30:31.748Z","created_at":"2022-10-03T15:39:45.225Z","updated_at":"2026-04-01T13:32:03.419Z","registry_url":"https://anaconda.org/conda-forge/contourpy","install_command":"conda install -c conda-forge contourpy","documentation_url":null,"metadata":{},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2026-03-16T10:07:47.000Z","size":23337,"stargazers_count":105,"open_issues_count":11,"forks_count":28,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-16T22:08:55.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2026-03-16T10:07:49.000Z","dependencies_parsed_at":"2025-12-21T17:05:20.108Z","dependency_job_id":null,"html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31283799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-04-01T13:32:03.417Z","dependent_packages_count":2,"downloads":29845121,"downloads_period":"total","dependent_repos_count":68,"rankings":{"downloads":null,"dependent_repos_count":4.212627901172947,"dependent_packages_count":19.560768654854005,"stargazers_count":43.50386823059645,"forks_count":51.88919391065635,"docker_downloads_count":null,"average":29.791614674319938},"purl":"pkg:conda/contourpy?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/contourpy/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":13549,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2269},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-06-10T05:18:51.687Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":10344005,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_number":"1.2.1-r1","last_synced_at":"2026-04-01T16:25:46.110Z","created_at":"2024-06-11T09:40:47.110Z","updated_at":"2026-04-01T16:25:46.110Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-20T14:03:31.000Z","size":23090,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T16:31:49.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-20T14:03:32.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280450005,"owners_count":26332792,"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-10-22T02:00:06.515Z","response_time":63,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.447Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-20T10:00:44.686Z","issues_count":40,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":30,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":28,"avg_comments_per_issue":2.275,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":78,"past_year_avg_time_to_close_issue":2717108.0,"past_year_avg_time_to_close_pull_request":36491.614285714284,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":70,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.8,"past_year_avg_comments_per_pull_request":0.28205128205128205,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":68,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":80,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2024-06-12T01:00:28.242Z","updated_at":"2024-06-12T01:00:28.242Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.20","url":"https://pkgs.alpinelinux.org/packages?branch=v3.20","ecosystem":"alpine","default":false,"packages_count":24162,"maintainers_count":405,"namespaces_count":2,"keywords_count":4251,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1476},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-06-07T11:51:39.915Z","updated_at":"2026-06-10T05:19:00.233Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/namespaces"}},{"id":7778359,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:36:50.000Z","latest_release_published_at":"2023-04-18T20:36:50.000Z","latest_release_number":"1.0.7-r1","last_synced_at":"2026-04-09T02:10:36.360Z","created_at":"2023-05-22T14:18:15.103Z","updated_at":"2026-04-09T02:10:36.360Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.440Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":23.15096503915017,"forks_count":26.312902099645903,"docker_downloads_count":null,"average":12.365966784699019},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy-pyc/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":76,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2023-05-23T07:05:54.748Z","updated_at":"2023-05-23T07:05:54.748Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.18","url":"https://pkgs.alpinelinux.org/packages?branch=v3.18","ecosystem":"alpine","default":false,"packages_count":20068,"maintainers_count":367,"namespaces_count":2,"keywords_count":3640,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1185},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-05-22T10:43:30.622Z","updated_at":"2026-06-10T05:19:44.026Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/namespaces"}},{"id":6112027,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2022-11-01T03:42:07.000Z","latest_release_published_at":"2022-11-01T03:42:07.000Z","latest_release_number":"1.0.6-r0","last_synced_at":"2026-04-09T03:03:44.876Z","created_at":"2023-01-31T21:20:16.114Z","updated_at":"2026-04-09T03:03:44.876Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.17/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.437Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":18.95138654990457,"stargazers_count":21.13506231054227,"forks_count":24.076568990681487,"average":16.040754462782083},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.17","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages/py3-contourpy/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":38,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2023-02-01T09:09:17.726Z","updated_at":"2023-02-01T09:09:17.726Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.17","url":"https://pkgs.alpinelinux.org/packages?branch=v3.17","ecosystem":"alpine","default":false,"packages_count":17817,"maintainers_count":352,"namespaces_count":2,"keywords_count":3377,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1038},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.642Z","updated_at":"2026-06-10T05:19:47.280Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.17/namespaces"}},{"id":5413469,"name":"py-contourpy","ecosystem":"spack","description":"Python library for calculating contours of 2D quadrilateral grids.\n","homepage":"https://github.com/contourpy/contourpy","licenses":"[]","normalized_licenses":["Other"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2022-11-11T00:00:47.010Z","latest_release_published_at":"2024-09-06T20:35:22.129Z","latest_release_number":"1.3.0","last_synced_at":"2026-03-31T18:03:42.910Z","created_at":"2022-11-11T00:00:46.190Z","updated_at":"2026-03-31T18:03:42.910Z","registry_url":"https://packages.spack.io/package.html?name=py-contourpy","install_command":"spack install py-contourpy","documentation_url":null,"metadata":{},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-20T14:03:31.000Z","size":23090,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T16:31:49.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-20T14:03:32.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280449997,"owners_count":26332788,"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-10-22T02:00:06.515Z","response_time":63,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[]},"repo_metadata_updated_at":"2025-10-22T14:27:43.620Z","dependent_packages_count":2,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":28.06725024315687,"stargazers_count":24.10726691677088,"forks_count":27.59483117965819,"average":19.942337084896486},"purl":"pkg:spack/py-contourpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/spack/py-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/spack/py-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/spack/py-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-20T10:00:44.686Z","issues_count":40,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":30,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":28,"avg_comments_per_issue":2.275,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":78,"past_year_avg_time_to_close_issue":2717108.0,"past_year_avg_time_to_close_pull_request":36491.614285714284,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":70,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.8,"past_year_avg_comments_per_pull_request":0.28205128205128205,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":68,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages/py-contourpy/codemeta","maintainers":[{"uuid":"adamjstewart","login":"adamjstewart","name":null,"email":null,"url":"https://github.com/adamjstewart","packages_count":2168,"html_url":null,"role":null,"created_at":"2022-11-14T17:08:40.701Z","updated_at":"2022-11-14T17:08:40.701Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers/adamjstewart/packages"}],"registry":{"name":"spack.io","url":"https://packages.spack.io","ecosystem":"spack","default":true,"packages_count":9183,"maintainers_count":989,"namespaces_count":0,"keywords_count":3801,"github":"spack","metadata":{"funded_packages_count":440},"icon_url":"https://github.com/spack.png","created_at":"2022-04-04T15:19:23.514Z","updated_at":"2026-06-10T05:19:56.194Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/spack.io/namespaces"}},{"id":8613000,"name":"github.com/contourpy/contourpy","ecosystem":"go","description":null,"homepage":null,"licenses":"bsd-3-clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":null,"versions_count":21,"first_release_published_at":"2023-12-02T02:08:43.540Z","latest_release_published_at":"2025-07-26T10:09:59.000Z","latest_release_number":"v1.3.3","last_synced_at":"2026-05-29T00:01:34.502Z","created_at":"2023-12-02T02:08:39.208Z","updated_at":"2026-05-29T00:01:34.503Z","registry_url":"https://pkg.go.dev/github.com/contourpy/contourpy","install_command":"go get github.com/contourpy/contourpy","documentation_url":"https://pkg.go.dev/github.com/contourpy/contourpy#section-documentation","metadata":{},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.443Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":10.801592556016239,"dependent_packages_count":9.575730298247606,"stargazers_count":5.991976941492755,"forks_count":5.307414949652445,"docker_downloads_count":null,"average":7.919178686352261},"purl":"pkg:golang/github.com/contourpy/contourpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/contourpy/contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/contourpy/contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/contourpy/contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fcontourpy%2Fcontourpy/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2167440,"maintainers_count":0,"namespaces_count":792747,"keywords_count":113213,"github":"golang","metadata":{"funded_packages_count":53976},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-06-10T05:03:23.672Z","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"}},{"id":11764953,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-12-31T14:43:22.000Z","latest_release_published_at":"2024-12-31T14:43:22.000Z","latest_release_number":"1.3.1-r0","last_synced_at":"2026-03-14T15:52:25.713Z","created_at":"2025-06-07T18:07:41.392Z","updated_at":"2026-03-17T07:02:50.470Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.444Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy/codemeta","maintainers":[],"registry":{"name":"alpine-v3.22","url":"https://pkgs.alpinelinux.org/packages?branch=v3.22","ecosystem":"alpine","default":false,"packages_count":26322,"maintainers_count":422,"namespaces_count":2,"keywords_count":4641,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1728},"icon_url":"https://github.com/alpinelinux.png","created_at":"2025-06-05T10:49:56.987Z","updated_at":"2026-06-10T05:18:29.151Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/namespaces"}},{"id":12885048,"name":"python314Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T06:45:41.547Z","latest_release_published_at":"2026-01-27T06:45:41.547Z","latest_release_number":"1.3.3","last_synced_at":"2026-04-17T14:05:04.126Z","created_at":"2026-01-27T06:45:41.351Z","updated_at":"2026-04-17T14:33:24.771Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python314Packages.contourpy","install_command":"nix-env -iA nixpkgs.python314Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/contourpy/default.nix#L93","metadata":{"nix_attribute":"python3.14-contourpy-1.3.3","position":"pkgs/development/python-modules/contourpy/default.nix:93","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.448Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python314Packages.contourpy?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python314Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python314Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python314Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":147386,"maintainers_count":4699,"namespaces_count":0,"keywords_count":2908,"github":"NixOS","metadata":{"funded_packages_count":1599},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-06-10T05:16:03.119Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":11138421,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-08-30T04:25:44.000Z","latest_release_published_at":"2024-08-30T04:25:44.000Z","latest_release_number":"1.3.0-r0","last_synced_at":"2026-03-14T13:05:22.653Z","created_at":"2024-12-07T12:27:38.825Z","updated_at":"2026-03-17T07:02:50.473Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.446Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy/codemeta","maintainers":[],"registry":{"name":"alpine-v3.21","url":"https://pkgs.alpinelinux.org/packages?branch=v3.21","ecosystem":"alpine","default":false,"packages_count":25393,"maintainers_count":413,"namespaces_count":2,"keywords_count":3612,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1270},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-12-06T12:06:36.014Z","updated_at":"2026-06-10T05:18:33.774Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/namespaces"}},{"id":7598203,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":12,"first_release_published_at":"2023-04-18T20:36:50.000Z","latest_release_published_at":"2026-02-09T13:50:21.000Z","latest_release_number":"1.3.3-r1","last_synced_at":"2026-03-20T11:09:23.767Z","created_at":"2023-04-19T00:08:33.873Z","updated_at":"2026-03-20T11:09:23.767Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.447Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":14.388848354517874,"stargazers_count":25.43722613831206,"forks_count":28.5425795389598,"average":17.092163507947433},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy-pyc/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":20,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2023-04-19T04:14:37.991Z","updated_at":"2023-04-19T04:14:37.991Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-edge","url":"https://pkgs.alpinelinux.org/packages?branch=edge","ecosystem":"alpine","default":false,"packages_count":39502,"maintainers_count":890,"namespaces_count":3,"keywords_count":6579,"github":"alpinelinux","metadata":{"repos":["main","community","testing"],"funded_packages_count":2727},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.616Z","updated_at":"2026-06-10T05:16:50.784Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/namespaces"}},{"id":5285222,"name":"contourpy","ecosystem":"conda","description":"ContourPy is a Python library for calculating contours of 2D quadrilateral grids.  It is written in C++11 and wrapped using pybind11.","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":null,"versions_count":5,"first_release_published_at":"2022-09-22T06:19:53.000Z","latest_release_published_at":"2025-11-20T13:05:59.000Z","latest_release_number":"1.3.3","last_synced_at":"2026-03-20T17:11:34.211Z","created_at":"2022-10-03T15:42:17.321Z","updated_at":"2026-03-20T17:16:42.455Z","registry_url":"https://anaconda.org/anaconda/contourpy","install_command":"conda install -c anaconda contourpy","documentation_url":null,"metadata":{},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2026-03-16T10:07:47.000Z","size":23337,"stargazers_count":105,"open_issues_count":11,"forks_count":28,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-16T22:08:55.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2026-03-16T10:07:49.000Z","dependencies_parsed_at":"2025-12-21T17:05:20.108Z","dependency_job_id":null,"html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30752664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-20T11:15:16.779Z","status":"ssl_error","status_checked_at":"2026-03-20T11:14:57.379Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"tags":[]},"repo_metadata_updated_at":"2026-03-20T17:16:42.454Z","dependent_packages_count":4,"downloads":343660,"downloads_period":"total","dependent_repos_count":68,"rankings":{"downloads":null,"dependent_repos_count":21.727105101413642,"dependent_packages_count":9.40381069452981,"stargazers_count":48.95513214505225,"forks_count":54.05654578979717,"docker_downloads_count":null,"average":33.53564843269822},"purl":"pkg:conda/contourpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-03-09T06:00:28.285Z","issues_count":42,"pull_requests_count":414,"avg_time_to_close_issue":4986670.03125,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":32,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":30,"avg_comments_per_issue":2.5,"avg_comments_per_pull_request":0.3115942028985507,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":39,"past_year_issues_count":7,"past_year_pull_requests_count":57,"past_year_avg_time_to_close_issue":2037848.6666666667,"past_year_avg_time_to_close_pull_request":51077.020833333336,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":48,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":3.142857142857143,"past_year_avg_comments_per_pull_request":0.2807017543859649,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":16,"past_year_merged_pull_requests_count":46,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/contourpy/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5167,"maintainers_count":0,"namespaces_count":0,"keywords_count":3232,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":759},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-06-10T05:18:41.108Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}},{"id":12825705,"name":"python311Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T18:54:07.275Z","latest_release_published_at":"2026-01-26T18:54:07.275Z","latest_release_number":"1.0.7","last_synced_at":"2026-04-03T08:15:43.224Z","created_at":"2026-01-26T18:54:07.116Z","updated_at":"2026-04-03T08:15:43.224Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python311Packages.contourpy","install_command":"nix-env -iA nixpkgs.python311Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/contourpy/default.nix#L69","metadata":{"nix_attribute":"python3.11-contourpy-1.0.7","position":"pkgs/development/python-modules/contourpy/default.nix:69","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.437Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.contourpy?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":183},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-06-10T05:16:22.193Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13008427,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2025-07-04T09:11:23.000Z","latest_release_published_at":"2025-07-04T09:11:23.000Z","latest_release_number":"1.3.2-r0","last_synced_at":"2026-04-08T21:07:17.490Z","created_at":"2026-01-31T00:37:27.701Z","updated_at":"2026-04-08T21:07:17.490Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.449Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy-pyc/codemeta","maintainers":[],"registry":{"name":"alpine-v3.23","url":"https://pkgs.alpinelinux.org/packages?branch=v3.23","ecosystem":"alpine","default":false,"packages_count":27574,"maintainers_count":428,"namespaces_count":2,"keywords_count":181,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":104},"icon_url":"https://github.com/alpinelinux.png","created_at":"2026-01-24T14:35:50.739Z","updated_at":"2026-06-10T05:17:06.512Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/namespaces"}},{"id":14531306,"name":"graphics/py-contourpy","ecosystem":"pkgsrc","description":"Python library for calculating contours of 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"modified-bsd","normalized_licenses":["Other"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["graphics","python"],"namespace":"graphics","versions_count":1,"first_release_published_at":"2026-03-19T05:43:18.000Z","latest_release_published_at":"2026-03-19T05:43:18.000Z","latest_release_number":"1.3.3","last_synced_at":"2026-05-27T07:36:09.643Z","created_at":"2026-05-27T07:36:09.326Z","updated_at":"2026-05-27T08:37:26.962Z","registry_url":"https://pkgsrc.se/graphics/py-contourpy","install_command":"pkg_add py314-contourpy","documentation_url":"https://pkgsrc.se/graphics/py-contourpy","metadata":{"pkg_slug":"py-contourpy","pkgbase":"py314-contourpy","machine_arch":"x86_64","opsys":"NetBSD","pkgname_latest":"py314-contourpy-1.3.3"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-27T07:36:10.211Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:pkgsrc/graphics/py-contourpy?arch=x86_64\u0026os=NetBSD","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pkgsrc/graphics/py-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pkgsrc/graphics/py-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pkgsrc/graphics/py-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages/graphics%2Fpy-contourpy/codemeta","maintainers":[],"registry":{"name":"pkgsrc-netbsd-x86_64-10.1-all","url":"https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.1/All","ecosystem":"pkgsrc","default":true,"packages_count":19498,"maintainers_count":0,"namespaces_count":42,"keywords_count":308,"github":"pkgsrc","metadata":{"funded_packages_count":48},"icon_url":"https://github.com/pkgsrc.png","created_at":"2026-05-26T08:59:24.518Z","updated_at":"2026-06-09T05:04:46.058Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pkgsrc-netbsd-x86_64-10.1-all/namespaces"}},{"id":13083686,"name":"python312Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:56:13.480Z","latest_release_published_at":"2026-02-01T17:56:13.480Z","latest_release_number":"1.3.0","last_synced_at":"2026-03-07T15:20:49.029Z","created_at":"2026-02-01T17:56:09.839Z","updated_at":"2026-03-17T07:02:50.460Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python312Packages.contourpy","install_command":"nix-env -iA nixpkgs.python312Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/contourpy/default.nix#L78","metadata":{"nix_attribute":"python3.12-contourpy-1.3.0","position":"pkgs/development/python-modules/contourpy/default.nix:78","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.440Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python312Packages.contourpy?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":283},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-06-10T05:16:24.031Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":2679955,"name":"contourpy","ecosystem":"pypi","description":"Python library for calculating contours of 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD License","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2021-09-20T20:55:57.000Z","latest_release_published_at":"2025-07-26T12:01:02.000Z","latest_release_number":"1.3.3","last_synced_at":"2026-06-06T21:46:29.072Z","created_at":"2022-04-10T10:26:57.474Z","updated_at":"2026-06-06T21:47:41.024Z","registry_url":"https://pypi.org/project/contourpy/","install_command":"pip install contourpy --index-url https://pypi.org/simple","documentation_url":"https://contourpy.readthedocs.io","metadata":{"funding":null,"documentation":"https://contourpy.readthedocs.io","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","Intended Audience :: Science/Research","License :: OSI Approved :: BSD License","Programming Language :: C++","Programming Language :: Python :: 3","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Topic :: Scientific/Engineering :: Information Analysis","Topic :: Scientific/Engineering :: Mathematics","Topic :: Scientific/Engineering :: Visualization"],"normalized_name":"contourpy","project_status":null},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2026-04-27T08:57:48.000Z","size":23328,"stargazers_count":105,"open_issues_count":11,"forks_count":28,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-28T09:44:02.165Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2026-04-27T08:57:51.000Z","dependencies_parsed_at":"2025-12-21T17:05:20.108Z","dependency_job_id":null,"html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32380383,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T11:25:28.583Z","status":"ssl_error","status_checked_at":"2026-04-28T11:25:05.435Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-06-06T21:47:40.990Z","dependent_packages_count":405,"downloads":192422378,"downloads_period":"last-month","dependent_repos_count":12642,"rankings":{"downloads":0.04218581199434343,"dependent_repos_count":0.07538421186815282,"dependent_packages_count":0.07813546047647958,"stargazers_count":11.281219793582988,"forks_count":10.981700528423149,"docker_downloads_count":0.04530389375044708,"average":3.7506549500159267},"purl":"pkg:pypi/contourpy","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/contourpy","docker_dependents_count":3341,"docker_downloads_count":1233984105,"usage_url":"https://repos.ecosyste.ms/usage/pypi/contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/contourpy/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2026-01-01T16:03:19.447Z","issues_count":42,"pull_requests_count":412,"avg_time_to_close_issue":5056727.838709678,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":31,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":30,"avg_comments_per_issue":2.4047619047619047,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":7,"past_year_pull_requests_count":65,"past_year_avg_time_to_close_issue":1649334.0,"past_year_avg_time_to_close_pull_request":43280.070175438595,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":57,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":2.5714285714285716,"past_year_avg_comments_per_pull_request":0.3076923076923077,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":14,"past_year_merged_pull_requests_count":55,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":50,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/contourpy/codemeta","maintainers":[{"uuid":"Thomas.Caswell","login":"Thomas.Caswell","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://pypi.org/user/Thomas.Caswell/","role":null,"created_at":"2024-12-12T22:15:34.140Z","updated_at":"2024-12-12T22:15:34.140Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Thomas.Caswell/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":883093,"maintainers_count":378081,"namespaces_count":0,"keywords_count":289179,"github":"pypi","metadata":{"funded_packages_count":54301},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-06-10T05:13:28.296Z","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":13302288,"name":"python311Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:50:08.979Z","latest_release_published_at":"2026-02-02T06:50:08.979Z","latest_release_number":"1.1.0","last_synced_at":"2026-04-15T16:07:25.135Z","created_at":"2026-02-02T06:50:02.805Z","updated_at":"2026-04-15T16:07:25.135Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python311Packages.contourpy","install_command":"nix-env -iA nixpkgs.python311Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/contourpy/default.nix#L73","metadata":{"nix_attribute":"python3.11-contourpy-1.1.0","position":"pkgs/development/python-modules/contourpy/default.nix:73","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.439Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.contourpy?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":229},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-06-10T05:16:53.702Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":7778357,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-04-18T20:36:50.000Z","latest_release_published_at":"2023-04-18T20:36:50.000Z","latest_release_number":"1.0.7-r1","last_synced_at":"2026-04-09T02:10:33.787Z","created_at":"2023-05-22T14:18:14.855Z","updated_at":"2026-04-09T02:10:33.787Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.18/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-20T14:03:31.000Z","size":23090,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T16:31:49.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-20T14:03:32.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280449997,"owners_count":26332788,"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-10-22T02:00:06.515Z","response_time":63,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-03-17T07:02:59.921Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":23.15096503915017,"forks_count":26.312902099645903,"docker_downloads_count":null,"average":12.365966784699019},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.18","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-10-20T10:00:44.686Z","issues_count":40,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":30,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":28,"avg_comments_per_issue":2.275,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":78,"past_year_avg_time_to_close_issue":2717108.0,"past_year_avg_time_to_close_pull_request":36491.614285714284,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":70,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":1.8,"past_year_avg_comments_per_pull_request":0.28205128205128205,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":17,"past_year_merged_pull_requests_count":68,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":60,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages/py3-contourpy/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":76,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2023-05-23T07:06:00.729Z","updated_at":"2023-05-23T07:06:00.729Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.18","url":"https://pkgs.alpinelinux.org/packages?branch=v3.18","ecosystem":"alpine","default":false,"packages_count":20068,"maintainers_count":367,"namespaces_count":2,"keywords_count":3640,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1185},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-05-22T10:43:30.622Z","updated_at":"2026-06-10T05:19:44.026Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.18/namespaces"}},{"id":13074822,"name":"python311Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:29:17.199Z","latest_release_published_at":"2026-02-01T17:29:17.199Z","latest_release_number":"1.3.0","last_synced_at":"2026-03-06T01:26:53.271Z","created_at":"2026-02-01T17:29:13.030Z","updated_at":"2026-03-17T07:02:50.460Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python311Packages.contourpy","install_command":"nix-env -iA nixpkgs.python311Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/contourpy/default.nix#L78","metadata":{"nix_attribute":"python3.11-contourpy-1.3.0","position":"pkgs/development/python-modules/contourpy/default.nix:78","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.435Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.contourpy?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":283},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-06-10T05:16:24.031Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":13194030,"name":"python311Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:18:40.134Z","latest_release_published_at":"2026-02-02T00:18:40.134Z","latest_release_number":"1.2.0","last_synced_at":"2026-03-09T01:09:42.328Z","created_at":"2026-02-02T00:18:39.118Z","updated_at":"2026-03-17T07:02:50.465Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python311Packages.contourpy","install_command":"nix-env -iA nixpkgs.python311Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/contourpy/default.nix#L77","metadata":{"nix_attribute":"python3.11-contourpy-1.2.0","position":"pkgs/development/python-modules/contourpy/default.nix:77","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.439Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.contourpy?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":264},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-06-09T05:04:49.559Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":12861520,"name":"python313Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T01:25:06.905Z","latest_release_published_at":"2026-01-27T01:25:06.905Z","latest_release_number":"1.3.3","last_synced_at":"2026-03-05T14:11:18.192Z","created_at":"2026-01-27T01:25:06.654Z","updated_at":"2026-03-17T07:02:50.466Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python313Packages.contourpy","install_command":"nix-env -iA nixpkgs.python313Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/contourpy/default.nix#L93","metadata":{"nix_attribute":"python3.13-contourpy-1.3.3","position":"pkgs/development/python-modules/contourpy/default.nix:93","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.444Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python313Packages.contourpy?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python313Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python313Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python313Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":147386,"maintainers_count":4699,"namespaces_count":0,"keywords_count":2908,"github":"NixOS","metadata":{"funded_packages_count":1599},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-06-10T05:16:03.119Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":13294609,"name":"python310Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:23:02.016Z","latest_release_published_at":"2026-02-02T06:23:02.016Z","latest_release_number":"1.1.0","last_synced_at":"2026-03-08T23:27:05.985Z","created_at":"2026-02-02T06:22:34.400Z","updated_at":"2026-03-17T07:02:50.463Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python310Packages.contourpy","install_command":"nix-env -iA nixpkgs.python310Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/contourpy/default.nix#L73","metadata":{"nix_attribute":"python3.10-contourpy-1.1.0","position":"pkgs/development/python-modules/contourpy/default.nix:73","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.441Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python310Packages.contourpy?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":229},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-06-10T05:16:53.702Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":13202313,"name":"python312Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:52:31.469Z","latest_release_published_at":"2026-02-02T00:52:31.469Z","latest_release_number":"1.2.0","last_synced_at":"2026-03-07T11:02:01.090Z","created_at":"2026-02-02T00:52:12.262Z","updated_at":"2026-03-17T07:02:50.463Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python312Packages.contourpy","install_command":"nix-env -iA nixpkgs.python312Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/contourpy/default.nix#L77","metadata":{"nix_attribute":"python3.12-contourpy-1.2.0","position":"pkgs/development/python-modules/contourpy/default.nix:77","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.441Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python312Packages.contourpy?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":264},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-06-09T05:04:49.559Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":11138423,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-08-30T04:25:44.000Z","latest_release_published_at":"2024-08-30T04:25:44.000Z","latest_release_number":"1.3.0-r0","last_synced_at":"2026-03-14T15:56:17.318Z","created_at":"2024-12-07T12:27:39.176Z","updated_at":"2026-03-17T07:02:50.463Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.21/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.443Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.21","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages/py3-contourpy-pyc/codemeta","maintainers":[],"registry":{"name":"alpine-v3.21","url":"https://pkgs.alpinelinux.org/packages?branch=v3.21","ecosystem":"alpine","default":false,"packages_count":25393,"maintainers_count":413,"namespaces_count":2,"keywords_count":3612,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1270},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-12-06T12:06:36.014Z","updated_at":"2026-06-10T05:18:33.774Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.21/namespaces"}},{"id":8676483,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-11-11T14:11:39.000Z","latest_release_published_at":"2023-11-11T14:11:39.000Z","latest_release_number":"1.2.0-r0","last_synced_at":"2026-04-08T14:05:10.901Z","created_at":"2023-12-20T10:26:47.626Z","updated_at":"2026-04-08T14:05:10.901Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.441Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy-pyc/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":80,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2024-08-26T13:10:24.041Z","updated_at":"2024-08-26T13:10:24.041Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.19","url":"https://pkgs.alpinelinux.org/packages?branch=v3.19","ecosystem":"alpine","default":false,"packages_count":23031,"maintainers_count":392,"namespaces_count":2,"keywords_count":3179,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":824},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-12-20T09:51:56.346Z","updated_at":"2026-06-10T05:19:05.125Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/namespaces"}},{"id":11764956,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-12-31T14:43:22.000Z","latest_release_published_at":"2024-12-31T14:43:22.000Z","latest_release_number":"1.3.1-r0","last_synced_at":"2026-03-14T15:52:25.974Z","created_at":"2025-06-07T18:07:41.580Z","updated_at":"2026-03-17T07:02:50.535Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.22/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.448Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.22","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages/py3-contourpy-pyc/codemeta","maintainers":[],"registry":{"name":"alpine-v3.22","url":"https://pkgs.alpinelinux.org/packages?branch=v3.22","ecosystem":"alpine","default":false,"packages_count":26322,"maintainers_count":422,"namespaces_count":2,"keywords_count":4641,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1728},"icon_url":"https://github.com/alpinelinux.png","created_at":"2025-06-05T10:49:56.987Z","updated_at":"2026-06-10T05:18:29.151Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.22/namespaces"}},{"id":13008424,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2025-07-04T09:11:23.000Z","latest_release_published_at":"2025-07-04T09:11:23.000Z","latest_release_number":"1.3.2-r0","last_synced_at":"2026-04-12T18:05:56.762Z","created_at":"2026-01-31T00:37:24.186Z","updated_at":"2026-04-12T18:31:15.294Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.23/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.435Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.23","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages/py3-contourpy/codemeta","maintainers":[],"registry":{"name":"alpine-v3.23","url":"https://pkgs.alpinelinux.org/packages?branch=v3.23","ecosystem":"alpine","default":false,"packages_count":27574,"maintainers_count":428,"namespaces_count":2,"keywords_count":181,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":104},"icon_url":"https://github.com/alpinelinux.png","created_at":"2026-01-24T14:35:50.739Z","updated_at":"2026-06-10T05:17:06.512Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.23/namespaces"}},{"id":12813128,"name":"python310Packages.contourpy","ecosystem":"nixpkgs","description":"Python library for calculating contours in 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T16:44:49.023Z","latest_release_published_at":"2026-01-26T16:44:49.023Z","latest_release_number":"1.0.7","last_synced_at":"2026-03-05T18:22:30.702Z","created_at":"2026-01-26T16:44:48.871Z","updated_at":"2026-03-17T07:02:50.473Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python310Packages.contourpy","install_command":"nix-env -iA nixpkgs.python310Packages.contourpy","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/contourpy/default.nix#L69","metadata":{"nix_attribute":"python3.10-contourpy-1.0.7","position":"pkgs/development/python-modules/contourpy/default.nix:69","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"contourpy","upstream_purl":"pkg:pypi/contourpy"},"repo_metadata":{},"repo_metadata_updated_at":"2026-03-17T07:02:50.451Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python310Packages.contourpy?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.contourpy/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":183},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-06-10T05:16:22.193Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":10344006,"name":"py3-contourpy-pyc","ecosystem":"alpine","description":"Precompiled Python bytecode for py3-contourpy","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_published_at":"2024-04-12T09:59:22.000Z","latest_release_number":"1.2.1-r1","last_synced_at":"2026-04-08T09:57:20.142Z","created_at":"2024-06-11T09:40:48.560Z","updated_at":"2026-04-08T09:57:20.142Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.20/community/x86_64/py3-contourpy-pyc","install_command":"apk add py3-contourpy-pyc","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.450Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy-pyc?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.20","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy-pyc","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy-pyc","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy-pyc/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages/py3-contourpy-pyc/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":80,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2024-06-12T01:00:28.343Z","updated_at":"2024-06-12T01:00:28.343Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.20","url":"https://pkgs.alpinelinux.org/packages?branch=v3.20","ecosystem":"alpine","default":false,"packages_count":24162,"maintainers_count":405,"namespaces_count":2,"keywords_count":4251,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":1476},"icon_url":"https://github.com/alpinelinux.png","created_at":"2024-06-07T11:51:39.915Z","updated_at":"2026-06-10T05:19:00.233Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.20/namespaces"}},{"id":8676482,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":1,"first_release_published_at":"2023-11-11T14:11:39.000Z","latest_release_published_at":"2023-11-11T14:11:39.000Z","latest_release_number":"1.2.0-r0","last_synced_at":"2026-03-16T15:27:55.215Z","created_at":"2023-12-20T10:26:47.475Z","updated_at":"2026-03-16T15:27:55.215Z","registry_url":"https://pkgs.alpinelinux.org/package/v3.19/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=v3.19","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages/py3-contourpy/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":80,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2026-02-16T14:21:44.188Z","updated_at":"2026-02-16T14:21:44.188Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-v3.19","url":"https://pkgs.alpinelinux.org/packages?branch=v3.19","ecosystem":"alpine","default":false,"packages_count":23031,"maintainers_count":392,"namespaces_count":2,"keywords_count":3179,"github":"alpinelinux","metadata":{"repos":["main","community"],"funded_packages_count":824},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-12-20T09:51:56.346Z","updated_at":"2026-06-10T05:19:05.125Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-v3.19/namespaces"}},{"id":6059679,"name":"py3-contourpy","ecosystem":"alpine","description":"Python library for calculating contours in 2D quadrilateral grids Resources","homepage":"https://github.com/contourpy/contourpy","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"community","versions_count":13,"first_release_published_at":"2023-01-15T09:13:27.000Z","latest_release_published_at":"2026-02-09T13:50:21.000Z","latest_release_number":"1.3.3-r1","last_synced_at":"2026-03-20T11:10:05.685Z","created_at":"2023-01-31T19:03:45.242Z","updated_at":"2026-03-20T11:10:05.686Z","registry_url":"https://pkgs.alpinelinux.org/package/edge/community/x86_64/py3-contourpy","install_command":"apk add py3-contourpy","documentation_url":null,"metadata":{"repository":"community","architecture":"x86_64"},"repo_metadata":{"id":37979241,"uuid":"340420997","full_name":"contourpy/contourpy","owner":"contourpy","description":"Python library for calculating contours in 2D quadrilateral grids","archived":false,"fork":false,"pushed_at":"2025-10-06T09:32:33.000Z","size":23085,"stargazers_count":92,"open_issues_count":11,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T11:31:23.128Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://contourpy.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/contourpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","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":"2021-02-19T16:06:34.000Z","updated_at":"2025-10-06T09:32:35.000Z","dependencies_parsed_at":"2023-10-16T11:44:16.177Z","dependency_job_id":"6d0e1d9b-7d05-4b0b-b34d-4249279f0e89","html_url":"https://github.com/contourpy/contourpy","commit_stats":{"total_commits":406,"total_committers":9,"mean_commits":"45.111111111111114","dds":"0.049261083743842415","last_synced_commit":"afd4e9106940515699535eb80aa1e90cf81cfc96"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/contourpy/contourpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/sbom","scorecard":{"id":303603,"data":{"date":"2025-08-11","repo":{"name":"github.com/contourpy/contourpy","commit":"d23989b254f78a3c82eceae15e3f49c90a6a95a7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/test_own_nightlies.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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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/build_wheels.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_wheels.yml:135: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/build_wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:232: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:385: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:426: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:432: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:439: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:501: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:513: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_own_nightlies.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/contourpy/contourpy/test_own_nightlies.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_wheels.yml:105","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:64","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:65","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:284","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:289","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:294","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:300","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:301","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:305","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:309","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:318","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:322","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:326","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:329","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:52","Warn: pipCommand not pinned by hash: .github/workflows/test_own_nightlies.yml:53","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of  17 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":"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-17T21:24:34.775Z","repository_id":37979241,"created_at":"2025-08-17T21:24:34.775Z","updated_at":"2025-08-17T21:24:34.775Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278621846,"owners_count":26017253,"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-10-06T02:00:05.630Z","response_time":65,"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":"contourpy","name":"contourpy","uuid":"79325773","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/79325773?v=4","repositories_count":2,"last_synced_at":"2023-03-06T03:57:31.098Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/contourpy","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-16T04:19:03.543Z","updated_at":"2023-03-06T03:57:31.105Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/contourpy/repositories"},"tags":[{"name":"v1.3.3","sha":"713550ab7ea74e6f4e813e6947b9b0c84d7ccb7b","kind":"tag","published_at":"2025-07-26T10:12:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"59617d8592543d808f2d3d7af90a4bdb8fa9b9e9","kind":"tag","published_at":"2025-04-15T16:00:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1b253baa44e05b65859e97a68ddeb34cf23b7a71","kind":"tag","published_at":"2024-11-12T08:47:51.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"a59061cbf00dbbee09c56d1b1c36260946c37567","kind":"tag","published_at":"2024-08-27T19:19:13.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.3.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"bc805ed85d711873232873af8a47a8effd224fa3","kind":"tag","published_at":"2024-04-02T17:56:09.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1/manifests"},{"name":"v1.2.1rc1","sha":"dfefb046799be9e75378a288876c4c718a645e6e","kind":"tag","published_at":"2024-03-28T10:46:46.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.1rc1/manifests"},{"name":"v1.2.0","sha":"35f3e7a7d567f2a74c0b64c06063092f4f8f3ea1","kind":"tag","published_at":"2023-11-03T14:52:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.2.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"2606b9e2eb93b0f1127dfeca3d868cd78f4c874d","kind":"tag","published_at":"2023-09-16T09:07:17.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1/manifests"},{"name":"v1.1.1rc1","sha":"771cef4aa9685bc6c4be3ac2013a4efe5e7087db","kind":"tag","published_at":"2023-09-09T12:37:29.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.1rc1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.1rc1/manifests"},{"name":"v1.1.0","sha":"e14c25f42c84892b8a0c9140e24d633ebd2b7fb3","kind":"tag","published_at":"2023-06-13T17:43:53.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.1.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.1.0/manifests"},{"name":"v1.0.7","sha":"7dc66801f34735bf4d590fe216c3403e6729b852","kind":"tag","published_at":"2023-01-13T10:19:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.7","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.7/manifests"},{"name":"v1.0.6","sha":"aae738e9c400cf0e522e40e853e33bc818bb25a8","kind":"tag","published_at":"2022-10-30T10:35:01.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.6","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.6/manifests"},{"name":"v1.0.5","sha":"5123a69a998bc621fdd09748dc04f8c37c912182","kind":"tag","published_at":"2022-09-02T07:20:56.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.5/manifests"},{"name":"v1.0.4","sha":"5675c10106ac5f10436b64ffc579c3497a75f281","kind":"tag","published_at":"2022-07-31T16:05:11.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"6413c7cb5eb72f0b8c5c18cf27336fe7c58a005d","kind":"tag","published_at":"2022-06-12T20:26:07.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"078fffeb951f42d5b3e78a4d3a29bfd20eb75c32","kind":"tag","published_at":"2022-04-08T08:39:33.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"9292fd49293a402d5f359d44dce4a306f06326d7","kind":"tag","published_at":"2022-03-02T21:50:41.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"ee271cb0a9379a38c9d3507b552fb86875d05499","kind":"tag","published_at":"2022-02-19T09:32:57.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v1.0.0","html_url":"https://github.com/contourpy/contourpy/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v1.0.0/manifests"},{"name":"v0.0.5","sha":"27bb8cf9ae601460c18d317d18b365452c6812a3","kind":"tag","published_at":"2022-02-13T19:48:52.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.5","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"1a593a6be9129837047033bea0bae03e1a2c4e7c","kind":"tag","published_at":"2021-11-07T22:01:59.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.4","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"dd1f72ac99e1cc0435fec040ba099415a3348338","kind":"tag","published_at":"2021-10-01T08:59:39.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.3","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"633e8866238c5dcea402e77e7c2808f6af154dc9","kind":"tag","published_at":"2021-09-30T07:04:38.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.2","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"b221fe51fb769390e8c2d52bfcc980ba61ae3900","kind":"tag","published_at":"2021-09-20T20:41:19.000Z","download_url":"https://codeload.github.com/contourpy/contourpy/tar.gz/v0.0.1","html_url":"https://github.com/contourpy/contourpy/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/contourpy/contourpy@v0.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2026-03-17T07:02:50.446Z","dependent_packages_count":1,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":6.030839073262366,"stargazers_count":25.05087664370695,"forks_count":28.12304320601127,"average":14.801189730745147},"purl":"pkg:apk/alpine/py3-contourpy?arch=x86_64\u0026repository_url=https://pkgs.alpinelinux.org/packages?branch=edge","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/alpine/py3-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/alpine/py3-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/alpine/py3-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-29T06:52:16.993Z","issues_count":39,"pull_requests_count":412,"avg_time_to_close_issue":5205900.1,"avg_time_to_close_pull_request":134984.56234096692,"issues_closed_count":30,"pull_requests_closed_count":393,"pull_request_authors_count":12,"issue_authors_count":27,"avg_comments_per_issue":2.3076923076923075,"avg_comments_per_pull_request":0.3131067961165049,"merged_pull_requests_count":381,"bot_issues_count":0,"bot_pull_requests_count":37,"past_year_issues_count":5,"past_year_pull_requests_count":92,"past_year_avg_time_to_close_issue":1401337.5,"past_year_avg_time_to_close_pull_request":24487.963414634145,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":82,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.29347826086956524,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":23,"past_year_merged_pull_requests_count":79,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","maintainers":[{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}],"active_maintainers":[{"login":"ianthomas23","count":64,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages/py3-contourpy/codemeta","maintainers":[{"uuid":"agrossman154@yahoo.com","login":null,"name":"Aiden Grossman","email":null,"url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","packages_count":20,"html_url":"https://pkgs.alpinelinux.org/packages?maintainer=Aiden Grossman","role":null,"created_at":"2023-02-01T00:11:50.074Z","updated_at":"2023-02-01T00:11:50.074Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers/agrossman154@yahoo.com/packages"}],"registry":{"name":"alpine-edge","url":"https://pkgs.alpinelinux.org/packages?branch=edge","ecosystem":"alpine","default":false,"packages_count":39502,"maintainers_count":890,"namespaces_count":3,"keywords_count":6579,"github":"alpinelinux","metadata":{"repos":["main","community","testing"],"funded_packages_count":2727},"icon_url":"https://github.com/alpinelinux.png","created_at":"2023-01-31T17:27:50.616Z","updated_at":"2026-06-10T05:16:50.784Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/alpine-edge/namespaces"}},{"id":14551191,"name":"math/py-contourpy","ecosystem":"openbsd","description":"library for calculating contours of 2D quadrilateral grids","homepage":"https://github.com/contourpy/contourpy","licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/contourpy/contourpy","keywords_array":[],"namespace":"math","versions_count":1,"first_release_published_at":"2026-04-25T13:29:16.000Z","latest_release_published_at":"2026-04-25T13:29:16.000Z","latest_release_number":"1.2.1p2","last_synced_at":"2026-05-28T01:45:54.592Z","created_at":"2026-05-28T01:45:54.383Z","updated_at":"2026-05-28T04:41:48.771Z","registry_url":"https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/math/py-contourpy/","install_command":"pkg_add py3-contourpy-1.2.1p2","documentation_url":null,"metadata":{"pkgstem":"py3-contourpy","fullpkgname":"py3-contourpy-1.2.1p2","subpackage":"-"},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-28T04:41:48.737Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:openbsd/math/py-contourpy?arch=amd64","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/openbsd/math/py-contourpy","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/openbsd/math/py-contourpy","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/openbsd/math/py-contourpy/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages/math%2Fpy-contourpy/codemeta","maintainers":[{"uuid":"ports@openbsd.org","login":null,"name":"The OpenBSD ports mailing-list","email":"ports@openbsd.org","url":null,"packages_count":6235,"html_url":null,"role":null,"created_at":"2026-05-28T01:45:54.802Z","updated_at":"2026-05-28T01:45:54.802Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/maintainers/ports@openbsd.org/packages"}],"registry":{"name":"openbsd-7.9-amd64","url":"https://cdn.openbsd.org/pub/OpenBSD/7.9/packages/amd64","ecosystem":"openbsd","default":true,"packages_count":11808,"maintainers_count":274,"namespaces_count":42,"keywords_count":0,"github":"openbsd","metadata":{"arch":"amd64","sqlports_version":"7.54","funded_packages_count":3},"icon_url":"https://github.com/openbsd.png","created_at":"2026-05-26T11:21:10.750Z","updated_at":"2026-06-01T05:03:54.622Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/openbsd-7.9-amd64/namespaces"}}],"commits":{"id":26113,"full_name":"contourpy/contourpy","default_branch":"main","total_commits":472,"total_committers":12,"total_bot_commits":29,"total_bot_committers":1,"mean_commits":39.333333333333336,"dds":0.08898305084745761,"past_year_total_commits":59,"past_year_total_committers":5,"past_year_total_bot_commits":17,"past_year_total_bot_committers":1,"past_year_mean_commits":11.8,"past_year_dds":0.3389830508474576,"last_synced_at":"2026-01-22T10:17:49.295Z","last_synced_commit":"a586539ce54508e3f689763b69d9f623b7c36b9b","created_at":"2023-03-07T16:29:11.487Z","updated_at":"2026-01-22T10:17:49.068Z","committers":[{"name":"Ian Thomas","email":"ianthomas23@gmail.com","login":"ianthomas23","count":430},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":29},{"name":"Lysandros Nikolaou","email":"lisandrosnik@gmail.com","login":"lysnikolaou","count":3},{"name":"Eli Schwartz","email":"eschwartz93@gmail.com","login":"eli-schwartz","count":2},{"name":"matoro","email":"12038583+matoro","login":"matoro","count":1},{"name":"Zac Hatfield-Dodds","email":"zac.hatfield.dodds@gmail.com","login":"Zac-HD","count":1},{"name":"Michał Górny","email":"mgorny@gentoo.org","login":"mgorny","count":1},{"name":"Matthew Feickert","email":"matthew.feickert@cern.ch","login":"matthewfeickert","count":1},{"name":"Julien Stephan","email":"stephan-julien@laposte.net","login":"justeph","count":1},{"name":"Elliott Sales de Andrade","email":"quantum.analyst@gmail.com","login":"QuLogic","count":1},{"name":"Dima Pasechnik","email":"dima@pasechnik.info","login":"dimpase","count":1},{"name":"Alexander Shadchin","email":"alexandr.shadchin@gmail.com","login":"shadchin","count":1}],"past_year_committers":[{"name":"Ian Thomas","email":"ianthomas23@gmail.com","login":"ianthomas23","count":39},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":17},{"name":"Julien Stephan","email":"stephan-julien@laposte.net","login":"justeph","count":1},{"name":"Elliott Sales de Andrade","email":"quantum.analyst@gmail.com","login":"QuLogic","count":1},{"name":"Dima Pasechnik","email":"dima@pasechnik.info","login":"dimpase","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-02-05T00:00:25.587Z","repositories_count":6167257,"commits_count":929104300,"contributors_count":36097617,"owners_count":1139814,"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":{"table":{"full_name":"contourpy/contourpy","html_url":"https://github.com/contourpy/contourpy","last_synced_at":"2026-01-21T08:15:21.956Z","status":null,"issues_count":42,"pull_requests_count":413,"avg_time_to_close_issue":5056727.838709678,"avg_time_to_close_pull_request":136232.55583756344,"issues_closed_count":31,"pull_requests_closed_count":394,"pull_request_authors_count":12,"issue_authors_count":30,"avg_comments_per_issue":2.4285714285714284,"avg_comments_per_pull_request":0.31234866828087166,"merged_pull_requests_count":382,"bot_issues_count":0,"bot_pull_requests_count":38,"past_year_issues_count":7,"past_year_pull_requests_count":60,"past_year_avg_time_to_close_issue":1649334.0,"past_year_avg_time_to_close_pull_request":47254.480769230766,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":52,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":2.7142857142857144,"past_year_avg_comments_per_pull_request":0.26666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":15,"past_year_merged_pull_requests_count":50,"created_at":"2023-05-10T11:05:02.056Z","updated_at":"2026-01-21T08:15:21.957Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/contourpy%2Fcontourpy/issues","issue_labels_count":{"table":{"type: bug":7,"component: testing":3,"name: threaded":3,"component: build":3,"type: enhancement":2,"component: release":2,"component: docs":1,"type: performance":1,"type: code quality":1}},"pull_request_labels_count":{"table":{"component: CI":156,"component: release":49,"component: build":47,"type: enhancement":40,"component: testing":40,"component: docs":39,"name: threaded":15,"type: code quality":12,"component: benchmarks":10,"name: serial":10,"python: rendering":8,"type: bug":6,"name: mpl2014":5,"name: mpl2005":4,"python: wrapper":4,"type: performance":2}},"issue_author_associations_count":{"table":{"NONE":29,"MEMBER":12,"CONTRIBUTOR":1}},"pull_request_author_associations_count":{"table":{"MEMBER":358,"CONTRIBUTOR":48,"NONE":7}},"issue_authors":{"table":{"ianthomas23":12,"kloczek":2,"eamanu":1,"bagasme":1,"kaliiiiiiiiii":1,"EpicWink":1,"Carreau":1,"JoseVteVento":1,"jarrodmillman":1,"tnlogy":1,"krystophny":1,"0-wiz-0":1,"papoteur-mga":1,"justeph":1,"oscargus":1,"KMKnation":1,"kmuehlbauer":1,"hamdav":1,"Martin-Molinero":1,"zmoon":1,"rcomer":1,"jamesbraza":1,"hwalinga":1,"jakirkham":1,"tacaswell":1,"barracuda156":1,"mgorny":1,"tgy":1,"glaubitz":1,"lysnikolaou":1}},"pull_request_authors":{"table":{"ianthomas23":358,"dependabot[bot]":38,"lysnikolaou":4,"QuLogic":3,"eli-schwartz":2,"matthewfeickert":2,"mgorny":1,"mgiessing":1,"matoro":1,"Zac-HD":1,"zheddie":1,"shadchin":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-01-26T00:00:09.682Z","repositories_count":12927573,"issues_count":35564159,"pull_requests_count":115533162,"authors_count":11131968,"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":{"table":{"type: code quality":1}},"past_year_pull_request_labels_count":{"table":{"component: CI":37,"component: release":8,"component: build":4,"type: code quality":3}},"past_year_issue_author_associations_count":{"table":{"NONE":6,"MEMBER":1}},"past_year_pull_request_author_associations_count":{"table":{"MEMBER":43,"CONTRIBUTOR":16,"NONE":1}},"past_year_issue_authors":{"table":{"EpicWink":1,"ianthomas23":1,"JoseVteVento":1,"justeph":1,"KMKnation":1,"tacaswell":1,"zmoon":1}},"past_year_pull_request_authors":{"table":{"ianthomas23":43,"dependabot[bot]":15,"QuLogic":2}},"maintainers":[{"table":{"login":"ianthomas23","count":370,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}}],"active_maintainers":[{"table":{"login":"ianthomas23","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ianthomas23"}}]}},"events":{"total":{"ReleaseEvent":2,"DeleteEvent":49,"PullRequestEvent":96,"ForkEvent":4,"IssuesEvent":6,"WatchEvent":12,"IssueCommentEvent":28,"PushEvent":94,"PullRequestReviewEvent":11,"CreateEvent":49},"last_year":{"ReleaseEvent":1,"DeleteEvent":36,"PullRequestEvent":68,"ForkEvent":2,"IssuesEvent":6,"WatchEvent":7,"IssueCommentEvent":23,"PushEvent":71,"PullRequestReviewEvent":9,"CreateEvent":34}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build_wheels.yml","sha":null,"kind":"manifest","created_at":"2023-02-13T20:17:32.840Z","updated_at":"2023-02-13T20:17:32.840Z","repository_link":"https://github.com/contourpy/contourpy/blob/main/.github/workflows/build_wheels.yml","dependencies":[{"id":7630257249,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7630257253,"package_name":"docker/setup-qemu-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7630257255,"package_name":"pypa/cibuildwheel","ecosystem":"actions","requirements":"v2.11.4","direct":true,"kind":"composite","optional":false},{"id":7630257272,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7630257273,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-02-13T20:17:33.300Z","updated_at":"2023-02-13T20:17:33.300Z","repository_link":"https://github.com/contourpy/contourpy/blob/main/.github/workflows/test.yml","dependencies":[{"id":7630257779,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7630257780,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7630257781,"package_name":"pre-commit/action","ecosystem":"actions","requirements":"v3.0.0","direct":true,"kind":"composite","optional":false},{"id":7630257782,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7630257783,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"build_requirements.txt","sha":null,"kind":"manifest","created_at":"2023-10-02T23:16:53.209Z","updated_at":"2023-10-02T23:16:53.209Z","repository_link":"https://github.com/contourpy/contourpy/blob/main/build_requirements.txt","dependencies":[{"id":14065803591,"package_name":"meson","ecosystem":"pypi","requirements":"\u003e=1.2.0","direct":true,"kind":"runtime","optional":false},{"id":14065803592,"package_name":"meson-python","ecosystem":"pypi","requirements":"\u003e=0.13.1","direct":true,"kind":"runtime","optional":false},{"id":14065803593,"package_name":"pybind11","ecosystem":"pypi","requirements":"\u003e=2.10.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-10-02T23:16:53.292Z","updated_at":"2023-10-02T23:16:53.292Z","repository_link":"https://github.com/contourpy/contourpy/blob/main/pyproject.toml","dependencies":[{"id":14065803595,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e= 1.16, \u003c 2.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test_own_nightlies.yml","sha":null,"kind":"manifest","created_at":"2025-12-21T17:05:19.980Z","updated_at":"2025-12-21T17:05:19.980Z","repository_link":"https://github.com/contourpy/contourpy/blob/main/.github/workflows/test_own_nightlies.yml","dependencies":[{"id":25775668957,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":25775668958,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]}],"score":28.346459476731336,"created_at":"2025-11-11T15:17:21.585Z","updated_at":"2026-06-15T00:30:54.192Z","avatar_url":"https://github.com/contourpy.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/369344","html_url":"https://summary.ecosyste.ms/projects/369344"}