blob: b62bcb409b7e713322a245cb491773e3bebb5d76 (
plain) (
tree)
|
|
{
pkgs,
lib,
...
}:
let
# Define all packages in a recursive attribute set
pythonPackages = rec {
llm = pkgs.python3.pkgs.buildPythonPackage rec {
pname = "llm";
version = "0.24.2";
format = "setuptools";
src = pkgs.fetchurl {
url = "https://files.pythonhosted.org/packages/source/l/llm/llm-0.24.2.tar.gz";
sha256 = "sha256-4U8nIhg4hM4JaSIBtUzdlhlCSS8Nk8p0mmLQKzuL9Do=";
};
# Dependencies
propagatedBuildInputs = with pkgs.python3.pkgs; [
pyyaml
click
click-default-group
condense-json
openai
pip
pluggy
puremagic
pydantic
python-ulid
setuptools
sqlite-migrate
sqlite-utils
];
# Disable tests - enable if you have specific test dependencies
doCheck = false;
# Basic import check
pythonImportsCheck = [ "llm" ];
meta = with lib; {
description = "CLI utility and Python library for interacting with Large Language Models from organizations like OpenAI, Anthropic and Gemini plus local models installed on your own machine.";
homepage = "https://github.com/simonw/llm";
license = licenses.asl20;
};
};
# Note, these are available in nixpkgs unstable, but are still behind the latest versions
llm-anthropic = pkgs.python3.pkgs.buildPythonPackage rec {
pname = "llm-anthropic";
version = "0.15.1";
format = "pyproject";
src = pkgs.fetchurl {
url = "https://files.pythonhosted.org/packages/source/l/llm_anthropic/llm_anthropic-0.15.1.tar.gz";
sha256 = "sha256-C8xNs4oS51YxAn1iJkk8j4sJ5dO0pVOwIiP4mv/MnQk=";
};
nativeBuildInputs = with pkgs.python3.pkgs; [
setuptools
wheel
];
# Dependencies
propagatedBuildInputs = with pkgs.python3.pkgs; [
anthropic
llm # Use the llm we defined above
];
# Disable tests - enable if you have specific test dependencies
doCheck = false;
# Basic import check
pythonImportsCheck = [ "llm_anthropic" ];
meta = with lib; {
description = "LLM access to models by Anthropic, including the Claude series";
homepage = "https://github.com/simonw/llm-anthropic";
license = licenses.asl20;
};
};
};
in
pythonPackages
|