1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 setuptools,
7 requests,
8 packaging,
9 pydantic,
10 typing-extensions,
11 requests-mock,
12}:
13
14buildPythonPackage rec {
15 name = "marqo";
16 version = "3.12.0";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "marqo-ai";
21 repo = "py-marqo";
22 rev = "refs/tags/${version}";
23 hash = "sha256-phO7aR7kQJHw5qxrpMI5DtOaXlaHMsKfaC3UquyD/Rw=";
24 };
25
26 build-system = [ setuptools ];
27
28 nativeCheckInputs = [
29 pytestCheckHook
30 requests-mock
31 typing-extensions
32 ];
33
34 disabledTestPaths = [
35 # Tests require network
36 "tests/v2_tests/test_tensor_search.py"
37 "tests/v2_tests/test_client.py"
38 "tests/v2_tests/test_get_settings.py"
39 "tests/v2_tests/test_tensor_search.py"
40 "tests/v2_tests/test_add_documents.py"
41 "tests/v2_tests/test_delete_documents.py"
42 "tests/v2_tests/test_demos.py"
43 "tests/v2_tests/test_custom_vector_search.py"
44 "tests/v2_tests/test_create_index.py"
45 "tests/v2_tests/test_image_chunking.py"
46 "tests/v2_tests/test_telemetry.py"
47 "tests/v2_tests/test_score_modifier_search.py"
48 "tests/v2_tests/test_model_cache_management.py"
49 "tests/v2_tests/test_embed.py"
50 "tests/v2_tests/test_index_init_logging.py"
51 "tests/v2_tests/test_marqo_cloud_instance_mapping.py"
52 "tests/v2_tests/test_index_manipulation_features.py"
53 "tests/v2_tests/test_index.py"
54 "tests/v2_tests/test_get_indexes.py"
55 "tests/v2_tests/test_hybrid_search.py"
56 "tests/v2_tests/test_logging.py"
57 "tests/v2_tests/test_recommend.py"
58 ];
59
60 dependencies = [
61 packaging
62 pydantic
63 requests
64 ];
65
66 pythonRemoveDeps = [ "urllib3" ];
67
68 pythonImportsCheck = [ "marqo" ];
69
70 meta = with lib; {
71 description = "Unified embedding generation and search engine";
72 homepage = "https://marqo.ai";
73 changelog = "https://github.com/marqo-ai/py-marqo/releases/tag/${version}";
74 license = licenses.asl20;
75 maintainers = with maintainers; [ naufik ];
76 };
77}