about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/development/python-modules/aioboto3/default.nix7
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix24
-rw-r--r--pkgs/development/python-modules/aiocsv/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-encryption-sdk/default.nix32
-rw-r--r--pkgs/development/python-modules/aws-secretsmanager-caching/default.nix51
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-keyvault-administration/default.nix29
-rw-r--r--pkgs/development/python-modules/azure-keyvault-certificates/default.nix27
-rw-r--r--pkgs/development/python-modules/azure-keyvault-secrets/default.nix29
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3/default.nix22
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix37
-rw-r--r--pkgs/development/python-modules/chroma-hnswlib/default.nix47
-rw-r--r--pkgs/development/python-modules/chromadb/default.nix160
-rw-r--r--pkgs/development/python-modules/clarifai/default.nix61
-rw-r--r--pkgs/development/python-modules/dirtyjson/default.nix39
-rw-r--r--pkgs/development/python-modules/llama-index-agent-openai/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-cli/default.nix34
-rw-r--r--pkgs/development/python-modules/llama-index-core/default.nix115
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix36
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-google/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-embeddings-openai/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-legacy/default.nix24
-rw-r--r--pkgs/development/python-modules/llama-index-llms-openai/default.nix28
-rw-r--r--pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-program-openai/default.nix32
-rw-r--r--pkgs/development/python-modules/llama-index-question-gen-openai/default.nix32
-rw-r--r--pkgs/development/python-modules/llama-index-readers-file/default.nix46
-rw-r--r--pkgs/development/python-modules/llama-index-readers-json/default.nix34
-rw-r--r--pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix30
-rw-r--r--pkgs/development/python-modules/llama-index-readers-weather/default.nix36
-rw-r--r--pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix41
-rw-r--r--pkgs/development/python-modules/llama-index/default.nix47
-rw-r--r--pkgs/development/python-modules/llama-parse/default.nix40
-rw-r--r--pkgs/development/python-modules/llamaindex-py-client/default.nix45
-rw-r--r--pkgs/development/python-modules/mscerts/default.nix4
-rw-r--r--pkgs/development/python-modules/msrest/default.nix14
-rw-r--r--pkgs/development/python-modules/msrestazure/default.nix53
-rw-r--r--pkgs/development/python-modules/nest-asyncio/default.nix40
-rw-r--r--pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix54
-rw-r--r--pkgs/development/python-modules/oslo-concurrency/default.nix4
-rw-r--r--pkgs/development/python-modules/pulsar-client/default.nix119
-rw-r--r--pkgs/development/python-modules/s3transfer/default.nix31
-rw-r--r--pkgs/development/python-modules/thriftpy2/default.nix4
-rw-r--r--pkgs/development/python-modules/types-beautifulsoup4/default.nix4
-rw-r--r--pkgs/development/python-modules/types-html5lib/default.nix4
-rw-r--r--pkgs/development/python-modules/types-lxml/default.nix69
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/exportarr/default.nix6
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/top-level/python-packages.nix52
54 files changed, 1651 insertions, 184 deletions
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 396b1cf38c73..5ac21168eb1f 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.18.4";
+  version = "0.18.5";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-G8Ow38vNSMMYINYhGp33rls5AV4EFZDEJhkNn5H64LA=";
+    hash = "sha256-L0FF9pN4WGCFpg2MPAvrKC/DwyWK6BWGxwYEpQBl9Rw=";
   };
 
-  cargoHash = "sha256-A/EIkWSdMqSdrnjMTfIdg0scSBK/xsI5PPsOn+cRogA=";
+  cargoHash = "sha256-bZ2NzFpB9vpT0mB2LsETdmtzYAwNrpzBRoqmm4+13+0=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/development/python-modules/aioboto3/default.nix b/pkgs/development/python-modules/aioboto3/default.nix
index 231e4bbbe8b2..6b0f79655717 100644
--- a/pkgs/development/python-modules/aioboto3/default.nix
+++ b/pkgs/development/python-modules/aioboto3/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aioboto3";
-  version = "12.1.0";
+  version = "12.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "terrycain";
     repo = "aioboto3";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CVRDQhymQRi5dyVBLJYTnF3RI4jPBB966dVMT4lOd8g=";
