depot/third_party/nixpkgs/pkgs/development/python-modules/graphrag/default.nix
Default email f34ce41345 Project import generated by Copybara.
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
2024-07-27 08:49:29 +02:00

122 lines
2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
poetry-dynamic-versioning,
aiofiles,
aiolimiter,
azure-identity,
azure-search-documents,
azure-storage-blob,
datashaper,
devtools,
environs,
fastparquet,
graspologic,
lancedb,
networkx,
nltk,
numba,
numpy,
openai,
pyaml-env,
pydantic,
python-dotenv,
pyyaml,
rich,
scipy,
swifter,
tenacity,
textual,
tiktoken,
typing-extensions,
uvloop,
nbformat,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "graphrag";
version = "0.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "graphrag";
rev = "refs/tags/v${version}";
hash = "sha256-hIAQOIqm9S9AtssE6UxcXfaIbSt3+506ueMrlathNaQ=";
};
build-system = [
poetry-core
poetry-dynamic-versioning
];
pythonRelaxDeps = [
"aiofiles"
"azure-identity"
"scipy"
"tiktoken"
];
dependencies = [
aiofiles
aiolimiter
azure-identity
azure-search-documents
azure-storage-blob
datashaper
devtools
environs
fastparquet
graspologic
lancedb
networkx
nltk
numba
numpy
openai
pyaml-env
pydantic
python-dotenv
pyyaml
rich
scipy
swifter
tenacity
textual
tiktoken
typing-extensions
uvloop
];
env.NUMBA_CACHE_DIR = "$TMPDIR";
pythonImportsCheck = [ "graphrag" ];
nativeCheckInputs = [
nbformat
pytest-asyncio
pytestCheckHook
];
pytestFlagsArray = [ "tests/unit" ];
disabledTests = [
# touch the network
"test_child"
"test_dotprefix"
"test_find"
"test_run_extract_entities_multiple_documents"
"test_run_extract_entities_single_document"
];
meta = {
description = "Modular graph-based Retrieval-Augmented Generation (RAG) system";
homepage = "https://github.com/microsoft/graphrag";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ natsukium ];
};
}