{"id":1492,"name":"spopt","description":"spopt: a python package for solving spatial optimization problems in PySAL - Published in JOSS (2022)","url":"https://github.com/pysal/spopt","last_synced_at":"2025-09-04T16:29:13.430Z","repository":{"id":37854753,"uuid":"173353142","full_name":"pysal/spopt","owner":"pysal","description":"Spatial Optimization","archived":false,"fork":false,"pushed_at":"2025-07-14T13:03:12.000Z","size":167866,"stargazers_count":339,"open_issues_count":30,"forks_count":55,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-08-28T02:00:25.134Z","etag":null,"topics":["facility-location","location-allocation","location-modeling","python","regionalization","resource-planning","routing","spatial-analysis","spatial-optimization","transportation"],"latest_commit_sha":null,"homepage":"https://pysal.org/spopt/","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/pysal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-01T18:56:11.000Z","updated_at":"2025-08-21T23:35:05.000Z","dependencies_parsed_at":"2024-06-18T15:34:32.094Z","dependency_job_id":"a83165ed-bd1e-4e83-b23f-6dd725b40d32","html_url":"https://github.com/pysal/spopt","commit_stats":{"total_commits":826,"total_committers":19,"mean_commits":"43.473684210526315","dds":0.5932203389830508,"last_synced_commit":"464fd650cb1662432609c06d660c39f0f36c9eb4"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/pysal/spopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/sbom","scorecard":{"id":751966,"data":{"date":"2025-08-11","repo":{"name":"github.com/pysal/spopt","commit":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":8,"reason":"Found 12/15 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"4 commit(s) and 9 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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_docs.yml:1","Warn: no topLevel permission defined: .github/workflows/release_and_publish.yml:1","Warn: no topLevel permission defined: .github/workflows/testing.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release_and_publish.yml:14"],"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"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_docs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:28","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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-22T20:37:59.130Z","repository_id":37854753,"created_at":"2025-08-22T20:37:59.130Z","updated_at":"2025-08-22T20:37:59.130Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523124,"owners_count":25120859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":"pysal","name":"Python Spatial Analysis Library","uuid":"3769919","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3769919?v=4","repositories_count":37,"last_synced_at":"2024-04-16T01:04:32.528Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pysal","funding_links":[],"total_stars":4081,"followers":221,"following":0,"created_at":"2022-11-02T16:31:00.418Z","updated_at":"2024-04-16T01:04:46.773Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal/repositories"},"packages":[{"id":2929319,"name":"spopt","ecosystem":"pypi","description":"Spatial Optimization in PySAL","homepage":"https://pysal.org/spopt/","licenses":"BSD 3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pysal/spopt","keywords_array":["spatial","optimization"],"namespace":null,"versions_count":21,"first_release_published_at":"2021-01-15T18:07:56.000Z","latest_release_published_at":"2025-07-14T13:02:26.000Z","latest_release_number":"0.7.0","last_synced_at":"2025-09-03T22:36:21.879Z","created_at":"2022-04-10T12:41:35.970Z","updated_at":"2025-09-04T15:28:34.158Z","registry_url":"https://pypi.org/project/spopt/","install_command":"pip install spopt --index-url https://pypi.org/simple","documentation_url":"https://spopt.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Intended Audience :: Science/Research","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python :: 3","Topic :: Scientific/Engineering :: GIS"],"normalized_name":"spopt","project_status":null},"repo_metadata":{"id":37854753,"uuid":"173353142","full_name":"pysal/spopt","owner":"pysal","description":"Spatial Optimization","archived":false,"fork":false,"pushed_at":"2025-07-14T13:03:12.000Z","size":167866,"stargazers_count":339,"open_issues_count":30,"forks_count":55,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-08-28T02:00:25.134Z","etag":null,"topics":["facility-location","location-allocation","location-modeling","python","regionalization","resource-planning","routing","spatial-analysis","spatial-optimization","transportation"],"latest_commit_sha":null,"homepage":"https://pysal.org/spopt/","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/pysal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-01T18:56:11.000Z","updated_at":"2025-08-21T23:35:05.000Z","dependencies_parsed_at":"2024-06-18T15:34:32.094Z","dependency_job_id":"a83165ed-bd1e-4e83-b23f-6dd725b40d32","html_url":"https://github.com/pysal/spopt","commit_stats":{"total_commits":826,"total_committers":19,"mean_commits":"43.473684210526315","dds":0.5932203389830508,"last_synced_commit":"464fd650cb1662432609c06d660c39f0f36c9eb4"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/pysal/spopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/sbom","scorecard":{"id":751966,"data":{"date":"2025-08-11","repo":{"name":"github.com/pysal/spopt","commit":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":8,"reason":"Found 12/15 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"4 commit(s) and 9 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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_docs.yml:1","Warn: no topLevel permission defined: .github/workflows/release_and_publish.yml:1","Warn: no topLevel permission defined: .github/workflows/testing.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release_and_publish.yml:14"],"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"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_docs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:28","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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-22T20:37:59.130Z","repository_id":37854753,"created_at":"2025-08-22T20:37:59.130Z","updated_at":"2025-08-22T20:37:59.130Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523124,"owners_count":25120859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":"pysal","name":"Python Spatial Analysis Library","uuid":"3769919","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3769919?v=4","repositories_count":37,"last_synced_at":"2024-04-16T01:04:32.528Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pysal","funding_links":[],"total_stars":4081,"followers":221,"following":0,"created_at":"2022-11-02T16:31:00.418Z","updated_at":"2024-04-16T01:04:46.773Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal/repositories"},"tags":[{"name":"v0.7.0","sha":"27a29e112fef7998cff4956cc92edb3b26a53eb9","kind":"tag","published_at":"2025-07-14T13:01:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0/manifests"},{"name":"v0.7.0rc1","sha":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813","kind":"tag","published_at":"2025-07-14T12:49:52.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1/manifests"},{"name":"v0.6.1","sha":"030538d0bacb0de81776d90171179e31f29ed825","kind":"tag","published_at":"2024-06-20T13:39:57.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1/manifests"},{"name":"v0.6.1rc1","sha":"6ec4ec1341bdd027dcef4912340d5d19cf0ea0bd","kind":"tag","published_at":"2024-06-20T13:16:53.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1/manifests"},{"name":"v0.6.0","sha":"86673f8838b42569d54a74ccf1e299bbbfb20732","kind":"tag","published_at":"2023-12-10T20:26:18.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-14T03:12:19.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0/manifests"},{"name":"v0.5.0rc2","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-13T21:44:51.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2/manifests"},{"name":"v0.5.0rc1","sha":"6e382b6866ed8dd8e33a49af88c29201089c2f54","kind":"tag","published_at":"2023-01-12T21:30:45.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1/manifests"},{"name":"v0.4.1","sha":"abc3a764beec1ed6fcd02f4788b905076b7ef6a7","kind":"tag","published_at":"2022-06-13T15:05:14.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"18366f74f81b21859c26dc10d090375b7180193d","kind":"tag","published_at":"2022-05-31T00:03:42.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"1959844eacb98238b0d7a809dc14325debf7e37c","kind":"tag","published_at":"2022-03-18T16:02:23.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.3.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"a9cda4f363c0e3ba220d5dd0a99b197773dac6d6","kind":"tag","published_at":"2021-11-03T01:31:43.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"7c89cf606ddaee60d80aeae50e07b1be66cfd71f","kind":"tag","published_at":"2021-11-03T00:37:34.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0/manifests"},{"name":"v0.1.2","sha":"0160311cd60332ab086acd29c07993a7cf175523","kind":"tag","published_at":"2021-06-28T23:20:17.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"efea9b066c2c46ada148fb16188db9da6bfa364f","kind":"tag","published_at":"2021-01-31T22:22:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"ee3bf7cae8eca1d0d0bbdfa4dfa6c8f2a32e03af","kind":"tag","published_at":"2021-01-20T00:53:54.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0/manifests"},{"name":"v0.0.5","sha":"0515181f7c5e53445790e7c4f737d1b38f8ec9ce","kind":"tag","published_at":"2021-01-17T18:42:49.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.5","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"efc7185b093716bef5459fa21fc01b1a1f68582e","kind":"tag","published_at":"2021-01-17T18:10:09.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.4","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"ed6228343b7ffbc13e4b8fb0f2df6cdcf4989868","kind":"tag","published_at":"2021-01-15T22:28:50.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.3","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"c0b1e14efcf45d2ebc126bbf073f318b4cc7cb34","kind":"tag","published_at":"2021-01-15T20:53:36.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2/manifests"}]},"repo_metadata_updated_at":"2025-09-04T15:28:34.158Z","dependent_packages_count":3,"downloads":27990,"downloads_period":"last-month","dependent_repos_count":35,"rankings":{"downloads":2.3034759231288056,"dependent_repos_count":2.4706347306299423,"dependent_packages_count":2.3772338816626957,"stargazers_count":4.450513528101505,"forks_count":6.33309262285736,"docker_downloads_count":2.036725659513428,"average":3.3286127243156227},"purl":"pkg:pypi/spopt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/spopt","docker_dependents_count":4,"docker_downloads_count":189,"usage_url":"https://repos.ecosyste.ms/usage/pypi/spopt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/spopt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T21:43:28.526Z","issues_count":117,"pull_requests_count":128,"avg_time_to_close_issue":4569949.2,"avg_time_to_close_pull_request":833846.3414634146,"issues_closed_count":90,"pull_requests_closed_count":123,"pull_request_authors_count":17,"issue_authors_count":23,"avg_comments_per_issue":1.8803418803418803,"avg_comments_per_pull_request":1.7109375,"merged_pull_requests_count":110,"bot_issues_count":0,"bot_pull_requests_count":28,"past_year_issues_count":19,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":1328995.8181818181,"past_year_avg_time_to_close_pull_request":799366.9642857143,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":28,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.4736842105263157,"past_year_avg_comments_per_pull_request":1.7575757575757576,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":22,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/issues","maintainers":[{"login":"jGaboardi","count":153,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"rongboxu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rongboxu"},{"login":"gegen07","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gegen07"},{"login":"xf37","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xf37"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"},{"login":"sjsrey","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sjsrey"}],"active_maintainers":[{"login":"jGaboardi","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/spopt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/spopt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/spopt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/spopt/related_packages","maintainers":[{"uuid":"knaaptime","login":"knaaptime","name":null,"email":null,"url":null,"packages_count":11,"html_url":"https://pypi.org/user/knaaptime/","role":null,"created_at":"2023-01-13T21:47:10.053Z","updated_at":"2023-01-13T21:47:10.053Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/knaaptime/packages"},{"uuid":"sjsrey","login":"sjsrey","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/sjsrey/","role":null,"created_at":"2023-01-13T21:47:10.056Z","updated_at":"2023-01-13T21:47:10.056Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/sjsrey/packages"},{"uuid":"jGaboardi","login":"jGaboardi","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://pypi.org/user/jGaboardi/","role":null,"created_at":"2023-01-13T21:47:10.050Z","updated_at":"2023-01-13T21:47:10.050Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jGaboardi/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":724829,"maintainers_count":308209,"namespaces_count":0,"keywords_count":237984,"github":"pypi","metadata":{"funded_packages_count":50481},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-04T05:23:51.177Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":12028173,"name":"spopt","ecosystem":"conda","description":"Spopt is an open-source Python library for solving optimization problems with spatial data. Originating from the `region` module in [PySAL](http://pysal.org) (Python Spatial Analysis Library), it is under active development for the inclusion of newly proposed models and methods for regionalization, facility location, and transportation-oriented solutions.","homepage":"https://pysal.org/spopt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pysal/spopt","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2025-08-21T12:01:26.000Z","latest_release_published_at":"2025-08-21T12:01:26.000Z","latest_release_number":"0.7.0","last_synced_at":"2025-09-03T22:36:23.659Z","created_at":"2025-08-21T12:48:51.618Z","updated_at":"2025-09-04T15:28:34.216Z","registry_url":"https://anaconda.org/anaconda/spopt","install_command":"conda install -c anaconda spopt","documentation_url":null,"metadata":{},"repo_metadata":{"id":37854753,"uuid":"173353142","full_name":"pysal/spopt","owner":"pysal","description":"Spatial Optimization","archived":false,"fork":false,"pushed_at":"2025-07-14T13:03:12.000Z","size":167866,"stargazers_count":339,"open_issues_count":30,"forks_count":55,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-08-28T02:00:25.134Z","etag":null,"topics":["facility-location","location-allocation","location-modeling","python","regionalization","resource-planning","routing","spatial-analysis","spatial-optimization","transportation"],"latest_commit_sha":null,"homepage":"https://pysal.org/spopt/","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/pysal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-01T18:56:11.000Z","updated_at":"2025-08-21T23:35:05.000Z","dependencies_parsed_at":"2024-06-18T15:34:32.094Z","dependency_job_id":"a83165ed-bd1e-4e83-b23f-6dd725b40d32","html_url":"https://github.com/pysal/spopt","commit_stats":{"total_commits":826,"total_committers":19,"mean_commits":"43.473684210526315","dds":0.5932203389830508,"last_synced_commit":"464fd650cb1662432609c06d660c39f0f36c9eb4"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/pysal/spopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/sbom","scorecard":{"id":751966,"data":{"date":"2025-08-11","repo":{"name":"github.com/pysal/spopt","commit":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":8,"reason":"Found 12/15 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"4 commit(s) and 9 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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_docs.yml:1","Warn: no topLevel permission defined: .github/workflows/release_and_publish.yml:1","Warn: no topLevel permission defined: .github/workflows/testing.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release_and_publish.yml:14"],"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"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_docs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:28","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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-22T20:37:59.130Z","repository_id":37854753,"created_at":"2025-08-22T20:37:59.130Z","updated_at":"2025-08-22T20:37:59.130Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523124,"owners_count":25120859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":"pysal","name":"Python Spatial Analysis Library","uuid":"3769919","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3769919?v=4","repositories_count":37,"last_synced_at":"2024-04-16T01:04:32.528Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pysal","funding_links":[],"total_stars":4081,"followers":221,"following":0,"created_at":"2022-11-02T16:31:00.418Z","updated_at":"2024-04-16T01:04:46.773Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal/repositories"},"tags":[{"name":"v0.7.0","sha":"27a29e112fef7998cff4956cc92edb3b26a53eb9","kind":"tag","published_at":"2025-07-14T13:01:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0/manifests"},{"name":"v0.7.0rc1","sha":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813","kind":"tag","published_at":"2025-07-14T12:49:52.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1/manifests"},{"name":"v0.6.1","sha":"030538d0bacb0de81776d90171179e31f29ed825","kind":"tag","published_at":"2024-06-20T13:39:57.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1/manifests"},{"name":"v0.6.1rc1","sha":"6ec4ec1341bdd027dcef4912340d5d19cf0ea0bd","kind":"tag","published_at":"2024-06-20T13:16:53.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1/manifests"},{"name":"v0.6.0","sha":"86673f8838b42569d54a74ccf1e299bbbfb20732","kind":"tag","published_at":"2023-12-10T20:26:18.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-14T03:12:19.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0/manifests"},{"name":"v0.5.0rc2","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-13T21:44:51.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2/manifests"},{"name":"v0.5.0rc1","sha":"6e382b6866ed8dd8e33a49af88c29201089c2f54","kind":"tag","published_at":"2023-01-12T21:30:45.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1/manifests"},{"name":"v0.4.1","sha":"abc3a764beec1ed6fcd02f4788b905076b7ef6a7","kind":"tag","published_at":"2022-06-13T15:05:14.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"18366f74f81b21859c26dc10d090375b7180193d","kind":"tag","published_at":"2022-05-31T00:03:42.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"1959844eacb98238b0d7a809dc14325debf7e37c","kind":"tag","published_at":"2022-03-18T16:02:23.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.3.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"a9cda4f363c0e3ba220d5dd0a99b197773dac6d6","kind":"tag","published_at":"2021-11-03T01:31:43.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"7c89cf606ddaee60d80aeae50e07b1be66cfd71f","kind":"tag","published_at":"2021-11-03T00:37:34.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0/manifests"},{"name":"v0.1.2","sha":"0160311cd60332ab086acd29c07993a7cf175523","kind":"tag","published_at":"2021-06-28T23:20:17.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"efea9b066c2c46ada148fb16188db9da6bfa364f","kind":"tag","published_at":"2021-01-31T22:22:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"ee3bf7cae8eca1d0d0bbdfa4dfa6c8f2a32e03af","kind":"tag","published_at":"2021-01-20T00:53:54.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0/manifests"},{"name":"v0.0.5","sha":"0515181f7c5e53445790e7c4f737d1b38f8ec9ce","kind":"tag","published_at":"2021-01-17T18:42:49.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.5","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"efc7185b093716bef5459fa21fc01b1a1f68582e","kind":"tag","published_at":"2021-01-17T18:10:09.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.4","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"ed6228343b7ffbc13e4b8fb0f2df6cdcf4989868","kind":"tag","published_at":"2021-01-15T22:28:50.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.3","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"c0b1e14efcf45d2ebc126bbf073f318b4cc7cb34","kind":"tag","published_at":"2021-01-15T20:53:36.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2/manifests"}]},"repo_metadata_updated_at":"2025-09-04T15:28:34.215Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":46.518691588785046,"dependent_packages_count":42.31308411214953,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":44.415887850467286},"purl":"pkg:conda/spopt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/spopt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/spopt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/spopt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T21:43:28.526Z","issues_count":117,"pull_requests_count":128,"avg_time_to_close_issue":4569949.2,"avg_time_to_close_pull_request":833846.3414634146,"issues_closed_count":90,"pull_requests_closed_count":123,"pull_request_authors_count":17,"issue_authors_count":23,"avg_comments_per_issue":1.8803418803418803,"avg_comments_per_pull_request":1.7109375,"merged_pull_requests_count":110,"bot_issues_count":0,"bot_pull_requests_count":28,"past_year_issues_count":19,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":1328995.8181818181,"past_year_avg_time_to_close_pull_request":799366.9642857143,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":28,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.4736842105263157,"past_year_avg_comments_per_pull_request":1.7575757575757576,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":22,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/issues","maintainers":[{"login":"jGaboardi","count":153,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"rongboxu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rongboxu"},{"login":"gegen07","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gegen07"},{"login":"xf37","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xf37"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"},{"login":"sjsrey","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sjsrey"}],"active_maintainers":[{"login":"jGaboardi","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/spopt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/spopt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/spopt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/spopt/related_packages","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":4324,"maintainers_count":0,"namespaces_count":0,"keywords_count":2901,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":611},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2025-09-04T06:59:49.169Z","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":5303630,"name":"spopt","ecosystem":"conda","description":"Spopt is an open-source Python library for solving optimization problems with spatial data. Originating from the `region` module in [PySAL](http://pysal.org) (Python Spatial Analysis Library), it is under active development for the inclusion of newly proposed models and methods for regionalization, facility location, and transportation-oriented solutions.","homepage":"http://pysal.org/","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/pysal/spopt","keywords_array":[],"namespace":null,"versions_count":8,"first_release_published_at":"2021-01-18T21:03:37.000Z","latest_release_published_at":"2022-06-13T19:56:16.000Z","latest_release_number":"0.4.1","last_synced_at":"2025-09-03T22:36:31.146Z","created_at":"2022-10-03T16:15:18.951Z","updated_at":"2025-09-04T15:28:34.216Z","registry_url":"https://anaconda.org/conda-forge/spopt","install_command":"conda install -c conda-forge spopt","documentation_url":null,"metadata":{},"repo_metadata":{"id":37854753,"uuid":"173353142","full_name":"pysal/spopt","owner":"pysal","description":"Spatial Optimization","archived":false,"fork":false,"pushed_at":"2025-07-14T13:03:12.000Z","size":167866,"stargazers_count":339,"open_issues_count":30,"forks_count":55,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-08-28T02:00:25.134Z","etag":null,"topics":["facility-location","location-allocation","location-modeling","python","regionalization","resource-planning","routing","spatial-analysis","spatial-optimization","transportation"],"latest_commit_sha":null,"homepage":"https://pysal.org/spopt/","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/pysal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-01T18:56:11.000Z","updated_at":"2025-08-21T23:35:05.000Z","dependencies_parsed_at":"2024-06-18T15:34:32.094Z","dependency_job_id":"a83165ed-bd1e-4e83-b23f-6dd725b40d32","html_url":"https://github.com/pysal/spopt","commit_stats":{"total_commits":826,"total_committers":19,"mean_commits":"43.473684210526315","dds":0.5932203389830508,"last_synced_commit":"464fd650cb1662432609c06d660c39f0f36c9eb4"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/pysal/spopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/sbom","scorecard":{"id":751966,"data":{"date":"2025-08-11","repo":{"name":"github.com/pysal/spopt","commit":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":8,"reason":"Found 12/15 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"4 commit(s) and 9 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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build_docs.yml:1","Warn: no topLevel permission defined: .github/workflows/release_and_publish.yml:1","Warn: no topLevel permission defined: .github/workflows/testing.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release_and_publish.yml:14"],"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":"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":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"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_docs.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_docs.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/build_docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release_and_publish.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/release_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/pysal/spopt/testing.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/release_and_publish.yml:28","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   2 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-22T20:37:59.130Z","repository_id":37854753,"created_at":"2025-08-22T20:37:59.130Z","updated_at":"2025-08-22T20:37:59.130Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523124,"owners_count":25120859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":"pysal","name":"Python Spatial Analysis Library","uuid":"3769919","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3769919?v=4","repositories_count":37,"last_synced_at":"2024-04-16T01:04:32.528Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pysal","funding_links":[],"total_stars":4081,"followers":221,"following":0,"created_at":"2022-11-02T16:31:00.418Z","updated_at":"2024-04-16T01:04:46.773Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal/repositories"},"tags":[{"name":"v0.7.0","sha":"27a29e112fef7998cff4956cc92edb3b26a53eb9","kind":"tag","published_at":"2025-07-14T13:01:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0/manifests"},{"name":"v0.7.0rc1","sha":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813","kind":"tag","published_at":"2025-07-14T12:49:52.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.7.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.7.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.7.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.7.0rc1/manifests"},{"name":"v0.6.1","sha":"030538d0bacb0de81776d90171179e31f29ed825","kind":"tag","published_at":"2024-06-20T13:39:57.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1/manifests"},{"name":"v0.6.1rc1","sha":"6ec4ec1341bdd027dcef4912340d5d19cf0ea0bd","kind":"tag","published_at":"2024-06-20T13:16:53.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.1rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.1rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.1rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.1rc1/manifests"},{"name":"v0.6.0","sha":"86673f8838b42569d54a74ccf1e299bbbfb20732","kind":"tag","published_at":"2023-12-10T20:26:18.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.6.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-14T03:12:19.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0/manifests"},{"name":"v0.5.0rc2","sha":"761e2c18b131de5b2109ee31ac0e68fdd2336504","kind":"tag","published_at":"2023-01-13T21:44:51.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc2/manifests"},{"name":"v0.5.0rc1","sha":"6e382b6866ed8dd8e33a49af88c29201089c2f54","kind":"tag","published_at":"2023-01-12T21:30:45.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.5.0rc1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.5.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.5.0rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.5.0rc1/manifests"},{"name":"v0.4.1","sha":"abc3a764beec1ed6fcd02f4788b905076b7ef6a7","kind":"tag","published_at":"2022-06-13T15:05:14.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"18366f74f81b21859c26dc10d090375b7180193d","kind":"tag","published_at":"2022-05-31T00:03:42.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.4.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"1959844eacb98238b0d7a809dc14325debf7e37c","kind":"tag","published_at":"2022-03-18T16:02:23.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.3.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"a9cda4f363c0e3ba220d5dd0a99b197773dac6d6","kind":"tag","published_at":"2021-11-03T01:31:43.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"7c89cf606ddaee60d80aeae50e07b1be66cfd71f","kind":"tag","published_at":"2021-11-03T00:37:34.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.2.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.2.0/manifests"},{"name":"v0.1.2","sha":"0160311cd60332ab086acd29c07993a7cf175523","kind":"tag","published_at":"2021-06-28T23:20:17.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"efea9b066c2c46ada148fb16188db9da6bfa364f","kind":"tag","published_at":"2021-01-31T22:22:33.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.1","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"ee3bf7cae8eca1d0d0bbdfa4dfa6c8f2a32e03af","kind":"tag","published_at":"2021-01-20T00:53:54.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.1.0","html_url":"https://github.com/pysal/spopt/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.1.0/manifests"},{"name":"v0.0.5","sha":"0515181f7c5e53445790e7c4f737d1b38f8ec9ce","kind":"tag","published_at":"2021-01-17T18:42:49.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.5","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.5/manifests"},{"name":"v0.0.4","sha":"efc7185b093716bef5459fa21fc01b1a1f68582e","kind":"tag","published_at":"2021-01-17T18:10:09.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.4","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"ed6228343b7ffbc13e4b8fb0f2df6cdcf4989868","kind":"tag","published_at":"2021-01-15T22:28:50.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.3","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"c0b1e14efcf45d2ebc126bbf073f318b4cc7cb34","kind":"tag","published_at":"2021-01-15T20:53:36.000Z","download_url":"https://codeload.github.com/pysal/spopt/tar.gz/v0.0.2","html_url":"https://github.com/pysal/spopt/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/pysal/spopt@v0.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/tags/v0.0.2/manifests"}]},"repo_metadata_updated_at":"2025-09-04T15:28:34.216Z","dependent_packages_count":2,"downloads":null,"downloads_period":null,"dependent_repos_count":8,"rankings":{"downloads":null,"dependent_repos_count":12.078861991514849,"dependent_packages_count":19.580733715997006,"stargazers_count":26.35887197404542,"forks_count":29.767906164212626,"docker_downloads_count":null,"average":21.946593461442475},"purl":"pkg:conda/spopt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/spopt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/spopt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/spopt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T21:43:28.526Z","issues_count":117,"pull_requests_count":128,"avg_time_to_close_issue":4569949.2,"avg_time_to_close_pull_request":833846.3414634146,"issues_closed_count":90,"pull_requests_closed_count":123,"pull_request_authors_count":17,"issue_authors_count":23,"avg_comments_per_issue":1.8803418803418803,"avg_comments_per_pull_request":1.7109375,"merged_pull_requests_count":110,"bot_issues_count":0,"bot_pull_requests_count":28,"past_year_issues_count":19,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":1328995.8181818181,"past_year_avg_time_to_close_pull_request":799366.9642857143,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":28,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.4736842105263157,"past_year_avg_comments_per_pull_request":1.7575757575757576,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":22,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/issues","maintainers":[{"login":"jGaboardi","count":153,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"rongboxu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rongboxu"},{"login":"gegen07","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gegen07"},{"login":"xf37","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xf37"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"},{"login":"sjsrey","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sjsrey"}],"active_maintainers":[{"login":"jGaboardi","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/spopt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/spopt/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/spopt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/spopt/related_packages","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":13387,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2180},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2025-09-04T07:00:12.892Z","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"}}],"commits":{"id":35105,"full_name":"pysal/spopt","default_branch":"main","committers":[{"name":"James Gaboardi","email":"jgaboardi@gmail.com","login":"jGaboardi","count":357},{"name":"Erin Olson","email":"rosemary.erin.o@gmail.com","login":"erinrolson","count":206},{"name":"Germano Barcelos","email":"gegenbarcelos@gmail.com","login":"gegen07","count":70},{"name":"Serge Rey","email":"sjsrey@gmail.com","login":"sjsrey","count":65},{"name":"Xin Feng","email":"xinfeng@Xins-iMac.local","login":null,"count":43},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":24},{"name":"eli knaap","email":"ek@knaaptime.com","login":"knaaptime","count":23},{"name":"Xin (Selena) Feng","email":"applexin.feng@gmail.com","login":"xf37","count":15},{"name":"rongboxu","email":"rongbo.xu.21@ucl.ac.uk","login":"rongboxu","count":14},{"name":"ljwolf","email":"levi.john.wolf@gmail.com","login":"ljwolf","count":10},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":7},{"name":"rwei5","email":"ranwei@asu.edu","login":"rwei5","count":6},{"name":"Timothy Ellersiek","email":"tim@gis-ops.com","login":null,"count":6},{"name":"Martin Fleischmann","email":"martin@martinfleischmann.net","login":"martinfleis","count":2},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":2},{"name":"Abhishek Dimri","email":"125353882+Abhishek-Dimri","login":"Abhishek-Dimri","count":1},{"name":"Emmanuel Ferdman","email":"emmanuelferdman@gmail.com","login":"emmanuel-ferdman","count":1},{"name":"Krasen Samardzhiev","email":"krasensam@gmail.com","login":"u3ks","count":1},{"name":"Nick Bearman","email":"nick@geospatialtrainingsolutions.co.uk","login":"nickbearman","count":1},{"name":"Patrick Roddy","email":"patrickjamesroddy@gmail.com","login":"paddyroddy","count":1},{"name":"Pedro Camargo","email":"c@margo.co","login":"pedrocamargo","count":1}],"total_commits":856,"total_committers":21,"total_bot_commits":33,"total_bot_committers":3,"mean_commits":40.76190476190476,"dds":0.5829439252336448,"past_year_committers":[{"name":"James Gaboardi","email":"jgaboardi@gmail.com","login":"jGaboardi","count":7},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":2},{"name":"Martin Fleischmann","email":"martin@martinfleischmann.net","login":"martinfleis","count":1},{"name":"Krasen Samardzhiev","email":"krasensam@gmail.com","login":"u3ks","count":1},{"name":"Emmanuel Ferdman","email":"emmanuelferdman@gmail.com","login":"emmanuel-ferdman","count":1},{"name":"Abhishek Dimri","email":"125353882+Abhishek-Dimri","login":"Abhishek-Dimri","count":1}],"past_year_total_commits":13,"past_year_total_committers":6,"past_year_total_bot_commits":2,"past_year_total_bot_committers":1,"past_year_mean_commits":2.1666666666666665,"past_year_dds":0.46153846153846156,"last_synced_at":"2025-08-07T08:10:54.088Z","last_synced_commit":"7ebf7fe1d7edd742daf84e2fb94dac94801c7813","created_at":"2023-03-07T16:58:40.029Z","updated_at":"2025-08-07T08:10:54.367Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-08-08T00:00:12.331Z","repositories_count":5415637,"commits_count":848636468,"contributors_count":30917626,"owners_count":904180,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"pysal/spopt","html_url":"https://github.com/pysal/spopt","last_synced_at":"2025-09-01T21:43:28.526Z","status":"active","issues_count":117,"pull_requests_count":128,"avg_time_to_close_issue":4569949.2,"avg_time_to_close_pull_request":833846.3414634146,"issues_closed_count":90,"pull_requests_closed_count":123,"pull_request_authors_count":17,"issue_authors_count":23,"avg_comments_per_issue":1.8803418803418803,"avg_comments_per_pull_request":1.7109375,"merged_pull_requests_count":110,"bot_issues_count":0,"bot_pull_requests_count":28,"past_year_issues_count":19,"past_year_pull_requests_count":33,"past_year_avg_time_to_close_issue":1328995.8181818181,"past_year_avg_time_to_close_pull_request":799366.9642857143,"past_year_issues_closed_count":11,"past_year_pull_requests_closed_count":28,"past_year_pull_request_authors_count":10,"past_year_issue_authors_count":7,"past_year_avg_comments_per_issue":1.4736842105263157,"past_year_avg_comments_per_pull_request":1.7575757575757576,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":4,"past_year_merged_pull_requests_count":22,"created_at":"2023-05-10T22:03:19.333Z","updated_at":"2025-09-02T20:39:24.144Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fspopt/issues","issue_labels_count":{"locate":33,"maintenance":16,"rough edge":15,"CI":13,"docs":12,"region":11,"bug":9,"notebooks/binders":9,"enhancement":9,"testing":8,"dependencies":7,"GSOC2023":3,"solvers \u0026 solver apis":3,"needs attention":3,"release":3,"github_actions":3,"discussion":3,"installation":2,"codecov":2,"conda-forge":1,"requirements":1,"WIP":1,"priority: high":1,"tutorials":1,"transport/route":1,"good first issue":1},"pull_request_labels_count":{"maintenance":27,"locate":24,"docs":21,"CI":15,"notebooks/binders":9,"bug":8,"rough edge":8,"dependencies":7,"testing":7,"region":6,"GSOC2023":4,"enhancement":3,"python":3,"github_actions":3,"good first issue":2,"solvers \u0026 solver apis":1,"GSoC2022":1,"conda-forge":1,"needs attention":1,"priority: high":1,"release":1,"GSoC2025":1},"issue_author_associations_count":{"MEMBER":95,"NONE":16,"CONTRIBUTOR":1,"COLLABORATOR":1},"pull_request_author_associations_count":{"MEMBER":75,"CONTRIBUTOR":33,"NONE":12,"COLLABORATOR":7},"issue_authors":{"jGaboardi":87,"ljwolf":5,"iboates":2,"orlandombaa":1,"xf37":1,"sjsrey":1,"mbforr":1,"nilason":1,"swongraphy":1,"samueltoro7":1,"Abhishek-Dimri":1,"benjaminrhoyle":1,"martinfleis":1,"Anran0716":1,"Dekermanjian":1,"twallema":1,"ocefpaf":1,"gegen07":1,"nickbearman":1,"p91g":1,"jartantupjar":1,"walkerke":1},"pull_request_authors":{"jGaboardi":66,"pre-commit-ci[bot]":23,"ljwolf":4,"rongboxu":4,"nightcoder26":4,"gegen07":3,"speco29":3,"xf37":3,"dependabot[bot]":3,"emmanuel-ferdman":2,"fengzixin0617":2,"Abhishek-Dimri":2,"martinfleis":2,"github-actions[bot]":2,"u3ks":2,"erinrolson":1,"paddyroddy":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-02T00:00:07.986Z","repositories_count":10042729,"issues_count":30645220,"pull_requests_count":91402388,"authors_count":10443886,"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":{"dependencies":5,"maintenance":5,"testing":3,"notebooks/binders":2,"docs":2,"region":1,"transport/route":1,"codecov":1,"good first issue":1,"CI":1},"past_year_pull_request_labels_count":{"maintenance":7,"docs":6,"dependencies":3,"CI":2,"good first issue":2,"notebooks/binders":2,"enhancement":2,"region":2,"testing":2,"locate":1,"GSoC2025":1},"past_year_issue_author_associations_count":{"MEMBER":15,"NONE":4},"past_year_pull_request_author_associations_count":{"MEMBER":14,"NONE":12,"CONTRIBUTOR":7},"past_year_issue_authors":{"jGaboardi":13,"Abhishek-Dimri":1,"benjaminrhoyle":1,"ljwolf":1,"martinfleis":1,"swongraphy":1,"twallema":1},"past_year_pull_request_authors":{"jGaboardi":10,"nightcoder26":4,"pre-commit-ci[bot]":4,"speco29":3,"ljwolf":2,"emmanuel-ferdman":2,"u3ks":2,"martinfleis":2,"Abhishek-Dimri":2,"fengzixin0617":2},"maintainers":[{"login":"jGaboardi","count":153,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"rongboxu","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rongboxu"},{"login":"gegen07","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gegen07"},{"login":"xf37","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xf37"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"},{"login":"sjsrey","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sjsrey"}],"active_maintainers":[{"login":"jGaboardi","count":23,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jGaboardi"},{"login":"ljwolf","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ljwolf"},{"login":"martinfleis","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/martinfleis"}]},"events":{"total":{"CreateEvent":3,"ReleaseEvent":1,"IssuesEvent":23,"WatchEvent":39,"DeleteEvent":2,"IssueCommentEvent":52,"PushEvent":14,"PullRequestReviewCommentEvent":27,"PullRequestReviewEvent":22,"PullRequestEvent":28,"ForkEvent":6},"last_year":{"CreateEvent":3,"ReleaseEvent":1,"IssuesEvent":23,"WatchEvent":39,"DeleteEvent":2,"IssueCommentEvent":52,"PushEvent":14,"PullRequestReviewCommentEvent":27,"PullRequestReviewEvent":22,"PullRequestEvent":28,"ForkEvent":6}},"keywords":["facility-location","location-allocation","location-modeling","python","regionalization","resource-planning","routing","spatial-analysis","spatial-optimization","transportation"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/build_docs.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T02:46:06.657Z","updated_at":"2023-02-17T02:46:06.657Z","repository_link":"https://github.com/pysal/spopt/blob/main/.github/workflows/build_docs.yml","dependencies":[{"id":7731467401,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7731467402,"package_name":"mamba-org/provision-with-micromamba","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":7731467403,"package_name":"ad-m/github-push-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release_and_publish.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T02:46:06.691Z","updated_at":"2023-02-17T02:46:06.691Z","repository_link":"https://github.com/pysal/spopt/blob/main/.github/workflows/release_and_publish.yml","dependencies":[{"id":7731467425,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7731467426,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":7731467427,"package_name":"actions/github-script","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false},{"id":7731467428,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"release/v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/testing.yml","sha":null,"kind":"manifest","created_at":"2023-02-17T02:46:06.715Z","updated_at":"2023-02-17T02:46:06.715Z","repository_link":"https://github.com/pysal/spopt/blob/main/.github/workflows/testing.yml","dependencies":[{"id":7731467455,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7731467456,"package_name":"mamba-org/provision-with-micromamba","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":7731467457,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2023-10-24T15:38:27.779Z","updated_at":"2023-10-24T15:38:27.779Z","repository_link":"https://github.com/pysal/spopt/blob/main/pyproject.toml","dependencies":[{"id":14275423867,"package_name":"geopandas","ecosystem":"pypi","requirements":"\u003e=0.10","direct":true,"kind":"runtime","optional":false},{"id":14275423868,"package_name":"libpysal","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14275425264,"package_name":"mapclassify","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14275425266,"package_name":"networkx","ecosystem":"pypi","requirements":"\u003e=2.6","direct":true,"kind":"runtime","optional":false},{"id":14275425267,"package_name":"numpy","ecosystem":"pypi","requirements":"\u003e=1.21","direct":true,"kind":"runtime","optional":false},{"id":14275425268,"package_name":"pandas","ecosystem":"pypi","requirements":"\u003e=1.3,!=1.5.0","direct":true,"kind":"runtime","optional":false},{"id":14275425269,"package_name":"pulp","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14275425270,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"\u003e=1.0","direct":true,"kind":"runtime","optional":false},{"id":14275425271,"package_name":"scipy","ecosystem":"pypi","requirements":"\u003e=1.7","direct":true,"kind":"runtime","optional":false},{"id":14275425272,"package_name":"shapely","ecosystem":"pypi","requirements":"\u003e=2","direct":true,"kind":"runtime","optional":false},{"id":14275425273,"package_name":"spaghetti","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14275425275,"package_name":"tqdm","ecosystem":"pypi","requirements":"\u003e=4.27.0","direct":true,"kind":"runtime","optional":false},{"id":14275425276,"package_name":"pointpats","ecosystem":"pypi","requirements":"\u003e=2.3.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T15:34:28.575Z","updated_at":"2024-06-18T15:34:28.575Z","repository_link":"https://github.com/pysal/spopt/blob/main/environment.yml","dependencies":[{"id":18678173413,"package_name":"folium","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173414,"package_name":"geopandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173415,"package_name":"glpk","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173416,"package_name":"inequality","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173417,"package_name":"jupyterlab","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173418,"package_name":"libpysal","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173419,"package_name":"mapclassify","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173420,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173421,"package_name":"matplotlib-scalebar","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173422,"package_name":"networkx","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173423,"package_name":"numpy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173424,"package_name":"overpy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173425,"package_name":"pandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173426,"package_name":"pip","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173427,"package_name":"pointpats","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173428,"package_name":"pulp","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173429,"package_name":"python","ecosystem":"conda","requirements":"3.12.*","direct":true,"kind":"runtime","optional":false},{"id":18678173430,"package_name":"scikit-learn","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173431,"package_name":"scipy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173432,"package_name":"seaborn","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173433,"package_name":"shapely","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173434,"package_name":"spaghetti","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173435,"package_name":"tqdm","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":18678173436,"package_name":"watermark","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":19.203601286208094,"created_at":"2025-09-04T09:17:48.647Z","updated_at":"2025-10-07T08:04:32.709Z","avatar_url":"https://github.com/pysal.png","language":"Python","category":"Scientific Software","sub_category":"Peer-reviewed","monthly_downloads":27990,"funding_links":[],"readme_doi_urls":["https://doi.org/10.5281/zenodo.4444156","https://doi.org/10.21105/joss.03330"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["graph-theory","network-analysis","pysal","spatial-network","topology","meshing","hydrology","standardization","wavelets","networks"],"project_url":"https://science.ecosyste.ms/api/v1/projects/1492","html_url":"https://science.ecosyste.ms/projects/1492"}