depot/third_party/nixpkgs/pkgs/development/python-modules/graphrag/default.nix
Default email 7e47f3658e Project import generated by Copybara.
GitOrigin-RevId: 1925c603f17fc89f4c8f6bf6f631a802ad85d784
2024-09-26 11:04:55 +00:00

117 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,
graspologic,
json-repair,
lancedb,
matplotlib,
networkx,
nltk,
numpy,
openai,
pandas,
pyaml-env,
pyarrow,
pydantic,
python-dotenv,
pyyaml,
rich,
tenacity,
tiktoken,
typing-extensions,
umap-learn,
nbformat,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "graphrag";
version = "0.3.6";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "graphrag";
rev = "refs/tags/v${version}";
hash = "sha256-H5ITK4m3l+rlIEYXoMIpsE9faCu6rRZuB5zaZQeArOU=";
};
build-system = [
poetry-core
poetry-dynamic-versioning
];
pythonRelaxDeps = true;
dependencies = [
aiofiles
aiolimiter
azure-identity
azure-search-documents
azure-storage-blob
datashaper
devtools
environs
graspologic
json-repair
lancedb
matplotlib
networkx
nltk
numpy
openai
pandas
pyaml-env
pyarrow
pydantic
python-dotenv
pyyaml
rich
tenacity
tiktoken
typing-extensions
umap-learn
];
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"
"test_sort_context_max_tokens"
];
meta = {
description = "Modular graph-based Retrieval-Augmented Generation (RAG) system";
homepage = "https://github.com/microsoft/graphrag";
changelog = "https://github.com/microsoft/graphrag/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ natsukium ];
};
}