{"url":"https://pypi.sbomify.com/package/solverforge/0.7.2","markdown_url":"https://pypi.sbomify.com/package/solverforge/0.7.2.md","name":"solverforge","version":"0.7.2","purl":"pkg:pypi/solverforge@0.7.2","summary":"Dynamic Python bindings for the SolverForge constraint solver.","author":"SolverForge","project_urls":{"Bug Tracker":"https://github.com/SolverForge/solverforge-py/issues","Changelog":"https://github.com/SolverForge/solverforge-py/releases","Documentation":"https://docs.solverforge.org","Homepage":"https://solverforge.org","Repository":"https://github.com/SolverForge/solverforge-py"},"requires_python":">=3.14","license":"Apache-2.0","classifiers":["Development Status :: 3 - Alpha","Intended Audience :: Developers","Intended Audience :: Science/Research","License :: OSI Approved :: Apache Software License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3.14","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Rust","Topic :: Scientific/Engineering","Typing :: Typed"],"wheels":[{"filename":"solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","url":"https://files.pythonhosted.org/packages/d6/86/4b89639cea057bdbdeb3853d94f3e3cd81d8fb49bd819f763ef549fd488c/solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","sboms":[{"artifact_uuid":"6810d116-79c4-54de-929f-202e44448687","path":"solverforge-0.7.2.dist-info/sboms/solverforge_py.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/6810d116-79c4-54de-929f-202e44448687/download","vulnerability_count":5,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","url":"https://files.pythonhosted.org/packages/59/45/403aac69cc54c1dde94ef894368df3a4315bbe6af013bdb66b2497d14597/solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","sboms":[{"artifact_uuid":"25cc8fce-56a2-5275-89dd-038b3fddefdf","path":"solverforge-0.7.2.dist-info/sboms/solverforge_py.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/25cc8fce-56a2-5275-89dd-038b3fddefdf/download","vulnerability_count":5,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"solverforge-0.7.2-cp314-cp314-win_amd64.whl","url":"https://files.pythonhosted.org/packages/1e/fb/547e1b068ac91ad3b8f394bc434caf7a407f46b86089eabfe0507d6efee5/solverforge-0.7.2-cp314-cp314-win_amd64.whl","sboms":[{"artifact_uuid":"a8e7402c-5fcd-5cdf-902e-259b915f3071","path":"solverforge-0.7.2.dist-info/sboms/solverforge_py.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/a8e7402c-5fcd-5cdf-902e-259b915f3071/download","vulnerability_count":5,"scan_error":null}],"attestation":{"status":"not_available"}}],"formats":["CycloneDX"],"sbom_count":3,"has_attestation":false,"vulnerabilities":[{"id":"RUSTSEC-2026-0176","aliases":["GHSA-36hh-v3qg-5jq4"],"summary":"Out-of-bounds read in `nth` / `nth_back` for `PyList` and `PyTuple` iterators","severity":"high","score":8.7,"package":"pyo3","version":"0.27.2","ecosystem":"crates.io","purl":"pkg:cargo/pyo3@0.27.2","fixed":["0.29.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0176","wheels":["solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","solverforge-0.7.2-cp314-cp314-win_amd64.whl"]},{"id":"RUSTSEC-2026-0177","aliases":["GHSA-chgr-c6px-7xpp"],"summary":"Missing `Sync` bound on `PyCFunction::new_closure` closures","severity":"medium","score":6.3,"package":"pyo3","version":"0.27.2","ecosystem":"crates.io","purl":"pkg:cargo/pyo3@0.27.2","fixed":["0.29.0"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0177","wheels":["solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","solverforge-0.7.2-cp314-cp314-win_amd64.whl"]},{"id":"RUSTSEC-2026-0204","aliases":[],"summary":"Invalid pointer dereference in `fmt::Pointer` impl for `Atomic` and `Shared` when the underlying pointer is invalid","severity":"unknown","score":null,"package":"crossbeam-epoch","version":"0.9.18","ecosystem":"crates.io","purl":"pkg:cargo/crossbeam-epoch@0.9.18","fixed":["0.9.20"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0204","wheels":["solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","solverforge-0.7.2-cp314-cp314-win_amd64.whl"]},{"id":"RUSTSEC-2026-0386","aliases":[],"summary":"`AsyncFd::new` and related constructors violate I/O safety","severity":"unknown","score":null,"package":"tokio","version":"1.52.3","ecosystem":"crates.io","purl":"pkg:cargo/tokio@1.52.3","fixed":["1.53.3"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0386","wheels":["solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","solverforge-0.7.2-cp314-cp314-win_amd64.whl"]},{"id":"RUSTSEC-2024-0449","aliases":[],"summary":"unsafe-libyaml is unmaintained","severity":"unknown","score":null,"package":"unsafe-libyaml","version":"0.2.11","ecosystem":"crates.io","purl":"pkg:cargo/unsafe-libyaml@0.2.11","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2024-0449","wheels":["solverforge-0.7.2-cp314-cp314-macosx_11_0_arm64.whl","solverforge-0.7.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","solverforge-0.7.2-cp314-cp314-win_amd64.whl"]}],"vulnerability_scan":{"scanned_sboms":3,"total_sboms":3,"scanned_at":"2026-11-10","scanner":"osv-scanner 2.7.0","severity_counts":{"high":1,"medium":1,"unknown":3}}}