{"url":"https://pypi.sbomify.com/package/nj-py/0.0.25","markdown_url":"https://pypi.sbomify.com/package/nj-py/0.0.25.md","name":"nj-py","version":"0.0.25","purl":"pkg:pypi/nj-py@0.0.25","summary":"Neighbor-Joining phylogenetic tree inference. Auto-detects DNA/protein, supports multiple substitution models and bootstrap.","author":null,"project_urls":{"Bug Tracker":"https://github.com/holmrenser/nj.rs/issues","Repository":"https://github.com/holmrenser/nj.rs"},"requires_python":">=3.10","license":null,"classifiers":["Intended Audience :: Science/Research","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Rust","Topic :: Scientific/Engineering :: Bio-Informatics"],"wheels":[{"filename":"nj_py-0.0.25-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl","url":"https://files.pythonhosted.org/packages/25/0f/72ad614ea1b5e69a7728045e6fdb3a6d8daa2a40e6d327653c9f0919b357/nj_py-0.0.25-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl","sboms":[{"artifact_uuid":"9ba24c81-9b93-5760-812c-05ff8dcf7040","path":"nj_py-0.0.25.dist-info/sboms/nj_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/9ba24c81-9b93-5760-812c-05ff8dcf7040/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"verified","publisher_kind":"GitHub","repository":"holmrenser/nj.rs","workflow":"release.yml","predicate_type":"https://docs.pypi.org/attestations/publish/v1","certificate_claims":{"1.3.6.1.4.1.57264.1.8":"https://token.actions.githubusercontent.com","1.3.6.1.4.1.57264.1.9":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.10":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.11":"github-hosted","1.3.6.1.4.1.57264.1.12":"https://github.com/holmrenser/nj.rs","1.3.6.1.4.1.57264.1.13":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.14":"refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.15":"1042241164","1.3.6.1.4.1.57264.1.16":"https://github.com/holmrenser","1.3.6.1.4.1.57264.1.17":"8225367","1.3.6.1.4.1.57264.1.18":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.19":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.20":"push","1.3.6.1.4.1.57264.1.21":"https://github.com/holmrenser/nj.rs/actions/runs/26953956459/attempts/1","1.3.6.1.4.1.57264.1.22":"public"}}},{"filename":"nj_py-0.0.25-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","url":"https://files.pythonhosted.org/packages/12/4c/7b79261687bee5a26830462679eca19b10189b1ded9d3da3a5767d1ba6f8/nj_py-0.0.25-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","sboms":[{"artifact_uuid":"f61be93b-baaf-5858-9f10-5063381d9ee1","path":"nj_py-0.0.25.dist-info/sboms/nj_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/f61be93b-baaf-5858-9f10-5063381d9ee1/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"verified","publisher_kind":"GitHub","repository":"holmrenser/nj.rs","workflow":"release.yml","predicate_type":"https://docs.pypi.org/attestations/publish/v1","certificate_claims":{"1.3.6.1.4.1.57264.1.8":"https://token.actions.githubusercontent.com","1.3.6.1.4.1.57264.1.9":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.10":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.11":"github-hosted","1.3.6.1.4.1.57264.1.12":"https://github.com/holmrenser/nj.rs","1.3.6.1.4.1.57264.1.13":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.14":"refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.15":"1042241164","1.3.6.1.4.1.57264.1.16":"https://github.com/holmrenser","1.3.6.1.4.1.57264.1.17":"8225367","1.3.6.1.4.1.57264.1.18":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.19":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.20":"push","1.3.6.1.4.1.57264.1.21":"https://github.com/holmrenser/nj.rs/actions/runs/26953956459/attempts/1","1.3.6.1.4.1.57264.1.22":"public"}}},{"filename":"nj_py-0.0.25-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","url":"https://files.pythonhosted.org/packages/bf/6a/d60ee193e2855ebc54e4bef7766e768ee5c246e4f063acf5f8346a0f3b8e/nj_py-0.0.25-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","sboms":[{"artifact_uuid":"530c3d2e-39fe-5e7c-bf38-279d8c307f53","path":"nj_py-0.0.25.dist-info/sboms/nj_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/530c3d2e-39fe-5e7c-bf38-279d8c307f53/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"verified","publisher_kind":"GitHub","repository":"holmrenser/nj.rs","workflow":"release.yml","predicate_type":"https://docs.pypi.org/attestations/publish/v1","certificate_claims":{"1.3.6.1.4.1.57264.1.8":"https://token.actions.githubusercontent.com","1.3.6.1.4.1.57264.1.9":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.10":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.11":"github-hosted","1.3.6.1.4.1.57264.1.12":"https://github.com/holmrenser/nj.rs","1.3.6.1.4.1.57264.1.13":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.14":"refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.15":"1042241164","1.3.6.1.4.1.57264.1.16":"https://github.com/holmrenser","1.3.6.1.4.1.57264.1.17":"8225367","1.3.6.1.4.1.57264.1.18":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.19":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.20":"push","1.3.6.1.4.1.57264.1.21":"https://github.com/holmrenser/nj.rs/actions/runs/26953956459/attempts/1","1.3.6.1.4.1.57264.1.22":"public"}}},{"filename":"nj_py-0.0.25-cp310-abi3-win_amd64.whl","url":"https://files.pythonhosted.org/packages/31/29/12d61d3221e3fde73f45cd4c563b6749893071448dc69c735e6eee776752/nj_py-0.0.25-cp310-abi3-win_amd64.whl","sboms":[{"artifact_uuid":"8d5054cf-9a59-5a18-b7c5-c630d873ec73","path":"nj_py-0.0.25.dist-info/sboms/nj_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/8d5054cf-9a59-5a18-b7c5-c630d873ec73/download","vulnerability_count":3,"scan_error":null}],"attestation":{"status":"verified","publisher_kind":"GitHub","repository":"holmrenser/nj.rs","workflow":"release.yml","predicate_type":"https://docs.pypi.org/attestations/publish/v1","certificate_claims":{"1.3.6.1.4.1.57264.1.8":"https://token.actions.githubusercontent.com","1.3.6.1.4.1.57264.1.9":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.10":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.11":"github-hosted","1.3.6.1.4.1.57264.1.12":"https://github.com/holmrenser/nj.rs","1.3.6.1.4.1.57264.1.13":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.14":"refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.15":"1042241164","1.3.6.1.4.1.57264.1.16":"https://github.com/holmrenser","1.3.6.1.4.1.57264.1.17":"8225367","1.3.6.1.4.1.57264.1.18":"https://github.com/holmrenser/nj.rs/.github/workflows/release.yml@refs/tags/v0.0.25","1.3.6.1.4.1.57264.1.19":"d64f4f92ec4aecdc4f946cd9a8d417948a414b9e","1.3.6.1.4.1.57264.1.20":"push","1.3.6.1.4.1.57264.1.21":"https://github.com/holmrenser/nj.rs/actions/runs/26953956459/attempts/1","1.3.6.1.4.1.57264.1.22":"public"}}}],"formats":["CycloneDX"],"sbom_count":4,"has_attestation":true,"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":["nj_py-0.0.25-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","nj_py-0.0.25-cp310-abi3-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":["nj_py-0.0.25-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","nj_py-0.0.25-cp310-abi3-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":["nj_py-0.0.25-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl","nj_py-0.0.25-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl","nj_py-0.0.25-cp310-abi3-win_amd64.whl"]}],"vulnerability_scan":{"scanned_sboms":4,"total_sboms":4,"scanned_at":"2026-11-09","scanner":"osv-scanner 2.7.0","severity_counts":{"high":1,"medium":1,"unknown":1}}}