Source code for swh.provenance.shell

# Copyright (C) 2025  The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information

from pathlib import Path
from typing import Optional

from swh.graph.shell import Rust as _Rust


[docs] class Rust(_Rust): """Subclass of :class:`swh.graph.shell.Rust` that runs executables from swh-dataset's binary directory instead of swh-graph's. """ def __init__( self, *args, base_rust_executable_dir: Optional[Path] = None, **kwargs ): if base_rust_executable_dir is None: # in editable installs, __file__ is a symlink to the original file in # the source directory, which is where in the end the rust sources and # executable are. So resolve the symlink before looking for the target/ # directory relative to the actual python file. path = Path(__file__).resolve() base_rust_executable_dir = path.parent.parent.parent / "target" super().__init__( *args, base_rust_executable_dir=base_rust_executable_dir, **kwargs )