+    hash = "sha256-GDuxy/V+j0LRJ2lbcRHMEAga+pdCbYIWhEt3ItrHMB4=";
   };
 
   nativeBuildInputs = [
@@ -37,8 +37,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiobotocore
-    boto3
-  ];
+  ] ++ aiobotocore.optional-dependencies.boto3;
 
   passthru.optional-dependencies = {
     chalice = [
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 9b8609c435af..15eeb18989cc 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -7,7 +7,10 @@
 , fetchFromGitHub
 , flask
 , flask-cors
+, awscli
 , moto
+, boto3
+, setuptools
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -16,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "2.9.1";
-  format = "setuptools";
+  version = "2.11.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
-    repo = pname;
+    repo = "aiobotocore";
     rev = "refs/tags/${version}";
-    hash = "sha256-cODdmP/O24fNIugzl4AYdf3g4Gzwx3JseYKbZKgEPbc=";
+    hash = "sha256-H9nsLPxjv3H5y6+5piBt6Pb+Wks4vwOitM+WQtyViPs=";
   };
 
   # Relax version constraints: aiobotocore works with newer botocore versions
@@ -34,6 +37,10 @@ buildPythonPackage rec {
     sed -i "s/'botocore>=.*'/'botocore'/" setup.py
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     aioitertools
@@ -41,6 +48,15 @@ buildPythonPackage rec {
     wrapt
   ];
 
+  passthru.optional-dependencies = {
+    awscli = [
+      awscli
+    ];
+    boto3 = [
+      boto3
+    ];
+  };
+
   nativeCheckInputs = [
     dill
     flask
diff --git a/pkgs/development/python-modules/aiocsv/default.nix b/pkgs/development/python-modules/aiocsv/default.nix
index 8960dca9a8d7..30511eb81676 100644
--- a/pkgs/development/python-modules/aiocsv/default.nix
+++ b/pkgs/development/python-modules/aiocsv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiocsv";
-  version = "1.3.0";
+  version = "1.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "MKuranowski";
     repo = "aiocsv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5jMmT7XY+1VNbDNciZS6B/oQJFj4XmGvhDITKWHCuOQ=";
+    hash = "sha256-zHU9NfxiRUOAk0kwsKmvxd01UtNXZTnb700Wlm9DUz4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aws-encryption-sdk/default.nix b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
index b9186ab1779c..7cdcc917c8a8 100644
--- a/pkgs/development/python-modules/aws-encryption-sdk/default.nix
+++ b/pkgs/development/python-modules/aws-encryption-sdk/default.nix
@@ -1,54 +1,62 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , attrs
 , boto3
+, buildPythonPackage
 , cryptography
-, setuptools
-, wrapt
+, fetchPypi
 , mock
-, pytest
 , pytest-mock
 , pytestCheckHook
+, pythonAtLeast
+, pythonOlder
+, setuptools
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "aws-encryption-sdk";
   version = "3.1.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-jV+/AY/GjWscrL5N0Df9gFKWx3Nqn+RX62hNBT9/lWM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     boto3
     cryptography
-    setuptools
     wrapt
   ];
 
-  doCheck = true;
-
   nativeCheckInputs = [
     mock
-    pytest
     pytest-mock
     pytestCheckHook
   ];
 
   disabledTestPaths = [
-    # requires networking
+    # Tests require networking
     "examples"
     "test/integration"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # AssertionError: Regex pattern did not match, https://github.com/aws/aws-encryption-sdk-python/issues/644
+    "test_abstracts"
+  ];
+
   meta = with lib; {
+    description = "Python implementation of the AWS Encryption SDK";
     homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
     changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
-    description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
     license = licenses.asl20;
     maintainers = with maintainers; [ anthonyroussel ];
   };
diff --git a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
index 7e54c030bf1e..90226ddd99e4 100644
--- a/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
+++ b/pkgs/development/python-modules/aws-secretsmanager-caching/default.nix
@@ -1,34 +1,27 @@
 { lib
+, botocore
 , buildPythonPackage
-, pythonOlder
 , fetchPypi
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , setuptools
 , setuptools-scm
-, botocore
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "aws_secretsmanager_caching";
+  pname = "aws-secretsmanager-caching";
   version = "1.1.1.5";
-  format = "setuptools";
+  pyprject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "5cee2762bb89b72f3e5123feee8e45fbe44ffe163bfca08b28f27b2e2b7772e1";
+    pname = "aws_secretsmanager_caching";
+    inherit version;
+    hash = "sha256-XO4nYruJty8+USP+7o5F++RP/hY7/KCLKPJ7Lit3cuE=";
   };
 
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
-
-  propagatedBuildInputs = [
-    botocore
-    setuptools  # Needs pkg_resources at runtime.
-  ];
-
   patches = [
     # Remove coverage tests from the pytest invocation in setup.cfg.
     ./remove-coverage-tests.patch
@@ -36,9 +29,18 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "'pytest-runner'," ""
+      --replace-fail "'pytest-runner'," ""
   '';
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    botocore
+    setuptools  # Needs pkg_resources at runtime.
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -48,6 +50,21 @@ buildPythonPackage rec {
     "test/integ"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.12") [
+    # TypeError: 'float' object cannot be interpreted as an integer
+    "test_calls_hook_binary"
+    "test_calls_hook_string"
+    "test_get_secret_binary"
+    "test_get_secret_string"
+    "test_invalid_json"
+    "test_missing_key"
+    "test_string_with_additional_kwargs"
+    "test_string"
+    "test_valid_json_with_mixed_args"
+    "test_valid_json_with_no_secret_kwarg"
+    "test_valid_json"
+  ];
+
   pythonImportsCheck = [
     "aws_secretsmanager_caching"
   ];
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index 44f3c1b81085..b376126432b5 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -12,15 +12,16 @@
 , pytest-trio
 , pytestCheckHook
 , requests
+, setuptools
 , six
 , trio
 , typing-extensions
 }:
 
 buildPythonPackage rec {
-  version = "1.28.0";
+  version = "1.30.0";
   pname = "azure-core";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,10 +29,13 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-6e78Zvwf3lbatvBNTl0SxgdU1an6Sb3P2FNPyW7ZNr0=";
+    hash = "sha256-bzp4g+8YRyL2vZlyYu3a+Az+fls+DKqvjbFpVpWJPTU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
     six
@@ -99,8 +103,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure Core Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
-    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/CHANGELOG.md";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-core_${version}/sdk/core/azure-core/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-administration/default.nix b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
index 07d608dfa56f..a890e435508f 100644
--- a/pkgs/development/python-modules/azure-keyvault-administration/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
@@ -1,34 +1,36 @@
 { lib
+, azure-core
 , buildPythonPackage
 , fetchPypi
+, isodate
 , pythonOlder
-, azure-common
-, azure-core
-, msrest
-, six
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-administration";
-  version = "4.3.0";
-  format = "setuptools";
+  version = "4.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-PuKjui0OP0ODNErjbjJ90hOgee97JDrVT2sh+MufxWY=";
+    hash = "sha256-ems2y59UTzV1D/L6lMg7l7PvIMH+G0JOpoAY7ucD8d8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    msrest
-    six
+    typing-extensions
+    isodate
   ];
 
-  # no tests in pypi tarball
+  # Tests require checkout from mono-repo
   doCheck = false;
 
   pythonNamespaces = [
@@ -42,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Key Vault Administration Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-administration";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-keyvault-administration_${version}/sdk/keyvault/azure-keyvault-administration/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
index 77d81c87ec31..e45f1b241517 100644
--- a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
@@ -3,36 +3,40 @@
 , fetchPypi
 , azure-common
 , azure-core
-, msrest
-, msrestazure
+, isodate
 , pythonOlder
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-certificates";
-  version = "4.7.0";
-  format = "setuptools";
+  version = "4.8.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-nkfZp0gl5QKxPVSByZwYIEDE9Ucj9DNx4AhZQ23888o=";
+    hash = "sha256-xWEnPkQCwlEUhzSGyYv6GyxHiGIp1BAOh9rxAO4Edyg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     azure-common
     azure-core
-    msrest
-    msrestazure
+    isodate
+    typing-extensions
   ];
 
   pythonNamespaces = [
     "azure.keyvault"
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   pythonImportsCheck = [
@@ -41,7 +45,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Microsoft Azure Key Vault Certificates Client Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-certificates";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-keyvault-certificates_${version}/sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
index ddb5d440b0b3..56004efa76b6 100644
--- a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
@@ -1,41 +1,46 @@
 { lib
+, azure-core
 , buildPythonPackage
 , fetchPypi
+, isodate
 , pythonOlder
-, azure-common
-, azure-core
-, msrest
+, setuptools
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-secrets";
-  version = "4.7.0";
-  format = "setuptools";
+  version = "4.8.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-d+4lNLplGh8wbIXXtQW8PM7o/qd0UOuvr8Jq7BblRF0=";
+    hash = "sha256-VjbAodiiDjxXmcs8z/1Ovz8NGst8rpUmhhgzr4sP6BQ=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    msrest
+    isodate
+    typing-extensions
   ];
 
   pythonNamespaces = [
     "azure.keyvault"
   ];
 
-  # requires checkout from mono-repo
+  # Tests require checkout from mono-repo
   doCheck = false;
 
   meta = with lib; {
     description = "Microsoft Azure Key Vault Secrets Client Library for Python";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-secrets";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/tree/azure-keyvault-secrets_${version}/sdk/keyvault/azure-keyvault-secrets";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index 5d78b5479de1..371497c895fb 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -365,14 +365,14 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.50";
+  version = "1.34.52";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7WKO7Bq5oyTBN60pJAi474gvFyShWk6ESqfusljIyzM=";
+    hash = "sha256-gjxBBZ+DbWh32qocvSD4E8jxp4uf3ykLwLhTEn4Se6M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 3a48019b2e99..f1ab0c4f28e3 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -1,27 +1,27 @@
 { lib
+, botocore
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
-, botocore
 , jmespath
-, s3transfer
+, pytestCheckHook
+, pythonOlder
 , pythonRelaxDepsHook
+, s3transfer
 , setuptools
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.34.21"; # N.B: if you change this, change botocore and awscli to a matching version
-  format = "pyproject";
+  version = "1.34.49"; # N.B: if you change this, change botocore and awscli to a matching version
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "boto";
-    repo = pname;
+    repo = "boto3";
     rev = "refs/tags/${version}";
-    hash = "sha256-oOrUVBh1sbaOibU8A+bGZ4z7IEiE4gjHwZ+8889Hv60=";
+    hash = "sha256-/pgbLSL5RJ5RrKUAfQ1QNJykBdICrpqnuziHOVHt1JI=";
   };
 
   nativeBuildInputs = [
@@ -54,14 +54,16 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    crt = [ botocore.optional-dependencies.crt ];
+    crt = [
+      botocore.optional-dependencies.crt
+    ];
   };
 
   meta = with lib; {
+    description = "AWS SDK for Python";
     homepage = "https://github.com/boto/boto3";
     changelog = "https://github.com/boto/boto3/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    description = "AWS SDK for Python";
     longDescription = ''
       Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
       Python, which allows Python developers to write software that makes use of
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index c60f2e9f6dcd..808deb064ad8 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.50";
+  version = "1.34.52";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-jWzjI/M4gnTLbYyBCyvEe/GJHioZlVdv/YKzrf+L5NU=";
+    hash = "sha256-pRtsofyprNqp6AQS83FTaQ//rX7SJ3Q8xTCAmSDSoAk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index bc1454b70ff1..89b6dbe07821 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -1,36 +1,47 @@
 { lib
+, awscrt
 , buildPythonPackage
-, pythonOlder
 , fetchPypi
-, python-dateutil
 , jmespath
-, urllib3
-, pytestCheckHook
 , jsonschema
-, awscrt
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, pythonRelaxDepsHook
+, setuptools
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.34.21"; # N.B: if you change this, change boto3 and awscli to a matching version
-  format = "setuptools";
+  version = "1.34.49"; # N.B: if you change this, change boto3 and awscli to a matching version
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IZg7sEc6GRMBksUOxpdNVfDEqkinCUvPQPeILItpuPE=";
+    hash = "sha256-2JQQvGBnPq/xaZ8/H9yw46Xh96agSMDYjDzlw1SUM+w=";
   };
 
+  pythonRelaxDeps = [
+    "urllib3"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    python-dateutil
     jmespath
+    python-dateutil
     urllib3
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
     jsonschema
+    pytestCheckHook
   ];
 
   disabledTestPaths = [
@@ -46,14 +57,16 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    crt = [ awscrt ];
+    crt = [
+      awscrt
+    ];
   };
 
   meta = with lib; {
+    description = "A low-level interface to a growing number of Amazon Web Services";
     homepage = "https://github.com/boto/botocore";
     changelog = "https://github.com/boto/botocore/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    description = "A low-level interface to a growing number of Amazon Web Services";
     maintainers = with maintainers; [ anthonyroussel ];
   };
 }
diff --git a/pkgs/development/python-modules/chroma-hnswlib/default.nix b/pkgs/development/python-modules/chroma-hnswlib/default.nix
new file mode 100644
index 000000000000..31f884e53ba8
--- /dev/null
+++ b/pkgs/development/python-modules/chroma-hnswlib/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pybind11
+, setuptools
+, wheel
+, pythonOlder
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "chroma-hnswlib";
+  version = "0.7.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "chroma-core";
+    repo = "hnswlib";
+    rev = "refs/tags/${version}";
+    hash = "sha256-c4FvymqZy8AZKbh6Y8xZRjKAqYcUyZABRGc1u7vwlsk=";
+  };
+
+  nativeBuildInputs = [
+    numpy
+    pybind11
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "hnswlib"
+  ];
+
+  meta = with lib; {
+    description = "Header-only C++/python library for fast approximate nearest neighbors";
+    homepage = "https://github.com/chroma-core/hnswlib";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/chromadb/default.nix b/pkgs/development/python-modules/chromadb/default.nix
new file mode 100644
index 000000000000..0cc5484332df
--- /dev/null
+++ b/pkgs/development/python-modules/chromadb/default.nix
@@ -0,0 +1,160 @@
+{ lib
+, stdenv
+, bcrypt
+, build
+, buildPythonPackage
+, cargo
+, chroma-hnswlib
+, darwin
+, fastapi
+, fetchFromGitHub
+, grpcio
+, hypothesis
+, importlib-resources
+, kubernetes
+, mmh3
+, numpy
+, onnxruntime
+, openssl
+, opentelemetry-api
+, opentelemetry-exporter-otlp-proto-grpc
+, opentelemetry-instrumentation-fastapi
+, opentelemetry-sdk
+, orjson
+, overrides
+, pkg-config
+, posthog
+, protobuf
+, pulsar-client
+, pydantic
+, pypika
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, pythonRelaxDepsHook
+, pyyaml
+, requests
+, rustc
+, rustPlatform
+, setuptools
+, setuptools-scm
+, tenacity
+, tokenizers
+, tqdm
+, typer
+, typing-extensions
+, uvicorn
+, zstd
+}:
+
+buildPythonPackage rec {
+  pname = "chromadb";
+  version = "0.4.23";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "chroma-core";
+    repo = "chroma";
+    rev = "refs/tags/${version}";
+    hash = "sha256-5gI+FE2jx4G/qahATLcYsONfPZZkk1RFFYK5nrpE0Ug=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-glItbT8gg5SAySnfx3A9TaPyFmd1R46JpAB1JnjBE5M=";
+  };
+
+  pythonRelaxDeps = [
+    "orjson"
+  ];
+
+  nativeBuildInputs = [
+    cargo
+    pkg-config
+    protobuf
+    pythonRelaxDepsHook
+    rustc
+    rustPlatform.cargoSetupHook
+    setuptools
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    openssl
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  propagatedBuildInputs = [
+    bcrypt
+    build
+    chroma-hnswlib
+    fastapi
+    grpcio
+    importlib-resources
+    kubernetes
+    mmh3
+    numpy
+    onnxruntime
+    opentelemetry-api
+    opentelemetry-exporter-otlp-proto-grpc
+    opentelemetry-instrumentation-fastapi
+    opentelemetry-sdk
+    orjson
+    overrides
+    posthog
+    pulsar-client
+    pydantic
+    pypika
+    pyyaml
+    requests
+    tenacity
+    tokenizers
+    tqdm
+    typer
+    typing-extensions
+    uvicorn
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "chromadb"
+  ];
+
+  env = {
+    ZSTD_SYS_USE_PKG_CONFIG = true;
+  };
+
+  pytestFlagsArray = [ "-x" ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  disabledTestPaths = [
+    # Tests require network access
+    "chromadb/test/property/test_cross_version_persist.py"
+    "chromadb/test/auth/test_simple_rbac_authz.py"
+    "chromadb/test/ef/test_default_ef.py"
+    "chromadb/test/test_api.py"
+    "chromadb/test/property/"
+    "chromadb/test/stress/"
+  ];
+
+  meta = with lib; {
+    description = "The AI-native open-source embedding database";
+    homepage = "https://github.com/chroma-core/chroma";
+    changelog = "https://github.com/chroma-core/chroma/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/clarifai/default.nix b/pkgs/development/python-modules/clarifai/default.nix
index 2564b168cfe7..05a86d09ee77 100644
--- a/pkgs/development/python-modules/clarifai/default.nix
+++ b/pkgs/development/python-modules/clarifai/default.nix
@@ -1,23 +1,29 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
 , clarifai-grpc
+, fetchFromGitHub
+, inquirerpy
+, llama-index-core
 , numpy
 , opencv4
+, pandas
 , pillow
+, pycocotools
+, pypdf
+, pytestCheckHook
+, pythonOlder
+, pythonRelaxDepsHook
 , pyyaml
 , rich
 , schema
+, setuptools
 , tqdm
 , tritonclient
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "clarifai";
-  version = "9.11.1";
+  version = "10.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,36 +32,59 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-fVari/SnrUnEbrYefV9j2yA/EMJoGiLOV7q/DrS0AQ8=";
+    hash = "sha256-/2PIsSsYr/R7DuTX/ndBAOX7C3IaFqPw16ZAX8E1Vk8=";
   };
 
+  pythonRelaxDeps = [
+    "clarifai-grpc"
+  ];
+
+  pythonRemoveDeps = [
+    "opencv-python"
+  ];
+
   nativeBuildInputs = [
+    pythonRelaxDepsHook
     setuptools
   ];
 
   propagatedBuildInputs = [
     clarifai-grpc
+    inquirerpy
+    llama-index-core
     numpy
-    tqdm
     opencv4
-    tritonclient
-    rich
-    schema
+    pandas
     pillow
+    pypdf
     pyyaml
+    rich
+    schema
+    tqdm
+    tritonclient
   ];
 
+  passthru.optional-dependencies = {
+    all = [
+      pycocotools
+    ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
   disabledTests = [
-    # require network access and API key
+    # Test requires network access and API key
     "test_export_workflow_general"
   ];
 
   disabledTestPaths = [
-    # require network access and API key
+    # Tests require network access and API key
     "tests/test_app.py"
     "tests/test_data_upload.py"
     "tests/test_model_predict.py"
@@ -63,14 +92,18 @@ buildPythonPackage rec {
     "tests/test_search.py"
     "tests/workflow/test_create_delete.py"
     "tests/workflow/test_predict.py"
+    "tests/test_rag.py"
+    "clarifai/models/model_serving/repo_build/static_files/base_test.py"
   ];
 
-  pythonImportsCheck = [ "clarifai" ];
+  pythonImportsCheck = [
+    "clarifai"
+  ];
 
   meta = with lib; {
     description = "Clarifai Python Utilities";
     homepage = "https://github.com/Clarifai/clarifai-python";
-    changelog = "https://github.com/Clarifai/clarifai-python/releases/tag/${src.rev}";
+    changelog = "https://github.com/Clarifai/clarifai-python/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ natsukium ];
   };
diff --git a/pkgs/development/python-modules/dirtyjson/default.nix b/pkgs/development/python-modules/dirtyjson/default.nix
new file mode 100644
index 000000000000..7cd4fce0e650
--- /dev/null
+++ b/pkgs/development/python-modules/dirtyjson/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "dirtyjson";
+  version = "1.0.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-kMpKGPP/MM6EnRANz0oAOVPHnTojSO8Fbx2cIiMaJf0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "dirtyjson"
+  ];
+
+  meta = with lib; {
+    description = "JSON decoder for Python that can extract data from the muck";
+    homepage = "https://github.com/codecobblers/dirtyjson";
+    license = with licenses; [ afl21 /* and */ mit];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/llama-index-agent-openai/default.nix b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
new file mode 100644
index 000000000000..5663e9f11828
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-agent-openai/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-agent-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/agent/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.agent.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-cli/default.nix b/pkgs/development/python-modules/llama-index-cli/default.nix
new file mode 100644
index 000000000000..de4aacdd5adc
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-cli/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-embeddings-openai
+, llama-index-llms-openai
+, llama-index-vector-stores-chroma
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-cli";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-embeddings-openai
+    llama-index-llms-openai
+    llama-index-vector-stores-chroma
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.cli"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-core/default.nix b/pkgs/development/python-modules/llama-index-core/default.nix
new file mode 100644
index 000000000000..101429849f7f
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-core/default.nix
@@ -0,0 +1,115 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, dataclasses-json
+, deprecated
+, dirtyjson
+, fetchFromGitHub
+, fsspec
+, llamaindex-py-client
+, nest-asyncio
+, networkx
+, nltk
+, numpy
+, openai
+, pandas
+, pillow
+, poetry-core
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, tree-sitter
+, sqlalchemy
+, tenacity
+, tiktoken
+, typing-inspect
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-core";
+  version = "0.10.12";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "run-llama";
+    repo = "llama_index";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Xn4Gqr5zjZGAEHg5duqkS9GLWWlC83puDHNktNYzvDw=";
+  };
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    dataclasses-json
+    deprecated
+    dirtyjson
+    fsspec
+    llamaindex-py-client
+    nest-asyncio
+    networkx
+    nltk
+    numpy
+    openai
+    pandas
+    pillow
+    pyyaml
+    requests
+    sqlalchemy
+    tenacity
+    tiktoken
+    typing-inspect
+  ];
+
+  nativeCheckInputs = [
+    tree-sitter
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "tests/agent/"
+    "tests/callbacks/"
+    "tests/chat_engine/"
+    "tests/evaluation/"
+    "tests/indices/"
+    "tests/ingestion/"
+    "tests/memory/"
+    "tests/node_parser/"
+    "tests/objects/"
+    "tests/playground/"
+    "tests/postprocessor/"
+    "tests/query_engine/"
+    "tests/question_gen/"
+    "tests/response_synthesizers/"
+    "tests/retrievers/"
+    "tests/selectors/"
+    "tests/test_utils.py"
+    "tests/text_splitter/"
+    "tests/token_predictor/"
+    "tests/tools/"
+  ];
+
+  meta = with lib; {
+    description = "Data framework for your LLM applications";
+    homepage = "https://github.com/run-llama/llama_index/";
+    changelog = "https://github.com/run-llama/llama_index/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix
new file mode 100644
index 000000000000..6b371c816983
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, google-generativeai
+, llama-index-core
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-gemini";
+  version = "0.1.3";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    google-generativeai
+    llama-index-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.gemini"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-google/default.nix b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix
new file mode 100644
index 000000000000..6cf2d1772163
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-google/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, google-generativeai
+, llama-index-core
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-google";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    google-generativeai
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.google"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
new file mode 100644
index 000000000000..41e3843220f5
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-embeddings-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.embeddings.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
new file mode 100644
index 000000000000..c778fb0e0512
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-indices-managed-llama-cloud/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-indices-managed-llama-cloud";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/indices/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.indices.managed.llama_cloud"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-legacy/default.nix b/pkgs/development/python-modules/llama-index-legacy/default.nix
new file mode 100644
index 000000000000..e490c3db7e88
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-legacy/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-legacy";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
new file mode 100644
index 000000000000..c0b10abd0251
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-llms-openai/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, llama-index-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-llms-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/llms/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.llms.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix b/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix
new file mode 100644
index 000000000000..825b001f5c61
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-multi-modal-llms-openai/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-multi-modal-llms-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/multi_modal_llms/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.multi_modal_llms.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-program-openai/default.nix b/pkgs/development/python-modules/llama-index-program-openai/default.nix
new file mode 100644
index 000000000000..d30bb7fb709c
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-program-openai/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-agent-openai
+, llama-index-core
+, llama-index-llms-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-program-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/program/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-agent-openai
+    llama-index-core
+    llama-index-llms-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.program.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix b/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix
new file mode 100644
index 000000000000..a1dadcd941f8
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-question-gen-openai/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-index-llms-openai
+, llama-index-program-openai
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-question-gen-openai";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/question_gen/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    llama-index-llms-openai
+    llama-index-program-openai
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.question_gen.openai"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-file/default.nix b/pkgs/development/python-modules/llama-index-readers-file/default.nix
new file mode 100644
index 000000000000..05bbdec8f258
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-file/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pymupdf
+, pypdf
+, pythonRelaxDepsHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-file";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  pythonRelaxDeps = [
+    "beautifulsoup4"
+    "pymupdf"
+    "pypdf"
+  ];
+
+  pythonRemoveDeps = [
+    "bs4"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    llama-index-core
+    pymupdf
+    pypdf
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.file"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-json/default.nix b/pkgs/development/python-modules/llama-index-readers-json/default.nix
new file mode 100644
index 000000000000..c29dcd78c433
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-json/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-json";
+  version = "0.1.2";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.json"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix b/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix
new file mode 100644
index 000000000000..b9dfde0273e2
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-llama-parse/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, llama-parse
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-llama-parse";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-parse
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.llama_parse"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-readers-weather/default.nix b/pkgs/development/python-modules/llama-index-readers-weather/default.nix
new file mode 100644
index 000000000000..773c737f342d
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-readers-weather/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, llama-index-core
+, poetry-core
+, pyowm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-readers-weather";
+  version = "0.1.4";
+
+  inherit (llama-index-core) src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+    pyowm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.readers.weather"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix
new file mode 100644
index 000000000000..62e89093066d
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index-vector-stores-chroma/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, chromadb
+, fetchFromGitHub
+, llama-index-core
+, onnxruntime
+, poetry-core
+, pythonRelaxDepsHook
+, tokenizers
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index-vector-stores-chroma";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  sourceRoot = "${src.name}/llama-index-integrations/vector_stores/${pname}";
+
+  pythonRelaxDeps = [
+    "onnxruntime"
+    "tokenizers"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    chromadb
+    llama-index-core
+    onnxruntime
+    tokenizers
+  ];
+
+  pythonImportsCheck = [
+    "llama_index.vector_stores.chroma"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-index/default.nix b/pkgs/development/python-modules/llama-index/default.nix
new file mode 100644
index 000000000000..4e269039722f
--- /dev/null
+++ b/pkgs/development/python-modules/llama-index/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, llama-index-agent-openai
+, llama-index-cli
+, llama-index-core
+, llama-index-embeddings-openai
+, llama-index-indices-managed-llama-cloud
+, llama-index-legacy
+, llama-index-llms-openai
+, llama-index-multi-modal-llms-openai
+, llama-index-program-openai
+, llama-index-question-gen-openai
+, llama-index-readers-file
+, llama-index-readers-llama-parse
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "llama-index";
+
+  inherit (llama-index-core) version src meta;
+
+  pyproject = true;
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-agent-openai
+    llama-index-cli
+    llama-index-core
+    llama-index-embeddings-openai
+    llama-index-indices-managed-llama-cloud
+    llama-index-legacy
+    llama-index-llms-openai
+    llama-index-multi-modal-llms-openai
+    llama-index-program-openai
+    llama-index-question-gen-openai
+    llama-index-readers-file
+    llama-index-readers-llama-parse
+  ];
+
+  pythonImportsCheck = [
+    "llama_index"
+  ];
+}
diff --git a/pkgs/development/python-modules/llama-parse/default.nix b/pkgs/development/python-modules/llama-parse/default.nix
new file mode 100644
index 000000000000..a38852ff6bfc
--- /dev/null
+++ b/pkgs/development/python-modules/llama-parse/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, llama-index-core
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "llama-parse";
+  version = "0.3.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "llama_parse";
+    inherit version;
+    hash = "sha256-WjBWnDkKuQidrWbPKoyWf4wh13ZB3uwKkiZy304Wz6M=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    llama-index-core
+  ];
+
+  pythonImportsCheck = [
+    "llama_parse"
+  ];
+
+  meta = with lib; {
+    description = "Parse files into RAG-Optimized formats";
+    homepage = "https://pypi.org/project/llama-parse/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/llamaindex-py-client/default.nix b/pkgs/development/python-modules/llamaindex-py-client/default.nix
new file mode 100644
index 000000000000..d46e070c9517
--- /dev/null
+++ b/pkgs/development/python-modules/llamaindex-py-client/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httpx
+, poetry-core
+, pydantic
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "llamaindex-py-client";
+  version = "0.1.13";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "llamaindex_py_client";
+    inherit version;
+    hash = "sha256-O9m0Ne4KeBceukEt6lZ02BPrW/NuV308fH6Q7cVJANk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+    pydantic
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "llama_index_client"
+  ];
+
+  meta = with lib; {
+    description = "Client for LlamaIndex";
+    homepage = "https://pypi.org/project/llamaindex-py-client/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/mscerts/default.nix b/pkgs/development/python-modules/mscerts/default.nix
index 400e0c2774e8..9dc16828c869 100644
--- a/pkgs/development/python-modules/mscerts/default.nix
+++ b/pkgs/development/python-modules/mscerts/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "mscerts";
-  version = "2023.11.29";
+  version = "2024.2.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ralphje";
     repo = "mscerts";
     rev = "refs/tags/${version}";
-    hash = "sha256-TNwpWxknCUcvXFy3UInrEx4iFZi/hLS7exvJBv3DlWo=";
+    hash = "sha256-ReUDpax4tvw4ZCH8zOipelIPtHi7BdgLHI/r3FNpo1c=";
   };
 
   # extras_require contains signify -> circular dependency
diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix
index 3463931a1cb6..5f4f9869e304 100644
--- a/pkgs/development/python-modules/msrest/default.nix
+++ b/pkgs/development/python-modules/msrest/default.nix
@@ -9,16 +9,18 @@
 , isodate
 , pytest-aiohttp
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , requests
 , requests-oauthlib
+, setuptools
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "msrest";
   version = "0.7.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -30,6 +32,10 @@ buildPythonPackage rec {
     hash = "sha256-1EXXXflhDeU+erdI+NsWxSX76ooDTl3+MyQwRzm2xV0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     azure-core
     aiodns
@@ -56,6 +62,12 @@ buildPythonPackage rec {
     "test_conf_async_requests"
     "test_conf_async_requests"
     "test_conf_async_trio_requests"
+  ] ++ lib.optionals (pythonAtLeast "3.12") [
+    # AttributeError: 'TestAuthentication' object has no attribute...
+    "test_apikey_auth"
+    "test_cs_auth"
+    "test_eventgrid_auth"
+    "test_eventgrid_domain_auth"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix
index e564a0fd5959..b997cd9b5065 100644
--- a/pkgs/development/python-modules/msrestazure/default.nix
+++ b/pkgs/development/python-modules/msrestazure/default.nix
@@ -1,41 +1,52 @@
-{ pkgs
-, lib
+{ lib
+, adal
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, adal
-, msrest
-, mock
 , httpretty
-, pytest
+, mock
+, msrest
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
-  version = "0.6.4";
-  format = "setuptools";
   pname = "msrestazure";
+  version = "0.6.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  # Pypi tarball doesnt include tests
-  # see https://github.com/Azure/msrestazure-for-python/pull/133
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "msrestazure-for-python";
-    rev = "v${version}";
-    sha256 = "0ik81f0n6r27f02gblgm0vl5zl3wc6ijsscihgvc1fgm9f5mk5b5";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZZVZi0v1ucD2g5FpLaNhfNBf6Ab10fUEcEdkY4ELaEY=";
   };
 
-  propagatedBuildInputs = [ adal msrest ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    adal
+    msrest
+  ];
 
-  nativeCheckInputs = [ httpretty mock pytest ]
-                ++ lib.optionals isPy3k [ pytest-asyncio ];
+  nativeCheckInputs = [
+    httpretty
+    mock
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest tests/
-  '';
+  pythonImportsCheck = [
+    "msrest"
+  ];
 
-  meta = with pkgs.lib; {
-    description = "The runtime library 'msrestazure' for AutoRest generated Python clients.";
+  meta = with lib; {
+    description = "The runtime library 'msrestazure' for AutoRest generated Python clients";
     homepage = "https://azure.microsoft.com/en-us/develop/python/";
     license = licenses.mit;
     maintainers = with maintainers; [ bendlas jonringer ];
diff --git a/pkgs/development/python-modules/nest-asyncio/default.nix b/pkgs/development/python-modules/nest-asyncio/default.nix
index fcd74efe9237..3daac2f31d16 100644
--- a/pkgs/development/python-modules/nest-asyncio/default.nix
+++ b/pkgs/development/python-modules/nest-asyncio/default.nix
@@ -1,27 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonAtLeast
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
-  version = "1.5.6";
-  pname = "nest_asyncio";
-  disabled = !(pythonAtLeast "3.5");
+  pname = "nest-asyncio";
+  version = "1.6.0";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-0mfMH/eUQD999pKWTR0qP6lBj/6io/aFmkOf9IL+8pA=";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "erdewit";
+    repo = "nest_asyncio";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5I5WItOl1QpyI4OXZgZf8GiQ7Jlo+SJbDicIbernaU4=";
   };
 
-  # tests not packaged with source dist as of 1.3.2/1.3.2, and
-  # can't check tests out of GitHub easily without specific commit IDs (no tagged releases)
-  doCheck = false;
-  pythonImportsCheck = [ "nest_asyncio" ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nest_asyncio"
+  ];
 
   meta = with lib; {
     description = "Patch asyncio to allow nested event loops";
     homepage = "https://github.com/erdewit/nest_asyncio";
+    changelog = "https://github.com/erdewit/nest_asyncio/releases/tag/v${version}";
     license = licenses.bsdOriginal;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
new file mode 100644
index 000000000000..41de5bb8b60f
--- /dev/null
+++ b/pkgs/development/python-modules/opentelemetry-instrumentation-fastapi/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fastapi
+, hatchling
+, httpx
+, opentelemetry-api
+, opentelemetry-instrumentation
+, opentelemetry-instrumentation-asgi
+, opentelemetry-semantic-conventions
+, opentelemetry-test-utils
+, opentelemetry-util-http
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage {
+  inherit (opentelemetry-instrumentation) version src;
+  pname = "opentelemetry-instrumentation-fastapi";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-fastapi";
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    fastapi
+    opentelemetry-api
+    opentelemetry-instrumentation
+    opentelemetry-instrumentation-asgi
+    opentelemetry-semantic-conventions
+    opentelemetry-util-http
+  ];
+
+  nativeCheckInputs = [
+    httpx
+    opentelemetry-test-utils
+    pytestCheckHook
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "opentelemetry.instrumentation.fastapi"
+  ];
+
+  meta = opentelemetry-instrumentation.meta // {
+    description = "OpenTelemetry Instrumentation for fastapi";
+    homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-fastapi";
+  };
+}
diff --git a/pkgs/development/python-modules/oslo-concurrency/default.nix b/pkgs/development/python-modules/oslo-concurrency/default.nix
index ef388c34a18f..a42e9950066c 100644
--- a/pkgs/development/python-modules/oslo-concurrency/default.nix
+++ b/pkgs/development/python-modules/oslo-concurrency/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "oslo-concurrency";
-  version = "5.3.0";
+  version = "6.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "oslo.concurrency";
     inherit version;
-    hash = "sha256-yqaSBw0hVZ73H/WQeAb3USoXgsRby1ChlP4+DNeNfe0=";
+    hash = "sha256-tS8CtORvXydLkfuOG/xcv5pBjfzUqDvggDRUlePSboo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pulsar-client/default.nix b/pkgs/development/python-modules/pulsar-client/default.nix
new file mode 100644
index 000000000000..65ce904eed4b
--- /dev/null
+++ b/pkgs/development/python-modules/pulsar-client/default.nix
@@ -0,0 +1,119 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+let
+  version = "3.4.0";
+
+  inherit (python) pythonVersion;
+
+  Srcs =
+    let
+      getSrcFromPypi = { platform, dist, hash }: fetchPypi {
+        inherit version platform dist hash;
+        pname = "pulsar_client";
+        format = "wheel";
+        python = dist;
+        abi = dist;
+      };
+    in
+    {
+      "3.9-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp39";
+        hash = "sha256-1P5ArMoLZiUkHUoQ/mJccbNj5/7el/op+Qo6cGQ33xE=";
+      };
+      "3.9-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp39";
+        hash = "sha256-11JQZRwMLtt7sK/JlCBqqRyfTVIAVJFN2sL+nAkQgvU=";
+      };
+      "3.9-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp39";
+        hash = "sha256-dwTGZKosgBr0wtOljp2P+u7xLOig9xcS6Rh/mpbahW8=";
+      };
+      "3.9-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp39";
+        hash = "sha256-dwTGZKosgBr0wtOljp2P+u7xLOig9xcS6Rh/mpbahW8=";
+      };
+      "3.10-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp310";
+        hash = "sha256-swp1kuQsdgNOmo1k1C3VurNhQl+GneVi6cytaY4ZzYg=";
+      };
+      "3.10-aarch64-linux" = getSrcFromPypi {
+        platform = "musllinux_1_1_aarch64";
+        dist = "cp310";
+        hash = "sha256-1ZYwkKeKVkS6JfQdo6bUnqPwDJcrCVuv82WRbcJGQmo=";
+      };
+      "3.10-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp310";
+        hash = "sha256-6/mdtSRP9pR5KDslYhsHBJKsxLtkPRYthrkDh8tv2yo=";
+      };
+      "3.10-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp310";
+        hash = "sha256-6/mdtSRP9pR5KDslYhsHBJKsxLtkPRYthrkDh8tv2yo=";
+      };
+      "3.11-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp311";
+        hash = "sha256-M1cd6ZzYmDSfF5eLpi4rg56gJ1+3Bn8xv19uv+rgmH0=";
+      };
+      "3.11-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp311";
+        hash = "sha256-+HQ8MgqpZ5jSDK+pjql6aMQpX8SHLCOs1eAS/TbLBro=";
+      };
+      "3.11-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp311";
+        hash = "sha256-EZUvsCLuct6/U7Fp9EgvncXIkL4BSa6Yd5hks6IfG9M=";
+      };
+      "3.11-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp311";
+        hash = "sha256-EZUvsCLuct6/U7Fp9EgvncXIkL4BSa6Yd5hks6IfG9M=";
+      };
+      "3.12-x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+        dist = "cp312";
+        hash = "sha256-xgbATzVzQQQvpsdUd959IgT3rlCqKcL3SyTlTIX0f5Y=";
+      };
+      "3.12-aarch64-linux" = getSrcFromPypi {
+        platform = "manylinux_2_17_aarch64.manylinux2014_aarch64";
+        dist = "cp312";
+        hash = "sha256-8gK4Th9oPWRnLdGXERRgCuLlw3NVhyhv+b+0MThfCOg=";
+      };
+      "3.12-aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp312";
+        hash = "sha256-9/jw/wr1oUD9pOadVAaMRL081iVMUXwVgnUMcG1UNvE=";
+      };
+      "3.12-x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_15_universal2";
+        dist = "cp312";
+        hash = "sha256-9/jw/wr1oUD9pOadVAaMRL081iVMUXwVgnUMcG1UNvE=";
+      };
+    };
+
+in buildPythonPackage {
+  pname = "pulsar-client";
+  inherit version;
+
+  format = "wheel";
+
+  src = Srcs."${pythonVersion}-${stdenv.hostPlatform.system}";
+
+  meta = with lib; {
+    description = "Client for pulsar";
+    homepage = "https://pypi.org/project/pulsar-client/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
index 91758650bba8..124b44f097cc 100644
--- a/pkgs/development/python-modules/s3transfer/default.nix
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -1,29 +1,38 @@
 { lib
+, stdenv
 , botocore
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
-, stdenv
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "s3transfer";
   version = "0.10.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "boto";
-    repo = pname;
+    repo = "s3transfer";
     rev = "refs/tags/${version}";
     hash = "sha256-21xycx1+84uY4gFr7N+ra98dpsEwxy9zeSl4QA66nUc=";
   };
 
-  propagatedBuildInputs = [ botocore ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    botocore
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   disabledTestPaths = [
     # Requires network access
@@ -32,12 +41,18 @@ buildPythonPackage rec {
   # There was a change in python 3.8 that defaults multiprocessing to spawn instead of fork on macOS
   # See https://bugs.python.org/issue33725 and https://github.com/python/cpython/pull/13603.
   # I suspect the underlying issue here is that upstream tests aren't compatible with spawn multiprocessing, and pass on linux where the default is still fork
-  lib.optionals stdenv.isDarwin [ "tests/unit/test_compat.py" ];
+  lib.optionals stdenv.isDarwin [
+    "tests/unit/test_compat.py"
+  ];
 
-  pythonImportsCheck = [ "s3transfer" ];
+  pythonImportsCheck = [
+    "s3transfer"
+  ];
 
   passthru.optional-dependencies = {
-    crt = [ botocore.optional-dependencies.crt ];
+    crt = [
+      botocore.optional-dependencies.crt
+    ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/thriftpy2/default.nix b/pkgs/development/python-modules/thriftpy2/default.nix
index 6d8c9c9f83d2..092a3d03b602 100644
--- a/pkgs/development/python-modules/thriftpy2/default.nix
+++ b/pkgs/development/python-modules/thriftpy2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "thriftpy2";
-  version = "0.4.16";
+  version = "0.4.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Thriftpy";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-o+h38NREnh14M23gyF2X2UdW7/spmHFo0rqvkKnmSRQ=";
+    hash = "sha256-u5k9dP6llfTjM745fRHvKC2vM7jd9D8lvPUsDcYx0EI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-beautifulsoup4/default.nix b/pkgs/development/python-modules/types-beautifulsoup4/default.nix
index 923d2e581f97..687dadc3eb65 100644
--- a/pkgs/development/python-modules/types-beautifulsoup4/default.nix
+++ b/pkgs/development/python-modules/types-beautifulsoup4/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-beautifulsoup4";
-  version = "4.12.0.20240106";
+  version = "4.12.0.20240229";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mNYomFtxsUC9O8IqjLCrYDwvLQjyDTeSWWXrSiFzm+g=";
+    hash = "sha256-435M+hGwOwF3VzLlbSwBDLJO4Qd4Yne65rwPo+MFtoY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-html5lib/default.nix b/pkgs/development/python-modules/types-html5lib/default.nix
index 7e5fbfe90251..996f8b4e5c3d 100644
--- a/pkgs/development/python-modules/types-html5lib/default.nix
+++ b/pkgs/development/python-modules/types-html5lib/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-html5lib";
-  version = "1.1.11.20240222";
+  version = "1.1.11.20240228";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2VF+xrovofYxE+KTClm2ByKpdsyYO5TX/XcvFIZeEVI=";
+    hash = "sha256-InNrcpnmBexLpTnUhpHpBf0MYcPqYQrMWZIiMtyEzt4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-lxml/default.nix b/pkgs/development/python-modules/types-lxml/default.nix
new file mode 100644
index 000000000000..21a8dc882161
--- /dev/null
+++ b/pkgs/development/python-modules/types-lxml/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, pyright
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
+, typeguard
+, types-beautifulsoup4
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "types-lxml";
+  version = "2024.02.09";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "abelcheung";
+    repo = "types-lxml";
+    rev = "refs/tags/${version}";
+    hash = "sha256-vmRbzfwlGGxd64KX8j4B3O9c7kg7hXSsCEYq3WAFdmk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    types-beautifulsoup4
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    lxml
+    pyright
+    pytestCheckHook
+    typeguard
+  ];
+
+  pythonImportsCheck = [
+    "lxml-stubs"
+  ];
+
+  disabledTests = [
+    # AttributeError: 'bytes' object has no attribute 'find_class'
+    # https://github.com/abelcheung/types-lxml/issues/34
+    "test_bad_methodfunc"
+    "test_find_class"
+    "test_find_rel_links"
+    "test_iterlinks"
+    "test_make_links_absolute"
+    "test_resolve_base_href"
+    "test_rewrite_links"
+  ];
+
+  meta = with lib; {
+    description = "Complete lxml external type annotation";
+    homepage = "https://github.com/abelcheung/types-lxml";
+    changelog = "https://github.com/abelcheung/types-lxml/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index a60ef454284d..b2c5f8477e81 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.2.8";
+  version = "3.2.24";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-Hd1YOzIH6v8N/oP2cJRUv6OkgOv9aSe7nkvzpsCN3rc=";
+    hash = "sha256-1v6Mft+FVEGXNQDiulpOvRy3KAD1JPkstjrURlL5r4o=";
   };
 
   patches = [
@@ -20,6 +20,8 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   pythonRelaxDeps = [
+    "boto3"
+    "botocore"
     "bc-detect-secrets"
     "bc-python-hcl2"
     "dpath"
diff --git a/pkgs/servers/monitoring/prometheus/exportarr/default.nix b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
index 1d56a749f33a..821baf91417c 100644
--- a/pkgs/servers/monitoring/prometheus/exportarr/default.nix
+++ b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "exportarr";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "onedr0p";
     repo = "exportarr";
     rev = "v${version}";
-    hash = "sha256-i5ia9GX/0wvLnIwSxZ50y3fTFHwkUzj00+NoEceXp84=";
+    hash = "sha256-Eacu8NeAAQqztzVpBhW1UeKQU+FBEJcx5+mcaByQid8=";
   };
 
-  vendorHash = "sha256-2gzHX7XHzgvZXWm7mfakxnsRfpEysQwnZ0mJocLyyoA=";
+  vendorHash = "sha256-lizPm/3hxKt7ZxKkhbwsj1nL8bWmE90QqRGxTqMSMAw=";
 
   subPackages = [ "cmd/exportarr" ];
 
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index 00c7ceeb70bd..ed44f89dc40f 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.68.2";
+  version = "3.68.3";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6gQoyVlLE+cXYwh8lTkL2giDhd3ETgETjT3XuEOwOU8=";
+    hash = "sha256-gX0NEXRFN9UFqtdKf/2MuqtFYfWQs0H0Foq+IPiMprU=";
   };
 
-  vendorHash = "sha256-D58WqqDwQo7fRubkGNRhD6g9ooKS9peb2qJJDRXgLtk=";
+  vendorHash = "sha256-2QHIdVi0hDWxACbzIp+OYSxCC/ZyM3CdhP0abVansBI=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b3f7679595d7..d2fceb9e64e6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2061,6 +2061,10 @@ self: super: with self; {
 
   chispa = callPackage ../development/python-modules/chispa { };
 
+  chroma-hnswlib = callPackage ../development/python-modules/chroma-hnswlib { };
+
+  chromadb = callPackage ../development/python-modules/chromadb { };
+
   chromaprint = callPackage ../development/python-modules/chromaprint { };
 
   ci-info = callPackage ../development/python-modules/ci-info { };
@@ -2922,6 +2926,8 @@ self: super: with self; {
 
   dirty-equals = callPackage ../development/python-modules/dirty-equals { };
 
+  dirtyjson = callPackage ../development/python-modules/dirtyjson { };
+
   discid = callPackage ../development/python-modules/discid { };
 
   discogs-client = callPackage ../development/python-modules/discogs-client { };
@@ -6670,6 +6676,46 @@ self: super: with self; {
 
   lizard = callPackage ../development/python-modules/lizard { };
 
+  llama-index = callPackage ../development/python-modules/llama-index { };
+
+  llama-index-agent-openai = callPackage ../development/python-modules/llama-index-agent-openai { };
+
+  llama-index-cli = callPackage ../development/python-modules/llama-index-cli { };
+
+  llama-index-core = callPackage ../development/python-modules/llama-index-core { };
+
+  llama-index-embeddings-gemini = callPackage ../development/python-modules/llama-index-embeddings-gemini { };
+
+  llama-index-embeddings-google = callPackage ../development/python-modules/llama-index-embeddings-google { };
+
+  llama-index-embeddings-openai = callPackage ../development/python-modules/llama-index-embeddings-openai { };
+
+  llama-index-indices-managed-llama-cloud = callPackage ../development/python-modules/llama-index-indices-managed-llama-cloud { };
+
+  llama-index-legacy = callPackage ../development/python-modules/llama-index-legacy { };
+
+  llama-index-llms-openai = callPackage ../development/python-modules/llama-index-llms-openai { };
+
+  llama-index-multi-modal-llms-openai = callPackage ../development/python-modules/llama-index-multi-modal-llms-openai { };
+
+  llama-index-program-openai = callPackage ../development/python-modules/llama-index-program-openai { };
+
+  llama-index-question-gen-openai = callPackage ../development/python-modules/llama-index-question-gen-openai { };
+
+  llama-index-readers-file = callPackage ../development/python-modules/llama-index-readers-file { };
+
+  llama-index-readers-json = callPackage ../development/python-modules/llama-index-readers-json { };
+
+  llama-index-readers-llama-parse = callPackage ../development/python-modules/llama-index-readers-llama-parse { };
+
+  llama-index-readers-weather = callPackage ../development/python-modules/llama-index-readers-weather { };
+
+  llama-index-vector-stores-chroma = callPackage ../development/python-modules/llama-index-vector-stores-chroma { };
+
+  llama-parse = callPackage ../development/python-modules/llama-parse { };
+
+  llamaindex-py-client = callPackage ../development/python-modules/llamaindex-py-client { };
+
   llfuse = callPackage ../development/python-modules/llfuse {
     inherit (pkgs) fuse;
   };
@@ -8887,6 +8933,8 @@ self: super: with self; {
 
   opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { };
 
+  opentelemetry-instrumentation-fastapi = callPackage ../development/python-modules/opentelemetry-instrumentation-fastapi { };
+
   opentelemetry-instrumentation-flask = callPackage ../development/python-modules/opentelemetry-instrumentation-flask { };
 
   opentelemetry-instrumentation-grpc = callPackage ../development/python-modules/opentelemetry-instrumentation-grpc { };
@@ -10091,6 +10139,8 @@ self: super: with self; {
 
   pulp = callPackage ../development/python-modules/pulp { };
 
+  pulsar-client = callPackage ../development/python-modules/pulsar-client { };
+
   pulsectl-asyncio = callPackage ../development/python-modules/pulsectl-asyncio { };
 
   pulsectl = callPackage ../development/python-modules/pulsectl { };
@@ -15750,6 +15800,8 @@ self: super: with self; {
 
   types-ipaddress = callPackage ../development/python-modules/types-ipaddress { };
 
+  types-lxml = callPackage ../development/python-modules/types-lxml { };
+
   types-markdown = callPackage ../development/python-modules/types-markdown { };
 
   types-mock = callPackage ../development/python-modules/types-mock { };