{ python3Packages
, makeBinaryWrapper
}:

python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: {
  nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ];

  passthru.cl100k_base = {
    inherit (python3Packages.private-gpt.cl100k_base) tiktoken;
  };

  postInstall = ''
    makeWrapper ${python3Packages.python.interpreter} $out/bin/private-gpt \
      --prefix PYTHONPATH : "$PYTHONPATH" \
      --add-flags "-m private_gpt"
  '';
}))
