{ lib, buildPythonPackage, fetchFromGitHub, nix-update-script, # build-system pdm-backend, # dependencies langchain-core, # tests httpx, pytest-asyncio, pytestCheckHook, }: buildPythonPackage rec { pname = "langchain-text-splitters"; version = "0.3.8"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-text-splitters==${version}"; hash = "sha256-Ia3ZZ94uLZUVr1/w4HLPZLM6u8leA4OJtAwUf7eSAE0="; }; sourceRoot = "${src.name}/libs/text-splitters"; build-system = [ pdm-backend ]; pythonRelaxDeps = [ # Each component release requests the exact latest core. # That prevents us from updating individual components. "langchain-core" ]; dependencies = [ langchain-core ]; pythonImportsCheck = [ "langchain_text_splitters" ]; nativeCheckInputs = [ httpx pytest-asyncio pytestCheckHook ]; pytestFlagsArray = [ "tests/unit_tests" ]; passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex" "^langchain-test-splitters==([0-9.]+)$" ]; }; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-text-splitters==${version}"; description = "LangChain utilities for splitting into chunks a wide variety of text documents"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/text-splitters"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab sarahec ]; }; }