1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, cachetools
5, numpy
6, pythonOlder
7, redis
8, redis-om
9, requests
10}:
11
12buildPythonPackage rec {
13 pname = "gptcache";
14 version = "0.1.42";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.8.1";
18
19 src = fetchFromGitHub {
20 owner = "zilliztech";
21 repo = "GPTCache";
22 rev = "refs/tags/${version}";
23 hash = "sha256-rrPs5ZwBooltVcvrs4AHObx69xmZ8F+IP/lJGPVTNXY=";
24 };
25
26 propagatedBuildInputs = [
27 cachetools
28 numpy
29 redis
30 redis-om
31 requests
32 ];
33
34 # many tests require network access and complicated dependencies
35 doCheck = false;
36
37 pythonImportsCheck = [ "gptcache" ];
38
39 meta = with lib; {
40 description = "Semantic cache for LLMs and fully integrated with LangChain and llama_index";
41 homepage = "https://github.com/zilliztech/GPTCache";
42 changelog = "https://github.com/zilliztech/GPTCache/releases/tag/${src.rev}";
43 license = licenses.mit;
44 maintainers = with maintainers; [ natsukium ];
45 };
46}