{"url":"https://pypi.sbomify.com/package/perspective-python/5.8.0","markdown_url":"https://pypi.sbomify.com/package/perspective-python/5.8.0.md","name":"perspective-python","version":"5.8.0","purl":"pkg:pypi/perspective-python@5.8.0","summary":"Interactive data grid, pivot table and charts for large, real-time and streaming datasets, with a Jupyter widget and WebSocket server.","author":null,"project_urls":{"Changelog":"https://github.com/perspective-dev/perspective/blob/master/CHANGELOG.md","Documentation":"https://perspective-dev.github.io/guide/","Homepage":"https://perspective-dev.github.io","Issues":"https://github.com/perspective-dev/perspective/issues","Repository":"https://github.com/perspective-dev/perspective"},"requires_python":">=3.9","license":null,"classifiers":["Development Status :: 5 - Production/Stable","Framework :: Jupyter","Framework :: Jupyter :: JupyterLab","Framework :: Jupyter :: JupyterLab :: 3","Framework :: Jupyter :: JupyterLab :: Extensions","Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt","Intended Audience :: Developers","Intended Audience :: Financial and Insurance Industry","Intended Audience :: Science/Research","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Rust","Topic :: Office/Business :: Financial","Topic :: Scientific/Engineering :: Information Analysis","Topic :: Scientific/Engineering :: Visualization"],"wheels":[{"filename":"perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","url":"https://files.pythonhosted.org/packages/df/01/94b7bff96d537f33084128c7739be4ed5c43c3d7293c9cbac6464f7872cd/perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","sboms":[{"artifact_uuid":"89a2798c-ef38-5319-8250-ebf5723b4090","path":"perspective_python-5.8.0.dist-info/sboms/perspective-python.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/89a2798c-ef38-5319-8250-ebf5723b4090/download","vulnerability_count":6,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","url":"https://files.pythonhosted.org/packages/04/81/a9c5b580af9ccbabca0fe4a0495ea8a989826818fdb2ab6a491ae04c7928/perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","sboms":[{"artifact_uuid":"c1f7cb07-2681-5319-a278-f70d2c076813","path":"perspective_python-5.8.0.dist-info/sboms/perspective-python.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/c1f7cb07-2681-5319-a278-f70d2c076813/download","vulnerability_count":6,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","url":"https://files.pythonhosted.org/packages/ba/5a/0747295d885c08904ec9481beecab92e3426f8c321cf476cd26b3af049f3/perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","sboms":[{"artifact_uuid":"6f554762-eab5-5d58-a596-3c7362117751","path":"perspective_python-5.8.0.dist-info/sboms/perspective-python.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/6f554762-eab5-5d58-a596-3c7362117751/download","vulnerability_count":6,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","url":"https://files.pythonhosted.org/packages/ff/d3/d222cc8accc6441bc01a55ad09249aa40723c111a9624fce782ccc8cc5ef/perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","sboms":[{"artifact_uuid":"2439c9b4-bb55-52b5-a767-5a84ffe731da","path":"perspective_python-5.8.0.dist-info/sboms/perspective-python.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/2439c9b4-bb55-52b5-a767-5a84ffe731da/download","vulnerability_count":6,"scan_error":null}],"attestation":{"status":"not_available"}},{"filename":"perspective_python-5.8.0-cp311-abi3-win_amd64.whl","url":"https://files.pythonhosted.org/packages/2b/18/a6d2b2c26d1f3fdc0c0189e25906dcceadb4512d34c37b72cee70e0756be/perspective_python-5.8.0-cp311-abi3-win_amd64.whl","sboms":[{"artifact_uuid":"4360c184-03aa-5a46-94fc-31491a4eea91","path":"perspective_python-5.8.0.dist-info/sboms/perspective-python.cyclonedx.json","format":"CycloneDX/1.5","format_family":"CycloneDX","valid":true,"media_type":"application/vnd.cyclonedx+json","download_url":"https://pypi.sbomify.com/artifact/4360c184-03aa-5a46-94fc-31491a4eea91/download","vulnerability_count":6,"scan_error":null}],"attestation":{"status":"not_available"}}],"formats":["CycloneDX"],"sbom_count":5,"has_attestation":false,"vulnerabilities":[{"id":"CVE-2026-25541","aliases":["GHSA-434x-w66g-qw3r","RUSTSEC-2026-0007"],"summary":"Integer overflow in `BytesMut::reserve`","severity":"medium","score":5.5,"package":"bytes","version":"1.11.0","ecosystem":"crates.io","purl":"pkg:cargo/bytes@1.11.0","fixed":["1.11.1"],"url":"https://insights.sbomify.com/CVE-2026-25541/","wheels":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-win_amd64.whl"]},{"id":"RUSTSEC-2026-0190","aliases":[],"summary":"Unsoundness in `Error::downcast_mut()`","severity":"unknown","score":null,"package":"anyhow","version":"1.0.100","ecosystem":"crates.io","purl":"pkg:cargo/anyhow@1.0.100","fixed":["1.0.103"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0190","wheels":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-win_amd64.whl"]},{"id":"CVE-2026-111959","aliases":["GHSA-gqmm-qrjq-4c7h","RUSTSEC-2026-0442"],"summary":"Apache Arrow Rust: Improper validation of RunEndEncoded arrays allows out of bounds reads","severity":"unknown","score":null,"package":"arrow-data","version":"57.3.0","ecosystem":"crates.io","purl":"pkg:cargo/arrow-data@57.3.0","fixed":["57.3.2"],"url":"https://insights.sbomify.com/CVE-2026-111959/","wheels":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-win_amd64.whl"]},{"id":"RUSTSEC-2024-0436","aliases":[],"summary":"paste - no longer maintained","severity":"unknown","score":null,"package":"paste","version":"1.0.15","ecosystem":"crates.io","purl":"pkg:cargo/paste@1.0.15","fixed":[],"url":"https://osv.dev/vulnerability/RUSTSEC-2024-0436","wheels":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-win_amd64.whl"]},{"id":"RUSTSEC-2026-0097","aliases":["GHSA-cq8v-f236-94qc"],"summary":"Rand is unsound with a custom logger using `rand::rng()`","severity":"unknown","score":null,"package":"rand","version":"0.9.1","ecosystem":"crates.io","purl":"pkg:cargo/rand@0.9.1","fixed":["0.9.3"],"url":"https://osv.dev/vulnerability/RUSTSEC-2026-0097","wheels":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-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":["perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl","perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl","perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl","perspective_python-5.8.0-cp311-abi3-win_amd64.whl"]}],"vulnerability_scan":{"scanned_sboms":5,"total_sboms":5,"scanned_at":"2026-11-09","scanner":"osv-scanner 2.7.0","severity_counts":{"medium":1,"unknown":5}}}