raganything is hell to package :3

This commit is contained in:
TheK0tYaRa 2026-02-15 16:50:48 +02:00
parent 74d5213df0
commit 8613343843
6 changed files with 264 additions and 10 deletions

View file

@ -0,0 +1,54 @@
# derivation.nix
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
wheel,
python,
wcwidth,
}:
buildPythonPackage rec {
pname = "ascii_colors";
version = "0.11.11";
src = fetchFromGitHub {
owner = "ParisNeo";
repo = "ascii_colors";
rev = "0011470";
hash = "sha256-jiolJzsBQMp9/DHdHTixJGvXoS19vAp/S7+8PyLARoo=";
};
disabled = pythonOlder "3.8";
format = "pyproject";
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
wcwidth
];
doCheck = false;
doInstallCheck = true;
pythonImportsCheck = [ "ascii_colors" ];
installCheckPhase = ''
runHook preInstallCheck
${python.interpreter} -c "import ascii_colors; print(getattr(ascii_colors,'__version__','unknown'))"
runHook postInstallCheck
'';
meta = with lib; {
description = "A Python library for rich terminal output with advanced logging features.";
homepage = "https://github.com/ParisNeo/ascii_colors";
license = licenses.asl20;
};
}

View file

@ -0,0 +1,83 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
wheel,
python,
aiohttp,
configparser,
google-api-core,
google-genai,
json-repair,
nano-vectordb,
networkx,
numpy,
pandas,
pipmaster,
pydantic,
pypinyin,
python-dotenv,
tenacity,
tiktoken,
xlsxwriter,
}:
buildPythonPackage rec {
pname = "lightrag-hku";
version = "1.4.9.11";
src = fetchFromGitHub {
owner = "HKUDS";
repo = "LightRAG";
rev = "v${version}";
hash = "sha256-TX/HSF2ZqoDo2SRlFzM+bkUxQXiUpnrl6kwI+lljjdo=";
};
disabled = pythonOlder "3.10";
format = "pyproject";
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
aiohttp
configparser
google-api-core
google-genai
json-repair
nano-vectordb
networkx
numpy
pandas
pipmaster
pydantic
pypinyin
python-dotenv
tenacity
tiktoken
xlsxwriter
];
doCheck = false;
doInstallCheck = true;
pythonImportsCheck = [ "lightrag" ];
installCheckPhase = ''
runHook preInstallCheck
${python.interpreter} -c "import lightrag; print(getattr(lightrag,'__version__','unknown'))"
runHook postInstallCheck
'';
meta = with lib; {
description = "LightRAG: Simple and Fast Retrieval-Augmented Generation";
homepage = "https://github.com/HKUDS/LightRAG";
license = licenses.mit;
};
}

View file

@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
wheel,
python,
numpy,
}:
buildPythonPackage rec {
pname = "nano-vectordb";
version = "0.0.4.3";
src = fetchFromGitHub {
owner = "gusye1234";
repo = "nano-vectordb";
rev = "03f8213";
hash = "sha256-jLco+1TAncF8Ep+VGd3DhsoiZTW7G/H8fAEwnNsovTY=";
};
disabled = pythonOlder "3.9";
format = "setuptools";
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
numpy
];
doCheck = false;
doInstallCheck = true;
pythonImportsCheck = [ "nano_vectordb" ];
installCheckPhase = ''
runHook preInstallCheck
${python.interpreter} -c "import nano_vectordb; print(getattr(nano_vectordb,'__version__','unknown'))"
runHook postInstallCheck
'';
meta = with lib; {
description = "A simple, easy-to-hack Vector Database implementation";
homepage = "https://github.com/gusye1234/nano-vectordb";
license = licenses.mit;
};
}

View file

@ -0,0 +1,54 @@
# derivation.nix
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
python,
packaging,
ascii_colors,
}:
buildPythonPackage rec {
pname = "pipmaster";
version = "1.1.0";
src = fetchFromGitHub {
owner = "ParisNeo";
repo = "pipmaster";
rev = "e2f4d55";
hash = "sha256-IJ6VG4WvoEm584vbZDLTtRcEZekZh7HJto1hnABoodo=";
};
disabled = pythonOlder "3.8";
format = "pyproject";
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
packaging
ascii_colors
];
doCheck = false;
doInstallCheck = true;
pythonImportsCheck = [ "pipmaster" ];
installCheckPhase = ''
runHook preInstallCheck
${python.interpreter} -c "import pipmaster; print(getattr(pipmaster,'__version__','unknown'))"
runHook postInstallCheck
'';
meta = with lib; {
description = "A versatile Python package manager utility for simplifying package installation, updates, checks, and environment management.";
homepage = "https://github.com/ParisNeo/pipmaster";
license = licenses.asl20;
};
}

View file

@ -5,6 +5,12 @@
pythonOlder,
setuptools,
wheel,
python,
python-dotenv,
lightrag-hku,
tqdm,
}:
buildPythonPackage rec {
@ -26,16 +32,20 @@ buildPythonPackage rec {
wheel
];
postPatch = ''
cat > requirements.txt <<'EOF'
huggingface_hub
propagatedBuildInputs = [
python-dotenv
lightrag-hku
mineru[core]
tqdm
EOF
'';
];
doCheck = false;
doInstallCheck = true;
pythonImportsCheck = [ "raganything" ];
installCheckPhase = ''
runHook preInstallCheck
${python.interpreter} -c "import raganything; print(getattr(raganything,'__version__','unknown'))"
runHook postInstallCheck
'';
meta = with lib; {
description = "RAGAnything: All-in-One RAG System";

6
flake.lock generated
View file

@ -385,11 +385,11 @@
]
},
"locked": {
"lastModified": 1771102945,
"narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=",
"lastModified": 1771132481,
"narHash": "sha256-Tc+YqZ/Q1K35vJK4ji4RbLB/qKGcEq6yh7p4CKoZF60=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ff5e5d882c51f9a032479595cbab40fd04f56399",
"rev": "1e53254671f36cb7d0e2dcca08730f066d5e69b4",
"type": "github"
},
"original": {