diff --git a/pkgs/by-name/wh/whichllm/package.nix b/pkgs/by-name/wh/whichllm/package.nix new file mode 100644 index 000000000000..8bdf145dd472 --- /dev/null +++ b/pkgs/by-name/wh/whichllm/package.nix @@ -0,0 +1,55 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + versionCheckHook, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "whichllm"; + version = "0.5.7"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "Andyyyy64"; + repo = "whichllm"; + tag = "v${finalAttrs.version}"; + hash = "sha256-UvhCSC9tKpdgXFCMGn0HWM0kuHhXSauEr/ys/9PUIRs="; + }; + + build-system = with python3Packages; [ hatchling ]; + + dependencies = + with python3Packages; + [ + dbgpu + httpx + nvidia-ml-py + psutil + rich + typer + ] + ++ python3Packages.dbgpu.optional-dependencies.fuzz; + + nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; + + disabledTests = [ + # require network access + "test_plan_no_model_found_shows_error" + "test_snippet_no_model_found" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + pythonImportsCheck = [ "whichllm" ]; + + meta = { + description = "Find the local LLM that actually runs and performs best on your hardware. Ranked by real, recency-aware benchmarks, not parameter count. One command, run it instantly"; + homepage = "https://github.com/Andyyyy64/whichllm"; + changelog = "https://github.com/Andyyyy64/whichllm/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jaredmontoya ]; + mainProgram = "whichllm"; + }; +}) diff --git a/pkgs/development/python-modules/dbgpu/default.nix b/pkgs/development/python-modules/dbgpu/default.nix new file mode 100644 index 000000000000..ee31a2e407a3 --- /dev/null +++ b/pkgs/development/python-modules/dbgpu/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + setuptools, + + click, + pydantic, + + thefuzz, +}: + +buildPythonPackage (finalAttrs: { + pname = "dbgpu"; + version = "2025.12"; + pyproject = true; + + src = fetchPypi { + inherit (finalAttrs) pname version; + hash = "sha256-1KL9w2/1/yrzfo/Yo+B0CrKvc8xeD9oZn9/z1vFob04="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + click + pydantic + ]; + + optional-dependencies = { + fuzz = [ thefuzz ]; + }; + + pythonImportsCheck = [ "dbgpu" ]; + + meta = { + description = "A small, easy-to-use open source database of over 2000 GPUs with architecture, manufacturing, API support and performance details"; + homepage = "https://github.com/painebenjamin/dbgpu"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jaredmontoya ]; + mainProgram = "dbgpu"; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fec3053e53d8..40dfc6372763 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3712,6 +3712,8 @@ self: super: with self; { dbglib = callPackage ../development/python-modules/dbglib { }; + dbgpu = callPackage ../development/python-modules/dbgpu { }; + dbt-adapters = callPackage ../development/python-modules/dbt-adapters { }; dbt-bigquery = callPackage ../development/python-modules/dbt-bigquery { };