From a83b5f0aba2d6e536f642a4750544494bbe2a934 Mon Sep 17 00:00:00 2001 From: Chandrasekharan M Date: Wed, 21 Feb 2024 09:12:30 +0530 Subject: [PATCH 1/3] Removed unstract-connectors from deps Removed unused code - dbs, filesystems, documents and its test cases --- pdm.lock | 508 +------------------------------- pyproject.toml | 2 - src/unstract/sdk/dbs.py | 102 ------- src/unstract/sdk/documents.py | 360 ---------------------- src/unstract/sdk/file_system.py | 152 ---------- tests/test_dbs.py | 54 ---- tests/test_document.py | 69 ----- 7 files changed, 2 insertions(+), 1245 deletions(-) delete mode 100644 src/unstract/sdk/dbs.py delete mode 100644 src/unstract/sdk/documents.py delete mode 100644 src/unstract/sdk/file_system.py delete mode 100644 tests/test_dbs.py delete mode 100644 tests/test_document.py diff --git a/pdm.lock b/pdm.lock index cc419dd6..9485d516 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,40 +5,7 @@ groups = ["default", "docs", "lint", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:7e11a0af1f50a32e22fc083bb3d626cc7c6af46099eb29ff0fa1ddf6095f48da" - -[[package]] -name = "aiobotocore" -version = "2.5.4" -requires_python = ">=3.7" -summary = "Async client for aws services using botocore and aiohttp" -groups = ["default"] -dependencies = [ - "aiohttp<4.0.0,>=3.3.1", - "aioitertools<1.0.0,>=0.5.1", - "botocore<1.31.18,>=1.31.17", - "wrapt<2.0.0,>=1.10.10", -] -files = [ - {file = "aiobotocore-2.5.4-py3-none-any.whl", hash = "sha256:4b32218728ca3d0be83835b604603a0cd6c329066e884bb78149334267f92440"}, - {file = "aiobotocore-2.5.4.tar.gz", hash = "sha256:60341f19eda77e41e1ab11eef171b5a98b5dbdb90804f5334b6f90e560e31fae"}, -] - -[[package]] -name = "aiobotocore" -version = "2.5.4" -extras = ["boto3"] -requires_python = ">=3.7" -summary = "Async client for aws services using botocore and aiohttp" -groups = ["default"] -dependencies = [ - "aiobotocore==2.5.4", - "boto3<1.28.18,>=1.28.17", -] -files = [ - {file = "aiobotocore-2.5.4-py3-none-any.whl", hash = "sha256:4b32218728ca3d0be83835b604603a0cd6c329066e884bb78149334267f92440"}, - {file = "aiobotocore-2.5.4.tar.gz", hash = "sha256:60341f19eda77e41e1ab11eef171b5a98b5dbdb90804f5334b6f90e560e31fae"}, -] +content_hash = "sha256:6df51b68debdf631717c65271c302ece244036b4d0d7958a5064871fd7237254" [[package]] name = "aiohttp" @@ -103,20 +70,6 @@ files = [ {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, ] -[[package]] -name = "aioitertools" -version = "0.11.0" -requires_python = ">=3.6" -summary = "itertools and builtins for AsyncIO and mixed iterables" -groups = ["default"] -dependencies = [ - "typing-extensions>=4.0; python_version < \"3.10\"", -] -files = [ - {file = "aioitertools-0.11.0-py3-none-any.whl", hash = "sha256:04b95e3dab25b449def24d7df809411c10e62aab0cbe31a50ca4e68748c43394"}, - {file = "aioitertools-0.11.0.tar.gz", hash = "sha256:42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831"}, -] - [[package]] name = "aiosignal" version = "1.3.1" @@ -218,16 +171,6 @@ files = [ {file = "anyscale-0.5.165.tar.gz", hash = "sha256:a5581567bd191be21c929e9339a9becdd4ba64bc2206b6d087618e9353b15dde"}, ] -[[package]] -name = "appdirs" -version = "1.4.4" -summary = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -groups = ["default"] -files = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] - [[package]] name = "argon2-cffi" version = "23.1.0" @@ -275,16 +218,6 @@ files = [ {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, ] -[[package]] -name = "asn1crypto" -version = "1.5.1" -summary = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" -groups = ["default"] -files = [ - {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, - {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, -] - [[package]] name = "async-timeout" version = "4.0.3" @@ -466,54 +399,6 @@ files = [ {file = "botocore-1.31.17.tar.gz", hash = "sha256:396459065dba4339eb4da4ec8b4e6599728eb89b7caaceea199e26f7d824a41c"}, ] -[[package]] -name = "boxfs" -version = "0.2.1" -requires_python = ">=3.8,<4.0" -summary = "Implementation of fsspec for Box file storage" -groups = ["default"] -dependencies = [ - "boxsdk[jwt]<4.0,>=3.7", - "fsspec>=2023.4", -] -files = [ - {file = "boxfs-0.2.1-py3-none-any.whl", hash = "sha256:ae796c30309bd5a02654fff9eddf1ed320356225568fad0e109e1942beaef72a"}, - {file = "boxfs-0.2.1.tar.gz", hash = "sha256:c1889e12f53be3216b44f088237ac0f367a7a759a53b01b0c0edf2b3d694e50f"}, -] - -[[package]] -name = "boxsdk" -version = "3.9.2" -summary = "Official Box Python SDK" -groups = ["default"] -dependencies = [ - "attrs>=17.3.0", - "python-dateutil", - "requests-toolbelt>=0.4.0", - "requests<3,>=2.4.3", - "urllib3", -] -files = [ - {file = "boxsdk-3.9.2-py2.py3-none-any.whl", hash = "sha256:44087bc208d3082e0a791f98e491c2eccc61cd5123cedc96e52d089e12c5f410"}, - {file = "boxsdk-3.9.2.tar.gz", hash = "sha256:10e23e2f82e9cff2b2e501b7ca7ffe7bac0e280d1cd4b2983dea95f826e3008b"}, -] - -[[package]] -name = "boxsdk" -version = "3.9.2" -extras = ["jwt"] -summary = "Official Box Python SDK" -groups = ["default"] -dependencies = [ - "boxsdk==3.9.2", - "cryptography>=3", - "pyjwt>=1.7.0", -] -files = [ - {file = "boxsdk-3.9.2-py2.py3-none-any.whl", hash = "sha256:44087bc208d3082e0a791f98e491c2eccc61cd5123cedc96e52d089e12c5f410"}, - {file = "boxsdk-3.9.2.tar.gz", hash = "sha256:10e23e2f82e9cff2b2e501b7ca7ffe7bac0e280d1cd4b2983dea95f826e3008b"}, -] - [[package]] name = "cachetools" version = "5.3.2" @@ -808,36 +693,6 @@ files = [ {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] -[[package]] -name = "dropbox" -version = "11.36.2" -summary = "Official Dropbox API Client" -groups = ["default"] -dependencies = [ - "requests>=2.16.2", - "six>=1.12.0", - "stone>=2", -] -files = [ - {file = "dropbox-11.36.2-py3-none-any.whl", hash = "sha256:a21e4d2bcbeb1d8067ff87969aea48792c9a8266182491153feff2be9c1b9c8f"}, - {file = "dropbox-11.36.2.tar.gz", hash = "sha256:d48d3d16d486c78b11c14a1c4a28a2611fbf5a0d0a358b861bfd9482e603c500"}, -] - -[[package]] -name = "dropboxdrivefs" -version = "1.3.1" -requires_python = ">=3.5" -summary = "Dropbox implementation for fsspec module" -groups = ["default"] -dependencies = [ - "dropbox", - "fsspec", - "requests", -] -files = [ - {file = "dropboxdrivefs-1.3.1.tar.gz", hash = "sha256:892ee9017c59648736d79c3989cadb9e129b469fcec0c68d12e42bd6826a962d"}, -] - [[package]] name = "environs" version = "9.5.0" @@ -1024,16 +879,6 @@ files = [ {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, ] -[[package]] -name = "funcy" -version = "2.0" -summary = "A fancy and practical functional tools" -groups = ["default"] -files = [ - {file = "funcy-2.0-py2.py3-none-any.whl", hash = "sha256:53df23c8bb1651b12f095df764bfb057935d49537a56de211b098f4c79614bb0"}, - {file = "funcy-2.0.tar.gz", hash = "sha256:3963315d59d41c6f30c04bc910e10ab50a3ac4a225868bfa96feed133df075cb"}, -] - [[package]] name = "gitdb" version = "4.0.11" @@ -1114,24 +959,6 @@ files = [ {file = "google_api_core-2.17.1-py3-none-any.whl", hash = "sha256:610c5b90092c360736baccf17bd3efbcb30dd380e7a6dc28a71059edb8bd0d8e"}, ] -[[package]] -name = "google-api-python-client" -version = "2.118.0" -requires_python = ">=3.7" -summary = "Google API Client Library for Python" -groups = ["default"] -dependencies = [ - "google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0,>=1.31.5", - "google-auth-httplib2>=0.1.0", - "google-auth<3.0.0.dev0,>=1.19.0", - "httplib2<1.dev0,>=0.15.0", - "uritemplate<5,>=3.0.1", -] -files = [ - {file = "google-api-python-client-2.118.0.tar.gz", hash = "sha256:ebf4927a3f5184096647be8f705d090e7f06d48ad82b0fa431a2fe80c2cbe182"}, - {file = "google_api_python_client-2.118.0-py2.py3-none-any.whl", hash = "sha256:9d83b178496b180e058fd206ebfb70ea1afab49f235dd326f557513f56f496d5"}, -] - [[package]] name = "google-auth" version = "2.20.0" @@ -1150,20 +977,6 @@ files = [ {file = "google_auth-2.20.0-py2.py3-none-any.whl", hash = "sha256:23b7b0950fcda519bfb6692bf0d5289d2ea49fc143717cc7188458ec620e63fa"}, ] -[[package]] -name = "google-auth-httplib2" -version = "0.2.0" -summary = "Google Authentication Library: httplib2 transport" -groups = ["default"] -dependencies = [ - "google-auth", - "httplib2>=0.19.0", -] -files = [ - {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, - {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, -] - [[package]] name = "google-cloud-aiplatform" version = "1.40.0" @@ -1241,24 +1054,6 @@ files = [ {file = "google_cloud_resource_manager-1.12.1-py2.py3-none-any.whl", hash = "sha256:6a0b97886998fb076a71a7e9679a1187f6bed97519e0dff13352e7946513d458"}, ] -[[package]] -name = "google-cloud-secret-manager" -version = "2.16.1" -requires_python = ">=3.7" -summary = "Google Cloud Secret Manager API client library" -groups = ["default"] -dependencies = [ - "google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0", - "grpc-google-iam-v1<1.0.0dev,>=0.12.4", - "proto-plus<2.0.0dev,>=1.22.0", - "proto-plus<2.0.0dev,>=1.22.2; python_version >= \"3.11\"", - "protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5", -] -files = [ - {file = "google-cloud-secret-manager-2.16.1.tar.gz", hash = "sha256:149d11ce9be7ea81d4ac3544d3fcd4c716a9edb2cb775d9c075231570b079fbb"}, - {file = "google_cloud_secret_manager-2.16.1-py2.py3-none-any.whl", hash = "sha256:dad28c24921fb62961aafe808be0e7935a99096f03ac29eeeefa04b85534c1f3"}, -] - [[package]] name = "google-cloud-storage" version = "2.9.0" @@ -2514,22 +2309,12 @@ name = "platformdirs" version = "3.11.0" requires_python = ">=3.7" summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -groups = ["default", "lint"] +groups = ["lint"] files = [ {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] -[[package]] -name = "ply" -version = "3.11" -summary = "Python Lex & Yacc" -groups = ["default"] -files = [ - {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, - {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, -] - [[package]] name = "portalocker" version = "2.8.2" @@ -2850,42 +2635,6 @@ files = [ {file = "pydantic_core-2.16.2.tar.gz", hash = "sha256:0ba503850d8b8dcc18391f10de896ae51d37fe5fe43dbfb6a35c5c5cad271a06"}, ] -[[package]] -name = "pydrive2" -version = "1.15.4" -requires_python = ">=3.7" -summary = "Google Drive API made easy. Maintained fork of PyDrive." -groups = ["default"] -dependencies = [ - "PyYAML>=3.0", - "google-api-python-client>=1.12.5", - "oauth2client>=4.0.0", - "pyOpenSSL>=19.1.0", -] -files = [ - {file = "PyDrive2-1.15.4-py3-none-any.whl", hash = "sha256:91fe28e5f094a6dfff834495c4aee0041cbef979467ad27cd0d4b1f91afa8869"}, - {file = "PyDrive2-1.15.4.tar.gz", hash = "sha256:0c011b74ebc24f3c6ca72820626b77f1dfe0ae88f5740c5a5cf96e83dd79ba99"}, -] - -[[package]] -name = "pydrive2" -version = "1.15.4" -extras = ["fsspec"] -requires_python = ">=3.7" -summary = "Google Drive API made easy. Maintained fork of PyDrive." -groups = ["default"] -dependencies = [ - "PyDrive2==1.15.4", - "appdirs>=1.4.3", - "fsspec>=2021.07.0", - "funcy>=1.14", - "tqdm>=4.0.0", -] -files = [ - {file = "PyDrive2-1.15.4-py3-none-any.whl", hash = "sha256:91fe28e5f094a6dfff834495c4aee0041cbef979467ad27cd0d4b1f91afa8869"}, - {file = "PyDrive2-1.15.4.tar.gz", hash = "sha256:0c011b74ebc24f3c6ca72820626b77f1dfe0ae88f5740c5a5cf96e83dd79ba99"}, -] - [[package]] name = "pyflakes" version = "3.0.1" @@ -2908,17 +2657,6 @@ files = [ {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] -[[package]] -name = "pyjwt" -version = "2.8.0" -requires_python = ">=3.7" -summary = "JSON Web Token implementation in Python" -groups = ["default"] -files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, -] - [[package]] name = "pymilvus" version = "2.3.4" @@ -2940,55 +2678,6 @@ files = [ {file = "pymilvus-2.3.4.tar.gz", hash = "sha256:4b5fdabb15901b63a6afbccb6af9ded5c0a05ccd657189e1658710ac73f09f80"}, ] -[[package]] -name = "pymssql" -version = "2.2.8" -summary = "DB-API interface to Microsoft SQL Server for Python. (new Cython-based version)" -groups = ["default"] -files = [ - {file = "pymssql-2.2.8-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bfd7b8edef78097ccd3f52ac3f3a5c3cf0019f8a280f306cacbbb165caaf63"}, - {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:049f2e3de919e8e02504780a21ebbf235e21ca8ed5c7538c5b6e705aa6c43d8c"}, - {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dd86d8e3e346e34f3f03d12e333747b53a1daa74374a727f4714d5b82ee0dd5"}, - {file = "pymssql-2.2.8-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:508226a0df7cb6faeda9f8e84e85743690ca427d7b27af9a73d75fcf0c1eef6e"}, - {file = "pymssql-2.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:47859887adeaf184766b5e0bc845dd23611f3808f9521552063bb36eabc10092"}, - {file = "pymssql-2.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d873e553374d5b1c57fe1c43bb75e3bcc2920678db1ef26f6bfed396c7d21b30"}, - {file = "pymssql-2.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf31b8b76634c826a91f9999e15b7bfb0c051a0f53b319fd56481a67e5b903bb"}, - {file = "pymssql-2.2.8-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:821945c2214fe666fd456c61e09a29a00e7719c9e136c801bffb3a254e9c579b"}, - {file = "pymssql-2.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:cc85b609b4e60eac25fa38bbac1ff854fd2c2a276e0ca4a3614c6f97efb644bb"}, - {file = "pymssql-2.2.8-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:895041edd002a2e91d8a4faf0906b6fbfef29d9164bc6beb398421f5927fa40e"}, - {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6b2d9c6d38a416c6f2db36ff1cd8e69f9a5387a46f9f4f612623192e0c9404b1"}, - {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63d6f25cf40fe6a03c49be2d4d337858362b8ab944d6684c268e4990807cf0c"}, - {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c83ad3ad20951f3a94894b354fa5fa9666dcd5ebb4a635dad507c7d1dd545833"}, - {file = "pymssql-2.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3933f7f082be74698eea835df51798dab9bc727d94d3d280bffc75ab9265f890"}, - {file = "pymssql-2.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:de313375b90b0f554058992f35c4a4beb3f6ec2f5912d8cd6afb649f95b03a9f"}, - {file = "pymssql-2.2.8.tar.gz", hash = "sha256:9baefbfbd07d0142756e2dfcaa804154361ac5806ab9381350aad4e780c3033e"}, -] - -[[package]] -name = "pymysql" -version = "1.1.0" -requires_python = ">=3.7" -summary = "Pure Python MySQL Driver" -groups = ["default"] -files = [ - {file = "PyMySQL-1.1.0-py3-none-any.whl", hash = "sha256:8969ec6d763c856f7073c4c64662882675702efcb114b4bcbb955aea3a069fa7"}, - {file = "PyMySQL-1.1.0.tar.gz", hash = "sha256:4f13a7df8bf36a51e81dd9f3605fede45a4878fe02f9236349fd82a3f0612f96"}, -] - -[[package]] -name = "pyopenssl" -version = "23.3.0" -requires_python = ">=3.7" -summary = "Python wrapper module around the OpenSSL library" -groups = ["default"] -dependencies = [ - "cryptography<42,>=41.0.5", -] -files = [ - {file = "pyOpenSSL-23.3.0-py3-none-any.whl", hash = "sha256:6756834481d9ed5470f4a9393455154bc92fe7a64b7bc6ee2c804e78c52099b2"}, - {file = "pyOpenSSL-23.3.0.tar.gz", hash = "sha256:6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12"}, -] - [[package]] name = "pyparsing" version = "3.1.1" @@ -3287,20 +2976,6 @@ files = [ {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -summary = "A utility belt for advanced users of python-requests" -groups = ["default"] -dependencies = [ - "requests<3.0.0,>=2.0.1", -] -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - [[package]] name = "rich" version = "13.7.0" @@ -3412,38 +3087,6 @@ files = [ {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, ] -[[package]] -name = "s3fs" -version = "2023.6.0" -requires_python = ">= 3.8" -summary = "Convenient Filesystem interface over S3" -groups = ["default"] -dependencies = [ - "aiobotocore~=2.5.0", - "aiohttp!=4.0.0a0,!=4.0.0a1", - "fsspec==2023.6.0", -] -files = [ - {file = "s3fs-2023.6.0-py3-none-any.whl", hash = "sha256:d1a0a423d0d2e17fb2a193d9531935dc3f45ba742693448a461b6b34f6a92a24"}, - {file = "s3fs-2023.6.0.tar.gz", hash = "sha256:63fd8ddf05eb722de784b7b503196107f2a518061298cf005a8a4715b4d49117"}, -] - -[[package]] -name = "s3fs" -version = "2023.6.0" -extras = ["boto3"] -requires_python = ">= 3.8" -summary = "Convenient Filesystem interface over S3" -groups = ["default"] -dependencies = [ - "aiobotocore[boto3]~=2.5.0", - "s3fs==2023.6.0", -] -files = [ - {file = "s3fs-2023.6.0-py3-none-any.whl", hash = "sha256:d1a0a423d0d2e17fb2a193d9531935dc3f45ba742693448a461b6b34f6a92a24"}, - {file = "s3fs-2023.6.0.tar.gz", hash = "sha256:63fd8ddf05eb722de784b7b503196107f2a518061298cf005a8a4715b4d49117"}, -] - [[package]] name = "s3transfer" version = "0.6.2" @@ -3620,91 +3263,6 @@ files = [ {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, ] -[[package]] -name = "snowflake-connector-python" -version = "3.6.0" -requires_python = ">=3.8" -summary = "Snowflake Connector for Python" -groups = ["default"] -dependencies = [ - "asn1crypto<2.0.0,>0.24.0", - "certifi>=2017.4.17", - "cffi<2.0.0,>=1.9", - "charset-normalizer<4,>=2", - "cryptography<42.0.0,>=3.1.0", - "filelock<4,>=3.5", - "idna<4,>=2.5", - "packaging", - "platformdirs<4.0.0,>=2.6.0", - "pyOpenSSL<24.0.0,>=16.2.0", - "pyjwt<3.0.0", - "pytz", - "requests<3.0.0", - "sortedcontainers>=2.4.0", - "tomlkit", - "typing-extensions<5,>=4.3", - "urllib3<2.0.0,>=1.21.1; python_version < \"3.10\"", -] -files = [ - {file = "snowflake-connector-python-3.6.0.tar.gz", hash = "sha256:15667a918780d79da755e6a60bbf6918051854951e8f56ccdf5692283e9a8479"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4093b38cf9abf95c38119f0b23b07e23dc7a8689b956cd5d34975e1875741f20"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:cf5a964fe01b177063f8c44d14df3a72715580bcd195788ec2822090f37330a5"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55a6418cec585b050e6f05404f25e62b075a3bbea587dc1f903de15640565c58"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c76aea92b87f6ecd604e9c934aac8a779f2e20f3be1d990d53bb5b6d87b009"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:9dfcf178271e892e64e4092b9e011239a066ce5de848afd2efe3f13197a9f8b3"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4916f9b4a0efd7c96d1fa50a157e05907b6935f91492cca7f200b43cc178a25e"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:f15024c66db5e87d359216ec733a2974d7562aa38f3f18c8b6e65489839e00d7"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcbd3102f807ebbbae52b1b5683d45cd7b3dcb0eaec131233ba6b156e8d70fa4"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7662e2de25b885abe08ab866cf7c7b026ad1af9faa39c25e2c25015ef807abe3"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:d1fa102f55ee166cc766aeee3f9333b17b4bede6fb088eee1e1f022df15b6d81"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf8c1ad5aab5304fefa2a4178061a24c96da45e3e3db9d901621e9953e005402"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1058ab5c98cc62fde8b3f021f0a5076cb7865b5cdab8a9bccde0df88b9e91334"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b93f55989f80d69278e0f40a7a1c0e737806b7c0ddb0351513a752b837243e8"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50dd954ea5918d3242ded69225b72f701963cd9c043ee7d9ab35dc22211611c8"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4ad42613b87f31441d07a8ea242f4c28ed5eb7b6e05986f9e94a7e44b96d3d1e"}, -] - -[[package]] -name = "snowflake-connector-python" -version = "3.6.0" -extras = ["pandas"] -requires_python = ">=3.8" -summary = "Snowflake Connector for Python" -groups = ["default"] -dependencies = [ - "pandas<2.2.0,>=1.0.0", - "pyarrow", - "snowflake-connector-python==3.6.0", -] -files = [ - {file = "snowflake-connector-python-3.6.0.tar.gz", hash = "sha256:15667a918780d79da755e6a60bbf6918051854951e8f56ccdf5692283e9a8479"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4093b38cf9abf95c38119f0b23b07e23dc7a8689b956cd5d34975e1875741f20"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:cf5a964fe01b177063f8c44d14df3a72715580bcd195788ec2822090f37330a5"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55a6418cec585b050e6f05404f25e62b075a3bbea587dc1f903de15640565c58"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c76aea92b87f6ecd604e9c934aac8a779f2e20f3be1d990d53bb5b6d87b009"}, - {file = "snowflake_connector_python-3.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:9dfcf178271e892e64e4092b9e011239a066ce5de848afd2efe3f13197a9f8b3"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4916f9b4a0efd7c96d1fa50a157e05907b6935f91492cca7f200b43cc178a25e"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:f15024c66db5e87d359216ec733a2974d7562aa38f3f18c8b6e65489839e00d7"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcbd3102f807ebbbae52b1b5683d45cd7b3dcb0eaec131233ba6b156e8d70fa4"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7662e2de25b885abe08ab866cf7c7b026ad1af9faa39c25e2c25015ef807abe3"}, - {file = "snowflake_connector_python-3.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:d1fa102f55ee166cc766aeee3f9333b17b4bede6fb088eee1e1f022df15b6d81"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf8c1ad5aab5304fefa2a4178061a24c96da45e3e3db9d901621e9953e005402"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1058ab5c98cc62fde8b3f021f0a5076cb7865b5cdab8a9bccde0df88b9e91334"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b93f55989f80d69278e0f40a7a1c0e737806b7c0ddb0351513a752b837243e8"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50dd954ea5918d3242ded69225b72f701963cd9c043ee7d9ab35dc22211611c8"}, - {file = "snowflake_connector_python-3.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:4ad42613b87f31441d07a8ea242f4c28ed5eb7b6e05986f9e94a7e44b96d3d1e"}, -] - -[[package]] -name = "sortedcontainers" -version = "2.4.0" -summary = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -groups = ["default"] -files = [ - {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, - {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, -] - [[package]] name = "soupsieve" version = "2.5" @@ -3805,20 +3363,6 @@ files = [ {file = "SQLAlchemy-2.0.26.tar.gz", hash = "sha256:e1bcd8fcb30305e27355d553608c2c229d3e589fb7ff406da7d7e5d50fa14d0d"}, ] -[[package]] -name = "stone" -version = "3.3.1" -summary = "Stone is an interface description language (IDL) for APIs." -groups = ["default"] -dependencies = [ - "ply>=3.4", - "six>=1.12.0", -] -files = [ - {file = "stone-3.3.1-py3-none-any.whl", hash = "sha256:e15866fad249c11a963cce3bdbed37758f2e88c8ff4898616bc0caeb1e216047"}, - {file = "stone-3.3.1.tar.gz", hash = "sha256:4ef0397512f609757975f7ec09b35639d72ba7e3e17ce4ddf399578346b4cb50"}, -] - [[package]] name = "storage3" version = "0.7.0" @@ -4059,17 +3603,6 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] -[[package]] -name = "tomlkit" -version = "0.12.3" -requires_python = ">=3.7" -summary = "Style preserving TOML library" -groups = ["default"] -files = [ - {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, - {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, -] - [[package]] name = "tqdm" version = "4.66.2" @@ -4260,43 +3793,6 @@ files = [ {file = "unstract_adapters-0.1.1.tar.gz", hash = "sha256:d2bb682469dbef7155cdca828bb6884bbe16cf2b644bda86207db5d75aee68da"}, ] -[[package]] -name = "unstract-connectors" -version = "0.0.3" -requires_python = ">=3.9" -summary = "All connectors that are part of the Unstract platform" -groups = ["default"] -dependencies = [ - "PyDrive2[fsspec]==1.15.4", - "PyMySQL==1.1.0", - "boxfs==0.2.1", - "dropboxdrivefs==1.3.1", - "google-auth==2.20.0", - "google-cloud-bigquery==3.11.4", - "google-cloud-secret-manager==2.16.1", - "google-cloud-storage==2.9.0", - "oauth2client==4.1.3", - "psycopg2-binary==2.9.9", - "pymssql==2.2.8", - "s3fs[boto3]==2023.6.0", - "snowflake-connector-python[pandas]~=3.6.0", -] -files = [ - {file = "unstract_connectors-0.0.3-py3-none-any.whl", hash = "sha256:91f49837580faf2241e22086661a8ea32dd0484d61fdf6e08176c371e8d01d8c"}, - {file = "unstract_connectors-0.0.3.tar.gz", hash = "sha256:9a974a87449cd5df60f9bfacb5d6c41abe97e18b4b18a1a5d0220c85bb564527"}, -] - -[[package]] -name = "uritemplate" -version = "4.1.1" -requires_python = ">=3.6" -summary = "Implementation of RFC 6570 URI Templates" -groups = ["default"] -files = [ - {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, - {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, -] - [[package]] name = "urllib3" version = "1.26.18" diff --git a/pyproject.toml b/pyproject.toml index 0429993d..0a93f14c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,8 +10,6 @@ authors = [ {name = "Zipstack Inc", email = "devsupport@zipstack.com"}, ] dependencies = [ - # Deprecated dependency - "unstract-connectors~=0.0.2", # Specs and validation "jsonschema~=4.18.2", "python-magic~=0.4.27", diff --git a/src/unstract/sdk/dbs.py b/src/unstract/sdk/dbs.py deleted file mode 100644 index 1da09959..00000000 --- a/src/unstract/sdk/dbs.py +++ /dev/null @@ -1,102 +0,0 @@ -from typing import Any - -import requests -from unstract.connectors.constants import Common -from unstract.connectors.databases import connectors -from unstract.connectors.databases.unstract_db import UnstractDB -from unstract.sdk.constants import Connector, ConnectorKeys, LogLevel -from unstract.sdk.platform import PlatformBase -from unstract.sdk.tool.base import BaseTool - - -class ToolDB(PlatformBase): - """Class to handle DB connectors for Unstract Tools. - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - """ - - def __init__( - self, - tool: BaseTool, - platform_host: str, - platform_port: str, - ) -> None: - """ - Args: - tool (AbstractTool): Instance of AbstractTool - platform_host (str): Host of platform service - platform_port (str): Port of platform service - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - - The platform_host and platform_port are the - host and port of the platform service. - """ - super().__init__( - tool=tool, platform_host=platform_host, platform_port=platform_port - ) - self.db_connectors = connectors - - def get_engine(self, tool_instance_id: str) -> Any: - """Get DB engine - 1. Get the connection settings from platform service - using the tool_instance_id - 2. Create UnstractFileSystem based object using the settings - 2.1 Find the type of the database (From Connector Registry) - 2.2 Create the object using the type - (derived class of UnstractFileSystem) - 3. Send Object.get_fsspec_fs() to the caller - - Args: - tool_instance_id (str): tool Instance Id - - Returns: - Any: _description_ - """ - - url = f"{self.base_url}/connector_instance/{Connector.DATABASE}" - query_params = { - ConnectorKeys.TOOL_INSTANCE_ID: tool_instance_id, - } - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.get(url, headers=headers, params=query_params) - if response.status_code == 200: - connector_data: dict[str, Any] = response.json() - connector_id = connector_data.get(ConnectorKeys.CONNECTOR_ID) - connector_instance_id = connector_data.get(ConnectorKeys.ID) - settings = connector_data.get(ConnectorKeys.CONNECTOR_METADATA) - self.tool.stream_log( - "Successfully retrieved connector settings " - f"for connector: {connector_instance_id}" - ) - if connector_id in self.db_connectors: - connector = self.db_connectors[connector_id][Common.METADATA][ - Common.CONNECTOR - ] - connector_class: UnstractDB = connector(settings) - return connector_class.get_engine() - else: - self.tool.stream_log( - f"Engine not found for connector: {connector_id}", - level=LogLevel.ERROR, - ) - return None - - elif response.status_code == 404: - self.tool.stream_log( - f"Connector not found for tool instance {tool_instance_id}", - level=LogLevel.ERROR, - ) - return None - - else: - self.tool.stream_log( - ( - f"Error while retrieving connector " - "for tool instance: " - f"{tool_instance_id} / {response.reason}" - ), - level=LogLevel.ERROR, - ) - return None diff --git a/src/unstract/sdk/documents.py b/src/unstract/sdk/documents.py deleted file mode 100644 index 5f945e8e..00000000 --- a/src/unstract/sdk/documents.py +++ /dev/null @@ -1,360 +0,0 @@ -from typing import Any, Optional - -import requests -from unstract.connectors.filesystems.unstract_file_system import ( - AbstractFileSystem, -) -from unstract.sdk.constants import LogLevel -from unstract.sdk.platform import PlatformBase -from unstract.sdk.tool.base import BaseTool - - -class ToolDocs(PlatformBase): - """Class to handle documents for Unstract Tools. - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - """ - - def __init__(self, tool: BaseTool, platform_host: str, platform_port: int): - """ - Args: - tool (AbstractTool): Instance of AbstractTool - platform_host (str): The host of the platform. - platform_port (int): The port of the platform. - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - - The platform_host and platform_port are the host and - port of the platform service. - - """ - super().__init__( - tool=tool, platform_host=platform_host, platform_port=platform_port - ) - - def _upload_file( - self, file_path: str, fsspec_obj: AbstractFileSystem - ) -> dict[str, Any]: - """Uploads a file to the platform service for further processing. - - Args: - file_path (str): Path to file to upload - fsspec_obj (AbstractFileSystem): Fsspec object that's configured - to access the file - - Returns: - dict: The result of the upload operation. - - Notes: - Sample return dict: - { - "status": "OK", - "error": "", - "cost": 0, - "unique_file_id": "9b44826ff1ed4dfd5dda762776acd4dd" - } - """ - result = { - "status": "ERROR", - "error": "", - "cost": 0, - "unique_file_id": "", - } - headers = {"Authorization": f"Bearer {self.bearer_token}"} - # Upload file to platform - url = f"{self.base_url}/upload" - try: - with fsspec_obj.open(file_path, "rb") as file: - files = {"file": (file_path, file)} - response = requests.post(url, files=files, headers=headers) - if response.status_code == 200: - self.tool.stream_log( - f"Successfully uploaded file: {file_path}" - ) - else: - self.tool.stream_log( - "Error while uploading file: " - f"{file_path} / {response.text}", - level=LogLevel.ERROR, - ) - result["error"] = response.text - return result - result["status"] = "OK" - result["unique_file_id"] = response.json()["upload_file_id"] - except Exception as e: - self.tool.stream_log( - f"Error while uploading file: {file_path} / {e}", - level=LogLevel.ERROR, - ) - result["error"] = str(e) - return result - self.tool.stream_log(f"Uploaded file ID: {result['unique_file_id']}") - return result - - # def index_file( - # self, - # workflow_id: str, - # embedding_type: str, - # vector_db: str, - # file_path: str, - # fsspec_obj: AbstractFileSystem, - # overwrite: bool = False, - # ) -> dict: - # """Indexes a file to the platform. - - # Args: - # workflow_id (str): The workflow id. - # embedding_type (str): The embedding type. - # Supported values: - # - "Azure OpenAI" - # vector_db (str): The vector db. - # Supported values: - # - "Postgres pg_vector" - # file_path (str): The path to the file to index. - # overwrite (bool): Whether to overwrite the file if it already - # exists. The default is False. - - # Returns: - # dict: The result of the indexing operation. - - # Notes: - # Sample return dict: - # { - # "status": "OK", - # "error": "", - # "cost": 746, - # "unique_file_id": "9b44826ff1ed4dfd5dda762776acd4dd" - # } - # """ - # result = {"status": "ERROR", "error": "", "cost": 0, "unique_file_id": ""} # noqa: E501 - # upload_result = self._upload_file(file_path=file_path, fsspec_obj=fsspec_obj) # noqa: E501 - # if upload_result["status"] == "ERROR": - # return upload_result - # upload_file_id = upload_result["unique_file_id"] - # self.tool.stream_log(f"Indexing file: {file_path}") - - # payload = { - # "workflow_id": workflow_id, - # "upload_file_id": upload_file_id, - # "embedding_type": embedding_type, - # "vector_db": vector_db, - # "file_path": file_path, - # } - # url = f"{self.base_url}/indexer?overwrite={overwrite}" - # headers = {"Authorization": f"Bearer {self.bearer_token}"} - # response = requests.post(url, json=payload, headers=headers) - # if response.status_code == 200: - # self.tool.stream_log(f"Successfully indexed file: {file_path}") - # result["status"] = "OK" - # result["cost"] = response.json()["cost"] - # result["unique_file_id"] = response.json()["unique_file_id"] - # return result - # else: - # self.tool.stream_log( - # f"Error while indexing file: {file_path} / {response.text}", - # level=LogLevel.ERROR, - # ) - # result["error"] = response.text - # return result - - def insert( - self, - workflow_id: str, - unique_file_id: str, - filename: str, - filetype: str, - summary: str, - embedding_tokens: int, - llm_tokens: int, - vector_db: str, - ): - """Inserts data for a document into the platform. - - Notes: - - This method is typically called by the tool's index() method. - It is not typically called directly. - - Args: - workflow_id (str): The project id. - unique_file_id (str): The unique file id. - filename (str): The filename. - filetype (str): The filetype. Example: "application/pdf" - summary (str): The summary. Note: Currently not used. - embedding_tokens (int): The number of tokens used for the embedding. - llm_tokens (int): The number of tokens used for the LLM. - vector_db (str): The vector db. - Supported values: - - "Postgres pg_vector" - - Returns: - bool: Whether the operation was successful. - """ - url = f"{self.base_url}/document" - json = { - "workflow_id": workflow_id, - "unique_file_id": unique_file_id, - "filename": filename, - "filetype": filetype, - "summary": summary, - "embedding_tokens": embedding_tokens, - "llm_tokens": llm_tokens, - "vector_db": vector_db, - } - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.post(url, json=json, headers=headers) - - if response.status_code == 200: - self.tool.stream_log( - f"Successfully inserted data for key: {unique_file_id}" - ) - return True - else: - self.tool.stream_log( - f"Error while inserting data for key: {unique_file_id} " - f"/ {response.reason} / {response.text}", - level=LogLevel.ERROR, - ) - return False - - def get(self, workflow_id: str, unique_file_id: str) -> Optional[dict]: - """Retrieves data for a document from the platform. - - Args: - workflow_id (str): The project id. - unique_file_id (str): The unique file id. - - Returns: - Optional[dict]: The data for the document. - """ - url = ( - f"{self.base_url}/document?workflow_id={workflow_id}" - f"&unique_file_id={unique_file_id}" - ) - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.get(url, headers=headers) - - if response.status_code == 200: - self.tool.stream_log( - f"Successfully retrieved data for key: {unique_file_id}" - ) - return response.json() - elif response.status_code == 404: - self.tool.stream_log( - f"Data not found for key: {unique_file_id}", level=LogLevel.WARN - ) - return None - else: - self.tool.stream_log( - "Error while retrieving data for key: " - f"{unique_file_id} / {response.reason}", - level=LogLevel.ERROR, - ) - return None - - def delete(self, workflow_id: str, unique_file_id: str): - """Deletes data for a document from the platform. - - Notes: - - This method is used internally. Do not call this method directly - unless you know what you are doing. - - Args: - workflow_id (str): The project id. - unique_file_id (str): The unique file id. - - Returns: - bool: Whether the operation was successful. - """ - url = ( - f"{self.base_url}/document?workflow_id={workflow_id}" - f"&unique_file_id={unique_file_id}" - ) - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.delete(url, headers=headers) - - if response.status_code == 200: - self.tool.stream_log( - f"Successfully deleted data for key: {unique_file_id}" - ) - return True - else: - self.tool.stream_log( - "Error while deleting data for key: " - f"{unique_file_id} / {response.reason}", - level=LogLevel.ERROR, - ) - return False - - def answer_prompt( - self, - workflow_id: str, - embedding_type: str, - vector_db: str, - file_path: str, - fsspec_obj: AbstractFileSystem, - prompt: dict[str, str], - ) -> dict: - """Fetches answers from the indexed document for the passed questions. - Args: - workflow_id (str): The project id. - embedding_type (str): The embedding type. - Supported values: - - "Azure OpenAI" - vector_db (str): The vector db. - Supported values: - - "Postgres pg_vector" - file_path (str): The path to the file to index. - prompt (dict): Dict storing the key value pairs of the prompts - Returns: - Dict: Key value pairs of the question and the corresponding keys - Notes: - Sample return dict: - { - "status": "OK", - "error": "", - "cost": 746, - "answers" : "", - "unique_file_id" : "", - } - """ - result = { - "status": "ERROR", - "error": "", - "cost": 0, - "unique_file_id": "", - } - upload_result = self._upload_file( - file_path=file_path, fsspec_obj=fsspec_obj - ) - if upload_result["status"] == "ERROR": - return upload_result - # Load Index - payload = { - "workflow_id": workflow_id, - "embedding_type": embedding_type, - "vector_db": vector_db, - "file_path": file_path, - "prompt": prompt, - } - self.tool.stream_log("Loading index and Fetching answers") - url = f"{self.base_url}/prompt-responder" - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.post(url, json=payload, headers=headers) - if response.status_code == 200: - self.tool.stream_log( - f"Successfully fetched response for the prompt : {prompt}" - ) - result["status"] = "OK" - result["answers"] = response.json()["answers"] - result["unique_file_id"] = response.json()["unique_file_id"] - result["cost"] = response.json()["cost"] - return result - else: - self.tool.stream_log( - "Error while loading indexed file and fetching response " - f"for the prompt: {file_path} / {response.text}", - level="ERROR", - ) - result["error"] = response.text - return result diff --git a/src/unstract/sdk/file_system.py b/src/unstract/sdk/file_system.py deleted file mode 100644 index 27885a3c..00000000 --- a/src/unstract/sdk/file_system.py +++ /dev/null @@ -1,152 +0,0 @@ -from typing import Any, Optional - -import requests -from unstract.connectors.constants import Common -from unstract.connectors.filesystems import connectors -from unstract.connectors.filesystems.unstract_file_system import ( - AbstractFileSystem, - UnstractFileSystem, -) -from unstract.sdk.constants import ( - Connector, - ConnectorKeys, - ConnectorType, - LogLevel, - ToolEnv, -) -from unstract.sdk.platform import PlatformBase -from unstract.sdk.tool.base import BaseTool - - -class ToolFileSystem(PlatformBase): - """Class to handle File connectors for Unstract Tools. - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - """ - - def __init__( - self, - tool: BaseTool, - platform_host: str, - platform_port: str, - ) -> None: - """ - Args: - tool (AbstractTool): Instance of AbstractTool - platform_host (str): Host of platform service - platform_port (str): Port of platform service - - Notes: - - PLATFORM_SERVICE_API_KEY environment variable is required. - - The platform_host and platform_port are the - host and port of the platform service. - """ - super().__init__( - tool=tool, platform_host=platform_host, platform_port=platform_port - ) - self.fs_connectors = connectors - - def get_fsspec( - self, tool_instance_id: str, connector_type: str = ConnectorType.OUTPUT - ) -> Optional[AbstractFileSystem]: - """Get FsSpec for fileSystem - 1. Get the connection settings from platform service - using the tool_instance_id - 2. Create UnstractFileSystem based object using the settings - 2.1 Find the type of the database (From Connector Registry) - 2.2 Create the object using the type - (derived class of UnstractFileSystem) - 3. Send Object.get_fsspec_fs() to the caller - - Args: - tool_instance_id (str): tool Instance Id - connector_type (str, optional): _description_. - Defaults to ConnectorType.OUTPUT. - - Returns: - Any: _description_ - """ - url = f"{self.base_url}/connector_instance/{Connector.FILE_SYSTEM}" - query_params = { - ConnectorKeys.TOOL_INSTANCE_ID: tool_instance_id, - ConnectorKeys.CONNECTOR_TYPE: connector_type, - } - headers = {"Authorization": f"Bearer {self.bearer_token}"} - response = requests.get(url, headers=headers, params=query_params) - if response.status_code == 200: - connector_data: dict[str, Any] = response.json() - connector_id = connector_data.get(ConnectorKeys.CONNECTOR_ID) - connector_instance_id = connector_data.get(ConnectorKeys.ID) - settings = connector_data.get(ConnectorKeys.CONNECTOR_METADATA) - self.tool.stream_log( - "Successfully retrieved connector settings " - f"for connector: {connector_instance_id}" - ) - if connector_id in self.fs_connectors: - connector = self.fs_connectors[connector_id][Common.METADATA][ - Common.CONNECTOR - ] - connector_class: UnstractFileSystem = connector(settings) - return connector_class.get_fsspec_fs() - else: - self.tool.stream_log( - f"FileSystem not found for connector: {connector_id}", - level=LogLevel.ERROR, - ) - return None - - elif response.status_code == 404: - self.tool.stream_log( - f"Connector not found for tool instance {tool_instance_id}", - level=LogLevel.ERROR, - ) - return None - - else: - self.tool.stream_log( - ( - f"Error while retrieving connector " - "for tool instance: " - f"{tool_instance_id} / {response.reason}" - ), - level=LogLevel.ERROR, - ) - return None - - # TODO UN-237: Obtain fsspec object with connector instance ID - @staticmethod - def get_fsspec_fs( - tool: BaseTool, - tool_instance_id: str, - fileType: str, - ) -> AbstractFileSystem: - """Get fileSystem spec by the help of unstract DB tool. - - Args: - tool_instance_id (str): ID of the tool instance - fileType (str): INPUT/OUTPUT - tool (AbstractTool): Instance of AbstractTool - Required env variables: - PLATFORM_HOST: Host of platform service - PLATFORM_PORT: Port of platform service - Returns: - Any: engine - """ - platform_host = tool.get_env_or_die(ToolEnv.PLATFORM_HOST) - platform_port = tool.get_env_or_die(ToolEnv.PLATFORM_PORT) - - tool.stream_log("Connecting to DB and getting table metadata") - tool_file_system = ToolFileSystem( - tool=tool, - platform_host=platform_host, - platform_port=platform_port, - ) - fs: Optional[AbstractFileSystem] = tool_file_system.get_fsspec( - tool_instance_id, fileType - ) - if not fs: - tool.stream_error_and_exit( - f"FileSystem not found for tool_instance_id {tool_instance_id}" - ) - return fs diff --git a/tests/test_dbs.py b/tests/test_dbs.py deleted file mode 100644 index 36fddc05..00000000 --- a/tests/test_dbs.py +++ /dev/null @@ -1,54 +0,0 @@ -import unittest -from typing import Any -from unittest.mock import Mock, patch - -from unstract.sdk.dbs import ToolDB -from unstract.sdk.tool.base import BaseTool - - -class UnstractToolDBTest(unittest.TestCase): - class MockTool(BaseTool): - def run( - self, - params: dict[str, Any] = {}, - settings: dict[str, Any] = {}, - workflow_id: str = "", - ) -> None: - # self.stream_log("Mock tool running") - pass - - @classmethod - def setUpClass(cls): - cls.tool = cls.MockTool() - - @patch("requests.get") - def test_get_engine(self, mock_requests_get: Mock) -> None: - mock_response = Mock() - mock_response.status_code = 200 - mock_response.json.return_value = { - "connector_id": "postgresql|6db35f45-be11-4fd5-80c5-85c48183afbb", - "connector_metadata": { - "connection_url": "", - "database": "test7", - "host": "localhost", - "password": "ascon", - "port": "5432", - "user": "test", - }, - "id": "1d393032-87ff-49a2-8f37-8f8dcee7df62", - "project_id": "3a723424-0070-44c1-a7ec-2976289542d4", - } - mock_requests_get.return_value = mock_response - db = ToolDB( - tool=self.tool, - platform_host="http://localhost", - platform_port="3001", - ) - tool_instance_id = "6ad6671b-cc3a-4f71-a43c-c88b5046caae" - - engine = db.get_engine(tool_instance_id=tool_instance_id) - self.assertIsNotNone(engine) - - -if __name__ == "__main__": - unittest.main() diff --git a/tests/test_document.py b/tests/test_document.py deleted file mode 100644 index c11ea28e..00000000 --- a/tests/test_document.py +++ /dev/null @@ -1,69 +0,0 @@ -import unittest -from typing import Any - -from unstract.sdk.documents import ToolDocs -from unstract.sdk.tool.base import BaseTool - - -class UnstractToolDocsTest(unittest.TestCase): - class MockTool(BaseTool): - def run( - self, - params: dict[str, Any] = {}, - settings: dict[str, Any] = {}, - workflow_id: str = "", - ) -> None: - # self.stream_log("Mock tool running") - pass - - @classmethod - def setUpClass(cls): - cls.tool = cls.MockTool() - - @unittest.skip("Skipping") - def test_insert_get_delete(self) -> None: - docs = ToolDocs( - tool=self.tool, platform_host="http://localhost", platform_port=3001 - ) - result = docs.insert( - workflow_id="test", - unique_file_id="test_unique_file_id2", - filename="test_filename", - filetype="test_filetype", - summary="test_summary", - embedding_tokens=0, - llm_tokens=0, - vector_db="Postgres pg_vector", - ) - self.assertTrue(result) - result = docs.get( - workflow_id="test", unique_file_id="test_unique_file_id2" - ) - print(result) - self.assertIsNotNone(result) - result = docs.delete( - workflow_id="test", unique_file_id="test_unique_file_id2" - ) - self.assertTrue(result) - result = docs.get( - workflow_id="test", unique_file_id="test_unique_file_id2" - ) - self.assertIsNone(result) - - # def test_indexer(self) -> None: - # docs = ToolDocs( - # tool=self.tool, platform_host="http://localhost", platform_port=3001 # noqa: E501 - # ) - # result = docs.index_file( - # workflow_id="test2", - # embedding_type="Azure OpenAI", - # vector_db="Postgres pg_vector", - # file_path="/mnt/unstract/fs_input/files/Suriya cv.pdf", - # overwrite=True, - # ) - # print(result) - # self.assertTrue(result) - - -if __name__ == "__main__": - unittest.main() From 56c352dec3c65a9947dff72162556329de0946c1 Mon Sep 17 00:00:00 2001 From: Chandrasekharan M Date: Wed, 21 Feb 2024 10:18:09 +0530 Subject: [PATCH 2/3] Updated llama index to use Zipstack fork 0.9.28 --- pdm.lock | 21 ++++----------------- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/pdm.lock b/pdm.lock index 9485d516..d9bac718 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "docs", "lint", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:6df51b68debdf631717c65271c302ece244036b4d0d7958a5064871fd7237254" +content_hash = "sha256:d73434b391ae5528713a513550983ee23db7a34084cac3cc5accd6f9dafb9607" [[package]] name = "aiohttp" @@ -1666,6 +1666,9 @@ files = [ name = "llama-index" version = "0.9.28" requires_python = ">=3.8.1,<4.0" +git = "https://github.com/Zipstack/llama-index.git" +ref = "v0.9.28-unstract.1" +revision = "ce8b60d096463cf629460e8d6472e8bbcfe91104" summary = "Interface between LLMs and your data" groups = ["default"] dependencies = [ @@ -1684,15 +1687,10 @@ dependencies = [ "pandas", "requests>=2.31.0", "tenacity<9.0.0,>=8.2.0", - "tensorrt-llm<0.8.0,>=0.7.1; python_version == \"3.10\"", "tiktoken>=0.3.3", "typing-extensions>=4.5.0", "typing-inspect>=0.8.0", ] -files = [ - {file = "llama_index-0.9.28-py3-none-any.whl", hash = "sha256:fe68d102e9796eac54e7b6e4bc470fa63e0f4b8df6570f9ca7e0b2a644ffd49a"}, - {file = "llama_index-0.9.28.tar.gz", hash = "sha256:32504aac009c9c5addee36a5368cf4c308a898738bb2135bfcd032874f4dba26"}, -] [[package]] name = "log-symbols" @@ -3458,17 +3456,6 @@ files = [ {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, ] -[[package]] -name = "tensorrt-llm" -version = "0.7.1" -requires_python = ">=3.7, <4" -summary = "" -groups = ["default"] -marker = "python_version == \"3.10\"" -files = [ - {file = "tensorrt-llm-0.7.1.tar.gz", hash = "sha256:10275e2585484f138b43576acddba42ebee073fbb1665fe0954032e421e26e08"}, -] - [[package]] name = "termcolor" version = "2.4.0" diff --git a/pyproject.toml b/pyproject.toml index 0a93f14c..d95dce69 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ dependencies = [ "python-dotenv==1.0.0", # LLM Triad "unstract-adapters~=0.1.1", - "llama-index==0.9.28", + "llama-index @ git+https://github.com/Zipstack/llama-index.git@v0.9.28-unstract.1", "tiktoken~=0.4.0", "transformers==4.37.0", # LLM Whisperer dependencies From 1ca05ab3095ceb05d41745109bc257dc7ae4aea7 Mon Sep 17 00:00:00 2001 From: Chandrasekharan M Date: Thu, 22 Feb 2024 14:58:53 +0530 Subject: [PATCH 3/3] Bumped SDK to 0.10.0 --- pdm.lock | 216 ++++++++++++++++++++++++++++++++++- pyproject.toml | 2 +- src/unstract/sdk/__init__.py | 2 +- 3 files changed, 213 insertions(+), 7 deletions(-) diff --git a/pdm.lock b/pdm.lock index d3772af6..923198d9 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,13 +5,14 @@ groups = ["default", "docs", "lint", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:d73434b391ae5528713a513550983ee23db7a34084cac3cc5accd6f9dafb9607" +content_hash = "sha256:4656b8dfc9408c9b8a5713869b5d622a4446b296cda7bbf319c08d2b4945c7c7" [[package]] name = "aiohttp" version = "3.9.3" requires_python = ">=3.8" summary = "Async http client/server framework (asyncio)" +groups = ["default"] dependencies = [ "aiosignal>=1.1.2", "async-timeout<5.0,>=4.0; python_version < \"3.11\"", @@ -74,6 +75,7 @@ name = "aiosignal" version = "1.3.1" requires_python = ">=3.7" summary = "aiosignal: a list of registered asynchronous callbacks" +groups = ["default"] dependencies = [ "frozenlist>=1.1.0", ] @@ -87,6 +89,7 @@ name = "annotated-types" version = "0.6.0" requires_python = ">=3.8" summary = "Reusable constraint types to use with typing.Annotated" +groups = ["default"] files = [ {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, @@ -97,6 +100,7 @@ name = "anthropic" version = "0.7.8" requires_python = ">=3.7" summary = "The official Python library for the anthropic API" +groups = ["default"] dependencies = [ "anyio<5,>=3.5.0", "distro<2,>=1.7.0", @@ -116,6 +120,7 @@ name = "anyio" version = "4.3.0" requires_python = ">=3.8" summary = "High level compatibility layer for multiple asynchronous event loop implementations" +groups = ["default"] dependencies = [ "exceptiongroup>=1.0.2; python_version < \"3.11\"", "idna>=2.8", @@ -131,6 +136,7 @@ files = [ name = "anyscale" version = "0.5.165" summary = "Command Line Interface for Anyscale" +groups = ["default"] dependencies = [ "Click>=7.0", "GitPython", @@ -170,6 +176,7 @@ name = "argon2-cffi" version = "23.1.0" requires_python = ">=3.7" summary = "Argon2 for Python" +groups = ["default"] dependencies = [ "argon2-cffi-bindings", ] @@ -183,6 +190,7 @@ name = "argon2-cffi-bindings" version = "21.2.0" requires_python = ">=3.6" summary = "Low-level CFFI bindings for Argon2" +groups = ["default"] dependencies = [ "cffi>=1.0.1", ] @@ -215,6 +223,8 @@ name = "async-timeout" version = "4.0.3" requires_python = ">=3.7" summary = "Timeout context manager for asyncio programs" +groups = ["default"] +marker = "python_version < \"3.12.0\"" files = [ {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, @@ -225,6 +235,7 @@ name = "asyncpg" version = "0.29.0" requires_python = ">=3.8.0" summary = "An asyncio PostgreSQL driver" +groups = ["default"] dependencies = [ "async-timeout>=4.0.3; python_version < \"3.12.0\"", ] @@ -261,6 +272,7 @@ name = "attrs" version = "23.2.0" requires_python = ">=3.7" summary = "Classes Without Boilerplate" +groups = ["default"] files = [ {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, @@ -271,6 +283,7 @@ name = "authlib" version = "1.3.0" requires_python = ">=3.8" summary = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." +groups = ["default"] dependencies = [ "cryptography", ] @@ -284,6 +297,7 @@ name = "autopep8" version = "2.0.4" requires_python = ">=3.6" summary = "A tool that automatically formats Python code to conform to the PEP 8 style guide" +groups = ["lint"] dependencies = [ "pycodestyle>=2.10.0", "tomli; python_version < \"3.11\"", @@ -298,6 +312,7 @@ name = "backoff" version = "2.2.1" requires_python = ">=3.7,<4.0" summary = "Function decoration for backoff and retry" +groups = ["default"] files = [ {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, @@ -308,6 +323,7 @@ name = "beautifulsoup4" version = "4.12.3" requires_python = ">=3.6.0" summary = "Screen-scraping library" +groups = ["default"] dependencies = [ "soupsieve>1.2", ] @@ -321,6 +337,7 @@ name = "black" version = "23.3.0" requires_python = ">=3.7" summary = "The uncompromising code formatter." +groups = ["lint"] dependencies = [ "click>=8.0.0", "mypy-extensions>=0.4.3", @@ -355,6 +372,7 @@ name = "boto3" version = "1.28.17" requires_python = ">= 3.7" summary = "The AWS SDK for Python" +groups = ["default"] dependencies = [ "botocore<1.32.0,>=1.31.17", "jmespath<2.0.0,>=0.7.1", @@ -370,6 +388,7 @@ name = "botocore" version = "1.31.17" requires_python = ">= 3.7" summary = "Low-level, data-driven core of boto 3." +groups = ["default"] dependencies = [ "jmespath<2.0.0,>=0.7.1", "python-dateutil<3.0.0,>=2.1", @@ -385,6 +404,7 @@ name = "cachetools" version = "5.3.2" requires_python = ">=3.7" summary = "Extensible memoizing collections and decorators" +groups = ["default"] files = [ {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, @@ -395,6 +415,7 @@ name = "certifi" version = "2024.2.2" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." +groups = ["default"] files = [ {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, @@ -405,6 +426,7 @@ name = "cffi" version = "1.16.0" requires_python = ">=3.8" summary = "Foreign Function Interface for Python calling C code." +groups = ["default"] dependencies = [ "pycparser", ] @@ -450,6 +472,7 @@ name = "cfgv" version = "3.4.0" requires_python = ">=3.8" summary = "Validate configuration and produce human readable error messages." +groups = ["lint"] files = [ {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, @@ -460,6 +483,7 @@ name = "charset-normalizer" version = "3.3.2" requires_python = ">=3.7.0" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +groups = ["default"] files = [ {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, @@ -515,6 +539,7 @@ name = "click" version = "8.1.7" requires_python = ">=3.7" summary = "Composable command line interface toolkit" +groups = ["default", "docs", "lint"] dependencies = [ "colorama; platform_system == \"Windows\"", ] @@ -528,6 +553,7 @@ name = "colorama" version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." +groups = ["default", "docs", "lint"] files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -538,6 +564,7 @@ name = "coloredlogs" version = "15.0.1" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "Colored terminal output for Python's logging module" +groups = ["default"] dependencies = [ "humanfriendly>=9.1", ] @@ -551,6 +578,7 @@ name = "cryptography" version = "41.0.7" requires_python = ">=3.7" summary = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +groups = ["default"] dependencies = [ "cffi>=1.12", ] @@ -585,6 +613,7 @@ name = "dataclasses-json" version = "0.6.4" requires_python = ">=3.7,<4.0" summary = "Easily serialize dataclasses to and from JSON." +groups = ["default"] dependencies = [ "marshmallow<4.0.0,>=3.18.0", "typing-inspect<1,>=0.4.0", @@ -599,6 +628,7 @@ name = "deprecated" version = "1.2.14" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" summary = "Python @deprecated decorator to deprecate old python classes, functions or methods." +groups = ["default"] dependencies = [ "wrapt<2,>=1.10", ] @@ -611,6 +641,7 @@ files = [ name = "deprecation" version = "2.1.0" summary = "A library to handle automated deprecations" +groups = ["default"] dependencies = [ "packaging", ] @@ -623,6 +654,7 @@ files = [ name = "distlib" version = "0.3.8" summary = "Distribution utilities" +groups = ["lint"] files = [ {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, @@ -633,6 +665,7 @@ name = "distro" version = "1.9.0" requires_python = ">=3.6" summary = "Distro - an OS platform information API" +groups = ["default"] files = [ {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, @@ -643,6 +676,7 @@ name = "dnspython" version = "2.6.1" requires_python = ">=3.8" summary = "DNS toolkit" +groups = ["default"] files = [ {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, @@ -653,6 +687,7 @@ name = "docutils" version = "0.20.1" requires_python = ">=3.7" summary = "Docutils -- Python Documentation Utilities" +groups = ["lint"] files = [ {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, @@ -663,6 +698,7 @@ name = "environs" version = "9.5.0" requires_python = ">=3.6" summary = "simplified environment variable parsing" +groups = ["default"] dependencies = [ "marshmallow>=3.0.0", "python-dotenv", @@ -677,6 +713,8 @@ name = "exceptiongroup" version = "1.2.0" requires_python = ">=3.7" summary = "Backport of PEP 654 (exception groups)" +groups = ["default"] +marker = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, @@ -687,6 +725,7 @@ name = "fastembed" version = "0.1.3" requires_python = ">=3.8.0,<3.12" summary = "Fast, light, accurate library built for retrieval embedding generation" +groups = ["default"] dependencies = [ "huggingface-hub==0.19.4", "onnx<2.0,>=1.11", @@ -705,6 +744,7 @@ name = "filelock" version = "3.13.1" requires_python = ">=3.8" summary = "A platform independent file lock." +groups = ["default", "lint"] files = [ {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, @@ -714,6 +754,7 @@ files = [ name = "filetype" version = "1.2.0" summary = "Infer file type and MIME type of any file/buffer. No external dependencies." +groups = ["default"] files = [ {file = "filetype-1.2.0-py2.py3-none-any.whl", hash = "sha256:7ce71b6880181241cf7ac8697a2f1eb6a8bd9b429f7ad6d27b8db9ba5f1c2d25"}, {file = "filetype-1.2.0.tar.gz", hash = "sha256:66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb"}, @@ -724,6 +765,7 @@ name = "flake8" version = "6.0.0" requires_python = ">=3.8.1" summary = "the modular source code checker: pep8 pyflakes and co" +groups = ["lint"] dependencies = [ "mccabe<0.8.0,>=0.7.0", "pycodestyle<2.11.0,>=2.10.0", @@ -739,6 +781,7 @@ name = "flake8-pyproject" version = "1.2.3" requires_python = ">= 3.6" summary = "Flake8 plug-in loading the configuration from pyproject.toml" +groups = ["lint"] dependencies = [ "Flake8>=5", "TOMLi; python_version < \"3.11\"", @@ -751,6 +794,7 @@ files = [ name = "flatbuffers" version = "23.5.26" summary = "The FlatBuffers serialization format for Python" +groups = ["default"] files = [ {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, @@ -760,6 +804,7 @@ files = [ name = "flupy" version = "1.2.0" summary = "Method chaining built on generators" +groups = ["default"] dependencies = [ "typing-extensions", ] @@ -772,6 +817,7 @@ name = "frozenlist" version = "1.4.1" requires_python = ">=3.8" summary = "A list-like structure which implements collections.abc.MutableSequence" +groups = ["default"] files = [ {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, @@ -827,6 +873,7 @@ name = "fsspec" version = "2023.6.0" requires_python = ">=3.8" summary = "File-system specification" +groups = ["default"] files = [ {file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"}, {file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"}, @@ -837,6 +884,7 @@ name = "gitdb" version = "4.0.11" requires_python = ">=3.7" summary = "Git Object Database" +groups = ["default"] dependencies = [ "smmap<6,>=3.0.1", ] @@ -850,6 +898,7 @@ name = "gitpython" version = "3.1.42" requires_python = ">=3.7" summary = "GitPython is a Python library used to interact with Git repositories" +groups = ["default"] dependencies = [ "gitdb<5,>=4.0.1", ] @@ -863,6 +912,7 @@ name = "google-ai-generativelanguage" version = "0.4.0" requires_python = ">=3.7" summary = "Google Ai Generativelanguage API client library" +groups = ["default"] dependencies = [ "google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0", "proto-plus<2.0.0dev,>=1.22.3", @@ -878,6 +928,7 @@ name = "google-api-core" version = "2.17.1" requires_python = ">=3.7" summary = "Google API client core library" +groups = ["default"] dependencies = [ "google-auth<3.0.dev0,>=2.14.1", "googleapis-common-protos<2.0.dev0,>=1.56.2", @@ -895,6 +946,7 @@ version = "2.17.1" extras = ["grpc"] requires_python = ">=3.7" summary = "Google API client core library" +groups = ["default"] dependencies = [ "google-api-core==2.17.1", "grpcio-status<2.0.dev0,>=1.33.2", @@ -912,6 +964,7 @@ name = "google-auth" version = "2.20.0" requires_python = ">=3.6" summary = "Google Authentication Library" +groups = ["default"] dependencies = [ "cachetools<6.0,>=2.0.0", "pyasn1-modules>=0.2.1", @@ -929,6 +982,7 @@ name = "google-cloud-aiplatform" version = "1.40.0" requires_python = ">=3.8" summary = "Vertex AI API client library" +groups = ["default"] dependencies = [ "google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0dev,>=1.32.0", "google-cloud-bigquery<4.0.0dev,>=1.15.0", @@ -949,6 +1003,7 @@ name = "google-cloud-bigquery" version = "3.11.4" requires_python = ">=3.7" summary = "Google BigQuery API client library" +groups = ["default"] dependencies = [ "google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5", "google-cloud-core<3.0.0dev,>=1.6.0", @@ -971,6 +1026,7 @@ name = "google-cloud-core" version = "2.4.1" requires_python = ">=3.7" summary = "Google Cloud API client core library" +groups = ["default"] dependencies = [ "google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.6", "google-auth<3.0dev,>=1.25.0", @@ -985,6 +1041,7 @@ name = "google-cloud-resource-manager" version = "1.12.1" requires_python = ">=3.7" summary = "Google Cloud Resource Manager API client library" +groups = ["default"] dependencies = [ "google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0", "google-auth<3.0.0dev,>=2.14.1", @@ -1002,6 +1059,7 @@ name = "google-cloud-storage" version = "2.9.0" requires_python = ">=3.7" summary = "Google Cloud Storage API client library" +groups = ["default"] dependencies = [ "google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5", "google-auth<3.0dev,>=1.25.0", @@ -1019,6 +1077,7 @@ name = "google-crc32c" version = "1.5.0" requires_python = ">=3.7" summary = "A python wrapper of the C library 'Google CRC32C'" +groups = ["default"] files = [ {file = "google-crc32c-1.5.0.tar.gz", hash = "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7"}, {file = "google_crc32c-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13"}, @@ -1074,6 +1133,7 @@ name = "google-generativeai" version = "0.3.1" requires_python = ">=3.9" summary = "Google Generative AI High level API client library and tools." +groups = ["default"] dependencies = [ "google-ai-generativelanguage==0.4.0", "google-api-core", @@ -1090,6 +1150,7 @@ name = "google-resumable-media" version = "2.7.0" requires_python = ">= 3.7" summary = "Utilities for Google Media Downloads and Resumable Uploads" +groups = ["default"] dependencies = [ "google-crc32c<2.0dev,>=1.0", ] @@ -1103,6 +1164,7 @@ name = "googleapis-common-protos" version = "1.62.0" requires_python = ">=3.7" summary = "Common protobufs used in Google APIs" +groups = ["default"] dependencies = [ "protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5", ] @@ -1117,6 +1179,7 @@ version = "1.62.0" extras = ["grpc"] requires_python = ">=3.7" summary = "Common protobufs used in Google APIs" +groups = ["default"] dependencies = [ "googleapis-common-protos==1.62.0", "grpcio<2.0.0.dev0,>=1.44.0", @@ -1131,6 +1194,7 @@ name = "gotrue" version = "2.1.0" requires_python = ">=3.8,<4.0" summary = "Python Client Library for GoTrue" +groups = ["default"] dependencies = [ "httpx<0.26,>=0.23", "pydantic<3,>=1.10", @@ -1145,6 +1209,7 @@ name = "greenlet" version = "3.0.3" requires_python = ">=3.7" summary = "Lightweight in-process concurrent programming" +groups = ["default"] files = [ {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, @@ -1182,6 +1247,7 @@ name = "grpc-google-iam-v1" version = "0.13.0" requires_python = ">=3.7" summary = "IAM API client library" +groups = ["default"] dependencies = [ "googleapis-common-protos[grpc]<2.0.0dev,>=1.56.0", "grpcio<2.0.0dev,>=1.44.0", @@ -1197,6 +1263,7 @@ name = "grpcio" version = "1.58.0" requires_python = ">=3.7" summary = "HTTP/2-based RPC framework" +groups = ["default"] files = [ {file = "grpcio-1.58.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:3e6bebf1dfdbeb22afd95650e4f019219fef3ab86d3fca8ebade52e4bc39389a"}, {file = "grpcio-1.58.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:cde11577d5b6fd73a00e6bfa3cf5f428f3f33c2d2878982369b5372bbc4acc60"}, @@ -1233,6 +1300,7 @@ name = "grpcio-status" version = "1.58.0" requires_python = ">=3.6" summary = "Status proto mapping for gRPC" +groups = ["default"] dependencies = [ "googleapis-common-protos>=1.5.5", "grpcio>=1.58.0", @@ -1248,6 +1316,7 @@ name = "grpcio-tools" version = "1.58.0" requires_python = ">=3.7" summary = "Protobuf code generator for gRPC" +groups = ["default"] dependencies = [ "grpcio>=1.58.0", "protobuf<5.0dev,>=4.21.6", @@ -1289,6 +1358,7 @@ name = "h11" version = "0.14.0" requires_python = ">=3.7" summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +groups = ["default"] files = [ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, @@ -1299,6 +1369,7 @@ name = "h2" version = "4.1.0" requires_python = ">=3.6.1" summary = "HTTP/2 State-Machine based protocol implementation" +groups = ["default"] dependencies = [ "hpack<5,>=4.0", "hyperframe<7,>=6.0", @@ -1313,6 +1384,7 @@ name = "halo" version = "0.0.31" requires_python = ">=3.4" summary = "Beautiful terminal spinners in Python" +groups = ["default"] dependencies = [ "colorama>=0.3.9", "log-symbols>=0.0.14", @@ -1329,6 +1401,7 @@ name = "hpack" version = "4.0.0" requires_python = ">=3.6.1" summary = "Pure-Python HPACK header compression" +groups = ["default"] files = [ {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, @@ -1339,6 +1412,7 @@ name = "httpcore" version = "0.17.3" requires_python = ">=3.7" summary = "A minimal low-level HTTP client." +groups = ["default"] dependencies = [ "anyio<5.0,>=3.0", "certifi", @@ -1355,6 +1429,7 @@ name = "httplib2" version = "0.22.0" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" summary = "A comprehensive HTTP client library." +groups = ["default"] dependencies = [ "pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2; python_version > \"3.0\"", ] @@ -1368,6 +1443,7 @@ name = "httpx" version = "0.24.1" requires_python = ">=3.7" summary = "The next generation HTTP client." +groups = ["default"] dependencies = [ "certifi", "httpcore<0.18.0,>=0.15.0", @@ -1385,6 +1461,7 @@ version = "0.24.1" extras = ["http2"] requires_python = ">=3.7" summary = "The next generation HTTP client." +groups = ["default"] dependencies = [ "h2<5,>=3", "httpx==0.24.1", @@ -1398,6 +1475,7 @@ files = [ name = "huggingface" version = "0.0.1" summary = "HuggingFace is a single library comprising the main HuggingFace libraries." +groups = ["default"] files = [ {file = "huggingface-0.0.1-py3-none-any.whl", hash = "sha256:98a3409537557cd2fd768997ef94cab08529f86c5e106e6d54bbabdd5ee03910"}, {file = "huggingface-0.0.1.tar.gz", hash = "sha256:0a2f228fd956801d68b7c6a8bef478dfa60c4b7d7eba572ea7de39ecf87e505a"}, @@ -1408,6 +1486,7 @@ name = "huggingface-hub" version = "0.19.4" requires_python = ">=3.8.0" summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +groups = ["default"] dependencies = [ "filelock", "fsspec>=2023.5.0", @@ -1427,6 +1506,7 @@ name = "humanfriendly" version = "10.0" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "Human friendly output for text interfaces using Python" +groups = ["default"] dependencies = [ "pyreadline3; sys_platform == \"win32\" and python_version >= \"3.8\"", ] @@ -1440,6 +1520,7 @@ name = "humanize" version = "4.9.0" requires_python = ">=3.8" summary = "Python humanize utilities" +groups = ["default"] files = [ {file = "humanize-4.9.0-py3-none-any.whl", hash = "sha256:ce284a76d5b1377fd8836733b983bfb0b76f1aa1c090de2566fcf008d7f6ab16"}, {file = "humanize-4.9.0.tar.gz", hash = "sha256:582a265c931c683a7e9b8ed9559089dea7edcf6cc95be39a3cbc2c5d5ac2bcfa"}, @@ -1450,6 +1531,7 @@ name = "hyperframe" version = "6.0.1" requires_python = ">=3.6.1" summary = "HTTP/2 framing layer for Python" +groups = ["default"] files = [ {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, @@ -1460,6 +1542,7 @@ name = "identify" version = "2.5.35" requires_python = ">=3.8" summary = "File identification library for Python" +groups = ["lint"] files = [ {file = "identify-2.5.35-py2.py3-none-any.whl", hash = "sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e"}, {file = "identify-2.5.35.tar.gz", hash = "sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791"}, @@ -1470,6 +1553,7 @@ name = "idna" version = "3.6" requires_python = ">=3.5" summary = "Internationalized Domain Names in Applications (IDNA)" +groups = ["default"] files = [ {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, @@ -1480,6 +1564,7 @@ name = "isort" version = "5.12.0" requires_python = ">=3.8.0" summary = "A Python utility / library to sort Python imports." +groups = ["lint"] files = [ {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, @@ -1490,6 +1575,7 @@ name = "jmespath" version = "1.0.1" requires_python = ">=3.7" summary = "JSON Matching Expressions" +groups = ["default"] files = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, @@ -1500,6 +1586,7 @@ name = "joblib" version = "1.3.2" requires_python = ">=3.7" summary = "Lightweight pipelining with Python functions" +groups = ["default"] files = [ {file = "joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9"}, {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, @@ -1510,6 +1597,7 @@ name = "jsonpatch" version = "1.33" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" summary = "Apply JSON-Patches (RFC 6902) " +groups = ["default"] dependencies = [ "jsonpointer>=1.9", ] @@ -1523,6 +1611,7 @@ name = "jsonpointer" version = "2.4" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" summary = "Identify specific nodes in a JSON document (RFC 6901) " +groups = ["default"] files = [ {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, @@ -1533,6 +1622,7 @@ name = "jsonschema" version = "4.18.6" requires_python = ">=3.8" summary = "An implementation of JSON Schema validation for Python" +groups = ["default"] dependencies = [ "attrs>=22.2.0", "jsonschema-specifications>=2023.03.6", @@ -1549,6 +1639,7 @@ name = "jsonschema-specifications" version = "2023.12.1" requires_python = ">=3.8" summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +groups = ["default"] dependencies = [ "referencing>=0.31.0", ] @@ -1562,6 +1653,7 @@ name = "lazydocs" version = "0.4.8" requires_python = ">=3.6" summary = "Generate markdown API documentation for Google-style Python docstring." +groups = ["docs"] dependencies = [ "typer", ] @@ -1578,6 +1670,7 @@ git = "https://github.com/Zipstack/llama-index.git" ref = "v0.9.28-unstract.1" revision = "ce8b60d096463cf629460e8d6472e8bbcfe91104" summary = "Interface between LLMs and your data" +groups = ["default"] dependencies = [ "SQLAlchemy[asyncio]>=1.4.49", "aiohttp<4.0.0,>=3.8.6", @@ -1603,6 +1696,7 @@ dependencies = [ name = "log-symbols" version = "0.0.14" summary = "Colored symbols for various log levels for Python" +groups = ["default"] dependencies = [ "colorama>=0.3.9", ] @@ -1616,6 +1710,7 @@ name = "loguru" version = "0.7.2" requires_python = ">=3.5" summary = "Python logging made (stupidly) simple" +groups = ["default"] dependencies = [ "colorama>=0.3.4; sys_platform == \"win32\"", "win32-setctime>=1.0.0; sys_platform == \"win32\"", @@ -1630,6 +1725,7 @@ name = "markdown-it-py" version = "3.0.0" requires_python = ">=3.8" summary = "Python port of markdown-it. Markdown parsing, done right!" +groups = ["default"] dependencies = [ "mdurl~=0.1", ] @@ -1643,6 +1739,7 @@ name = "marshmallow" version = "3.20.2" requires_python = ">=3.8" summary = "A lightweight library for converting complex datatypes to and from native Python datatypes." +groups = ["default"] dependencies = [ "packaging>=17.0", ] @@ -1656,6 +1753,7 @@ name = "mccabe" version = "0.7.0" requires_python = ">=3.6" summary = "McCabe checker, plugin for flake8" +groups = ["lint"] files = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, @@ -1666,6 +1764,7 @@ name = "mdurl" version = "0.1.2" requires_python = ">=3.7" summary = "Markdown URL utilities" +groups = ["default"] files = [ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, @@ -1675,6 +1774,7 @@ files = [ name = "minio" version = "7.2.4" summary = "MinIO Python SDK for Amazon S3 Compatible Cloud Storage" +groups = ["default"] dependencies = [ "argon2-cffi", "certifi", @@ -1692,6 +1792,7 @@ name = "mistralai" version = "0.0.8" requires_python = ">=3.8,<4.0" summary = "" +groups = ["default"] dependencies = [ "aiohttp<4.0.0,>=3.9.1", "backoff<3.0.0,>=2.2.1", @@ -1708,6 +1809,7 @@ files = [ name = "mpmath" version = "1.3.0" summary = "Python library for arbitrary-precision floating-point arithmetic" +groups = ["default"] files = [ {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, @@ -1718,6 +1820,7 @@ name = "multidict" version = "6.0.5" requires_python = ">=3.7" summary = "multidict implementation" +groups = ["default"] files = [ {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, @@ -1773,6 +1876,7 @@ name = "mypy-extensions" version = "1.0.0" requires_python = ">=3.5" summary = "Type system extensions for programs checked with the mypy type checker." +groups = ["default", "lint"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, @@ -1783,6 +1887,7 @@ name = "nest-asyncio" version = "1.6.0" requires_python = ">=3.5" summary = "Patch asyncio to allow nested event loops" +groups = ["default"] files = [ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, @@ -1793,6 +1898,7 @@ name = "networkx" version = "3.2.1" requires_python = ">=3.9" summary = "Python package for creating and manipulating graphs and networks" +groups = ["default"] files = [ {file = "networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2"}, {file = "networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6"}, @@ -1803,6 +1909,7 @@ name = "nltk" version = "3.8.1" requires_python = ">=3.7" summary = "Natural Language Toolkit" +groups = ["default"] dependencies = [ "click", "joblib", @@ -1819,6 +1926,7 @@ name = "nodeenv" version = "1.8.0" requires_python = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" summary = "Node.js virtual environment builder" +groups = ["lint"] dependencies = [ "setuptools", ] @@ -1832,6 +1940,7 @@ name = "numpy" version = "1.26.4" requires_python = ">=3.9" summary = "Fundamental package for array computing in Python" +groups = ["default"] files = [ {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, @@ -1867,6 +1976,7 @@ files = [ name = "oauth2client" version = "4.1.3" summary = "OAuth 2.0 client library" +groups = ["default"] dependencies = [ "httplib2>=0.9.1", "pyasn1-modules>=0.0.5", @@ -1884,6 +1994,7 @@ name = "onnx" version = "1.15.0" requires_python = ">=3.8" summary = "Open Neural Network Exchange" +groups = ["default"] dependencies = [ "numpy", "protobuf>=3.20.2", @@ -1914,6 +2025,7 @@ files = [ name = "onnxruntime" version = "1.17.0" summary = "ONNX Runtime is a runtime accelerator for Machine Learning models" +groups = ["default"] dependencies = [ "coloredlogs", "flatbuffers", @@ -1945,6 +2057,7 @@ name = "openai" version = "1.3.9" requires_python = ">=3.7.1" summary = "The official Python library for the openai API" +groups = ["default"] dependencies = [ "anyio<5,>=3.5.0", "distro<2,>=1.7.0", @@ -1964,6 +2077,7 @@ name = "orjson" version = "3.9.14" requires_python = ">=3.8" summary = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +groups = ["default"] files = [ {file = "orjson-3.9.14-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:793f6c9448ab6eb7d4974b4dde3f230345c08ca6c7995330fbceeb43a5c8aa5e"}, {file = "orjson-3.9.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6bc7928d161840096adc956703494b5c0193ede887346f028216cac0af87500"}, @@ -2003,6 +2117,7 @@ name = "packaging" version = "23.2" requires_python = ">=3.7" summary = "Core utilities for Python packages" +groups = ["default", "lint"] files = [ {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, @@ -2013,6 +2128,7 @@ name = "pandas" version = "2.1.4" requires_python = ">=3.9" summary = "Powerful data structures for data analysis, time series, and statistics" +groups = ["default"] dependencies = [ "numpy<2,>=1.22.4; python_version < \"3.11\"", "numpy<2,>=1.23.2; python_version == \"3.11\"", @@ -2047,6 +2163,7 @@ name = "parameterized" version = "0.9.0" requires_python = ">=3.7" summary = "Parameterized testing with any Python test framework" +groups = ["test"] files = [ {file = "parameterized-0.9.0-py2.py3-none-any.whl", hash = "sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b"}, {file = "parameterized-0.9.0.tar.gz", hash = "sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1"}, @@ -2057,6 +2174,7 @@ name = "pathspec" version = "0.12.1" requires_python = ">=3.8" summary = "Utility library for gitignore style pattern matching of file paths." +groups = ["default", "lint"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -2067,6 +2185,7 @@ name = "pdfminer-six" version = "20221105" requires_python = ">=3.6" summary = "PDF parser and analyzer" +groups = ["default"] dependencies = [ "charset-normalizer>=2.0.0", "cryptography>=36.0.0", @@ -2081,6 +2200,7 @@ name = "pdfplumber" version = "0.10.3" requires_python = ">=3.8" summary = "Plumb a PDF for detailed information about each char, rectangle, and line." +groups = ["default"] dependencies = [ "Pillow>=9.1", "pdfminer-six==20221105", @@ -2096,6 +2216,7 @@ name = "pgvector" version = "0.1.8" requires_python = ">=3.6" summary = "pgvector support for Python" +groups = ["default"] dependencies = [ "numpy", ] @@ -2108,6 +2229,7 @@ name = "pillow" version = "10.2.0" requires_python = ">=3.8" summary = "Python Imaging Library (Fork)" +groups = ["default"] files = [ {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, @@ -2163,6 +2285,7 @@ name = "pinecone-client" version = "2.2.4" requires_python = ">=3.8" summary = "Pinecone client and SDK" +groups = ["default"] dependencies = [ "dnspython>=2.0.0", "loguru>=0.5.0", @@ -2195,6 +2318,7 @@ name = "portalocker" version = "2.8.2" requires_python = ">=3.8" summary = "Wraps the portalocker recipe for easy usage" +groups = ["default"] dependencies = [ "pywin32>=226; platform_system == \"Windows\"", ] @@ -2208,6 +2332,7 @@ name = "postgrest" version = "0.13.2" requires_python = ">=3.8,<4.0" summary = "PostgREST client for Python. This library provides an ORM interface to PostgREST." +groups = ["default"] dependencies = [ "deprecation<3.0.0,>=2.1.0", "httpx<0.26,>=0.24", @@ -2224,6 +2349,7 @@ name = "pre-commit" version = "3.3.3" requires_python = ">=3.8" summary = "A framework for managing and maintaining multi-language pre-commit hooks." +groups = ["lint"] dependencies = [ "cfgv>=2.0.0", "identify>=1.0.0", @@ -2241,6 +2367,7 @@ name = "proto-plus" version = "1.23.0" requires_python = ">=3.6" summary = "Beautiful, Pythonic protocol buffers." +groups = ["default"] dependencies = [ "protobuf<5.0.0dev,>=3.19.0", ] @@ -2254,6 +2381,7 @@ name = "protobuf" version = "4.25.3" requires_python = ">=3.8" summary = "" +groups = ["default"] files = [ {file = "protobuf-4.25.3-cp310-abi3-win32.whl", hash = "sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa"}, {file = "protobuf-4.25.3-cp310-abi3-win_amd64.whl", hash = "sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8"}, @@ -2271,6 +2399,7 @@ name = "psycopg2-binary" version = "2.9.9" requires_python = ">=3.7" summary = "psycopg2 - Python-PostgreSQL Database Adapter" +groups = ["default"] files = [ {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, @@ -2316,6 +2445,7 @@ name = "pyarrow" version = "15.0.0" requires_python = ">=3.8" summary = "Python library for Apache Arrow" +groups = ["default"] dependencies = [ "numpy<2,>=1.16.6", ] @@ -2349,6 +2479,7 @@ name = "pyasn1" version = "0.5.1" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" summary = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +groups = ["default"] files = [ {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, @@ -2359,6 +2490,7 @@ name = "pyasn1-modules" version = "0.3.0" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" summary = "A collection of ASN.1-based protocols modules" +groups = ["default"] dependencies = [ "pyasn1<0.6.0,>=0.4.6", ] @@ -2372,6 +2504,7 @@ name = "pycodestyle" version = "2.10.0" requires_python = ">=3.6" summary = "Python style guide checker" +groups = ["lint"] files = [ {file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"}, {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"}, @@ -2382,6 +2515,7 @@ name = "pycparser" version = "2.21" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" summary = "C parser in Python" +groups = ["default"] files = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, @@ -2392,6 +2526,7 @@ name = "pycryptodome" version = "3.20.0" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "Cryptographic library for Python" +groups = ["default"] files = [ {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044"}, {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a"}, @@ -2421,6 +2556,7 @@ name = "pydantic" version = "2.6.1" requires_python = ">=3.8" summary = "Data validation using Python type hints" +groups = ["default"] dependencies = [ "annotated-types>=0.4.0", "pydantic-core==2.16.2", @@ -2436,6 +2572,7 @@ name = "pydantic-core" version = "2.16.2" requires_python = ">=3.8" summary = "" +groups = ["default"] dependencies = [ "typing-extensions!=4.7.0,>=4.6.0", ] @@ -2501,6 +2638,7 @@ name = "pyflakes" version = "3.0.1" requires_python = ">=3.6" summary = "passive checker of Python programs" +groups = ["lint"] files = [ {file = "pyflakes-3.0.1-py2.py3-none-any.whl", hash = "sha256:ec55bf7fe21fff7f1ad2f7da62363d749e2a470500eab1b555334b67aa1ef8cf"}, {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, @@ -2511,6 +2649,7 @@ name = "pygments" version = "2.17.2" requires_python = ">=3.7" summary = "Pygments is a syntax highlighting package written in Python." +groups = ["default"] files = [ {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, @@ -2521,6 +2660,7 @@ name = "pymilvus" version = "2.3.4" requires_python = ">=3.7" summary = "Python Sdk for Milvus" +groups = ["default"] dependencies = [ "environs<=9.5.0", "grpcio<=1.58.0,>=1.49.1", @@ -2541,6 +2681,8 @@ name = "pyparsing" version = "3.1.1" requires_python = ">=3.6.8" summary = "pyparsing module - Classes and methods to define and execute parsing grammars" +groups = ["default"] +marker = "python_version > \"3.0\"" files = [ {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, @@ -2551,6 +2693,7 @@ name = "pypdfium2" version = "4.27.0" requires_python = ">= 3.6" summary = "Python bindings to PDFium" +groups = ["default"] files = [ {file = "pypdfium2-4.27.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:2938f423c79b49df9057993f747e537a05b71bc2c847801ac743f27c3220d363"}, {file = "pypdfium2-4.27.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f396941e070bf6c245890f2ffb2cb04f39585e3cda93ebb1648f1ed0e99b921f"}, @@ -2571,6 +2714,8 @@ files = [ name = "pyreadline3" version = "3.4.1" summary = "A python implementation of GNU readline." +groups = ["default"] +marker = "sys_platform == \"win32\" and python_version >= \"3.8\"" files = [ {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, @@ -2581,6 +2726,7 @@ name = "pytesseract" version = "0.3.10" requires_python = ">=3.7" summary = "Python-tesseract is a python wrapper for Google's Tesseract-OCR" +groups = ["default"] dependencies = [ "Pillow>=8.0.0", "packaging>=21.3", @@ -2595,6 +2741,7 @@ name = "python-dateutil" version = "2.8.2" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" summary = "Extensions to the standard Python datetime module" +groups = ["default"] dependencies = [ "six>=1.5", ] @@ -2608,6 +2755,7 @@ name = "python-dotenv" version = "1.0.0" requires_python = ">=3.8" summary = "Read key-value pairs from a .env file and set them as environment variables" +groups = ["default"] files = [ {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, @@ -2618,6 +2766,7 @@ name = "python-magic" version = "0.4.27" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" summary = "File type identification using libmagic" +groups = ["default"] files = [ {file = "python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b"}, {file = "python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3"}, @@ -2627,6 +2776,7 @@ files = [ name = "pytz" version = "2024.1" summary = "World timezone definitions, modern and historical" +groups = ["default"] files = [ {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, @@ -2636,6 +2786,8 @@ files = [ name = "pywin32" version = "306" summary = "Python for Window Extensions" +groups = ["default"] +marker = "platform_system == \"Windows\"" files = [ {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, @@ -2651,6 +2803,7 @@ name = "pyyaml" version = "6.0.1" requires_python = ">=3.6" summary = "YAML parser and emitter for Python" +groups = ["default", "lint"] files = [ {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, @@ -2684,6 +2837,7 @@ name = "qdrant-client" version = "1.7.0" requires_python = ">=3.8,<3.13" summary = "Client library for the Qdrant vector search engine" +groups = ["default"] dependencies = [ "grpcio-tools>=1.41.0", "grpcio>=1.41.0", @@ -2703,6 +2857,7 @@ name = "realtime" version = "1.0.2" requires_python = ">=3.8,<4.0" summary = "" +groups = ["default"] dependencies = [ "python-dateutil<3.0.0,>=2.8.1", "typing-extensions<5.0.0,>=4.2.0", @@ -2718,6 +2873,7 @@ name = "referencing" version = "0.33.0" requires_python = ">=3.8" summary = "JSON Referencing + Python" +groups = ["default"] dependencies = [ "attrs>=22.2.0", "rpds-py>=0.7.0", @@ -2732,6 +2888,7 @@ name = "regex" version = "2023.12.25" requires_python = ">=3.7" summary = "Alternative regular expression module, to replace re." +groups = ["default"] files = [ {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"}, {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"}, @@ -2788,6 +2945,7 @@ name = "replicate" version = "0.22.0" requires_python = ">=3.8" summary = "Python client for Replicate" +groups = ["default"] dependencies = [ "httpx<1,>=0.21.0", "packaging", @@ -2804,6 +2962,7 @@ name = "requests" version = "2.31.0" requires_python = ">=3.7" summary = "Python HTTP for Humans." +groups = ["default"] dependencies = [ "certifi>=2017.4.17", "charset-normalizer<4,>=2", @@ -2820,6 +2979,7 @@ name = "rich" version = "13.7.0" requires_python = ">=3.7.0" summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +groups = ["default"] dependencies = [ "markdown-it-py>=2.2.0", "pygments<3.0.0,>=2.13.0", @@ -2834,6 +2994,7 @@ name = "rpds-py" version = "0.18.0" requires_python = ">=3.8" summary = "Python bindings to Rust's persistent data structures (rpds)" +groups = ["default"] files = [ {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, @@ -2915,6 +3076,7 @@ name = "rsa" version = "4.9" requires_python = ">=3.6,<4" summary = "Pure-Python RSA implementation" +groups = ["default"] dependencies = [ "pyasn1>=0.1.3", ] @@ -2928,6 +3090,7 @@ name = "s3transfer" version = "0.6.2" requires_python = ">= 3.7" summary = "An Amazon S3 Transfer Manager" +groups = ["default"] dependencies = [ "botocore<2.0a.0,>=1.12.36", ] @@ -2941,6 +3104,7 @@ name = "safetensors" version = "0.4.2" requires_python = ">=3.7" summary = "" +groups = ["default"] files = [ {file = "safetensors-0.4.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:69d8bb8384dc2cb5b72c36c4d6980771b293d1a1377b378763f5e37b6bb8d133"}, {file = "safetensors-0.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3d420e19fcef96d0067f4de4699682b4bbd85fc8fea0bd45fcd961fdf3e8c82c"}, @@ -3013,6 +3177,7 @@ name = "setuptools" version = "69.1.0" requires_python = ">=3.8" summary = "Easily download, build, install, upgrade, and uninstall Python packages" +groups = ["default", "lint"] files = [ {file = "setuptools-69.1.0-py3-none-any.whl", hash = "sha256:c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6"}, {file = "setuptools-69.1.0.tar.gz", hash = "sha256:850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401"}, @@ -3023,6 +3188,7 @@ name = "shapely" version = "2.0.3" requires_python = ">=3.7" summary = "Manipulation and analysis of geometric objects" +groups = ["default"] dependencies = [ "numpy<2,>=1.14", ] @@ -3056,6 +3222,7 @@ name = "six" version = "1.16.0" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" summary = "Python 2 and 3 compatibility utilities" +groups = ["default"] files = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, @@ -3066,6 +3233,7 @@ name = "smart-open" version = "6.4.0" requires_python = ">=3.6,<4.0" summary = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)" +groups = ["default"] files = [ {file = "smart_open-6.4.0-py3-none-any.whl", hash = "sha256:8d3ef7e6997e8e42dd55c74166ed21e6ac70664caa32dd940b26d54a8f6b4142"}, {file = "smart_open-6.4.0.tar.gz", hash = "sha256:be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9"}, @@ -3076,6 +3244,7 @@ name = "smmap" version = "5.0.1" requires_python = ">=3.7" summary = "A pure Python implementation of a sliding window memory map manager" +groups = ["default"] files = [ {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, @@ -3086,6 +3255,7 @@ name = "sniffio" version = "1.3.0" requires_python = ">=3.7" summary = "Sniff out which async library your code is running under" +groups = ["default"] files = [ {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, @@ -3096,6 +3266,7 @@ name = "soupsieve" version = "2.5" requires_python = ">=3.8" summary = "A modern CSS selector implementation for Beautiful Soup." +groups = ["default"] files = [ {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, @@ -3105,6 +3276,7 @@ files = [ name = "spinners" version = "0.0.24" summary = "Spinners for terminals" +groups = ["default"] files = [ {file = "spinners-0.0.24-py3-none-any.whl", hash = "sha256:2fa30d0b72c9650ad12bbe031c9943b8d441e41b4f5602b0ec977a19f3290e98"}, {file = "spinners-0.0.24.tar.gz", hash = "sha256:1eb6aeb4781d72ab42ed8a01dcf20f3002bf50740d7154d12fb8c9769bf9e27f"}, @@ -3115,8 +3287,9 @@ name = "sqlalchemy" version = "2.0.26" requires_python = ">=3.7" summary = "Database Abstraction Library" +groups = ["default"] dependencies = [ - "greenlet!=0.4.17; platform_machine == \"aarch64\" or (platform_machine == \"ppc64le\" or (platform_machine == \"x86_64\" or (platform_machine == \"amd64\" or (platform_machine == \"AMD64\" or (platform_machine == \"win32\" or platform_machine == \"WIN32\")))))", + "greenlet!=0.4.17; platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\"", "typing-extensions>=4.6.0", ] files = [ @@ -3154,6 +3327,7 @@ version = "2.0.26" extras = ["asyncio"] requires_python = ">=3.7" summary = "Database Abstraction Library" +groups = ["default"] dependencies = [ "SQLAlchemy==2.0.26", "greenlet!=0.4.17", @@ -3192,6 +3366,7 @@ name = "storage3" version = "0.7.0" requires_python = ">=3.8,<4.0" summary = "Supabase Storage client for Python." +groups = ["default"] dependencies = [ "httpx<0.26,>=0.24", "python-dateutil<3.0.0,>=2.8.2", @@ -3206,6 +3381,7 @@ files = [ name = "strenum" version = "0.4.15" summary = "An Enum that inherits from str." +groups = ["default"] files = [ {file = "StrEnum-0.4.15-py3-none-any.whl", hash = "sha256:a30cda4af7cc6b5bf52c8055bc4bf4b2b6b14a93b574626da33df53cf7740659"}, {file = "StrEnum-0.4.15.tar.gz", hash = "sha256:878fb5ab705442070e4dd1929bb5e2249511c0bcf2b0eeacf3bcd80875c82eff"}, @@ -3216,6 +3392,7 @@ name = "supabase" version = "2.2.1" requires_python = ">=3.8,<4.0" summary = "Supabase client for Python." +groups = ["default"] dependencies = [ "gotrue<3.0,>=1.3", "httpx<0.25.0,>=0.24.0", @@ -3234,6 +3411,7 @@ name = "supafunc" version = "0.3.3" requires_python = ">=3.8,<4.0" summary = "Library for Supabase Functions" +groups = ["default"] dependencies = [ "httpx<0.26,>=0.24", ] @@ -3247,6 +3425,7 @@ name = "sympy" version = "1.12" requires_python = ">=3.8" summary = "Computer algebra system (CAS) in Python" +groups = ["default"] dependencies = [ "mpmath>=0.19", ] @@ -3260,6 +3439,7 @@ name = "tabulate" version = "0.9.0" requires_python = ">=3.7" summary = "Pretty-print tabular data" +groups = ["default"] files = [ {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, @@ -3270,6 +3450,7 @@ name = "tenacity" version = "8.2.3" requires_python = ">=3.7" summary = "Retry code until it succeeds" +groups = ["default"] files = [ {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, @@ -3280,6 +3461,7 @@ name = "termcolor" version = "2.4.0" requires_python = ">=3.8" summary = "ANSI color formatting for output in terminal" +groups = ["default"] files = [ {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"}, {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"}, @@ -3290,6 +3472,7 @@ name = "tiktoken" version = "0.4.0" requires_python = ">=3.8" summary = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" +groups = ["default"] dependencies = [ "regex>=2022.1.18", "requests>=2.26.0", @@ -3324,6 +3507,7 @@ name = "tokenizers" version = "0.15.2" requires_python = ">=3.7" summary = "" +groups = ["default"] dependencies = [ "huggingface-hub<1.0,>=0.16.4", ] @@ -3399,6 +3583,8 @@ name = "tomli" version = "2.0.1" requires_python = ">=3.7" summary = "A lil' TOML parser" +groups = ["lint"] +marker = "python_version < \"3.11\"" files = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, @@ -3409,6 +3595,7 @@ name = "tqdm" version = "4.66.2" requires_python = ">=3.7" summary = "Fast, Extensible Progress Meter" +groups = ["default"] dependencies = [ "colorama; platform_system == \"Windows\"", ] @@ -3422,6 +3609,7 @@ name = "transformers" version = "4.37.0" requires_python = ">=3.8.0" summary = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +groups = ["default"] dependencies = [ "filelock", "huggingface-hub<1.0,>=0.19.3", @@ -3444,6 +3632,7 @@ name = "typer" version = "0.9.0" requires_python = ">=3.6" summary = "Typer, build great CLIs. Easy to code. Based on Python type hints." +groups = ["docs"] dependencies = [ "click<9.0.0,>=7.1.1", "typing-extensions>=3.7.4.3", @@ -3458,6 +3647,7 @@ name = "typing-extensions" version = "4.9.0" requires_python = ">=3.8" summary = "Backported and Experimental Type Hints for Python 3.8+" +groups = ["default", "docs", "lint"] files = [ {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, @@ -3467,6 +3657,7 @@ files = [ name = "typing-inspect" version = "0.9.0" summary = "Runtime inspection utilities for typing module." +groups = ["default"] dependencies = [ "mypy-extensions>=0.3.0", "typing-extensions>=3.7.4", @@ -3481,6 +3672,7 @@ name = "tzdata" version = "2024.1" requires_python = ">=2" summary = "Provider of IANA time zone data" +groups = ["default"] files = [ {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, @@ -3491,6 +3683,7 @@ name = "tzlocal" version = "5.2" requires_python = ">=3.8" summary = "tzinfo object for the local timezone" +groups = ["default"] dependencies = [ "tzdata; platform_system == \"Windows\"", ] @@ -3504,6 +3697,7 @@ name = "ujson" version = "5.9.0" requires_python = ">=3.8" summary = "Ultra fast JSON encoder and decoder for Python" +groups = ["default"] files = [ {file = "ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa"}, {file = "ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5"}, @@ -3554,9 +3748,10 @@ files = [ [[package]] name = "unstract-adapters" -version = "0.1.1" +version = "0.2.0" requires_python = "<3.12,>=3.9" summary = "Unstract Adapters" +groups = ["default"] dependencies = [ "SQLAlchemy==2.0.26", "anthropic==0.7.8", @@ -3581,8 +3776,8 @@ dependencies = [ "weaviate-client==3.25.3", ] files = [ - {file = "unstract_adapters-0.1.1-py3-none-any.whl", hash = "sha256:121b2d8cd78a985a262be7d2e0ad20de4ddc290ce249e94c195a4f7f403df008"}, - {file = "unstract_adapters-0.1.1.tar.gz", hash = "sha256:d2bb682469dbef7155cdca828bb6884bbe16cf2b644bda86207db5d75aee68da"}, + {file = "unstract_adapters-0.2.0-py3-none-any.whl", hash = "sha256:7a794ff1410de655f9ae42e473ef4eba48a2536458bda54e738d61a1ef8a0f7c"}, + {file = "unstract_adapters-0.2.0.tar.gz", hash = "sha256:6617878780b2bbd3036b315d39d6f3e72b455728ce8a6b1cced666d4d34859b3"}, ] [[package]] @@ -3590,6 +3785,7 @@ name = "urllib3" version = "1.26.18" requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" summary = "HTTP library with thread-safe connection pooling, file post, and more." +groups = ["default"] files = [ {file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"}, {file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"}, @@ -3600,6 +3796,7 @@ name = "validators" version = "0.22.0" requires_python = ">=3.8" summary = "Python Data Validation for Humans™" +groups = ["default"] files = [ {file = "validators-0.22.0-py3-none-any.whl", hash = "sha256:61cf7d4a62bbae559f2e54aed3b000cea9ff3e2fdbe463f51179b92c58c9585a"}, {file = "validators-0.22.0.tar.gz", hash = "sha256:77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370"}, @@ -3609,6 +3806,7 @@ files = [ name = "vecs" version = "0.1.0" summary = "pgvector client" +groups = ["default"] dependencies = [ "pgvector==0.1.*", "sqlalchemy==2.*", @@ -3622,6 +3820,7 @@ name = "virtualenv" version = "20.25.0" requires_python = ">=3.7" summary = "Virtual Python Environment builder" +groups = ["lint"] dependencies = [ "distlib<1,>=0.3.7", "filelock<4,>=3.12.2", @@ -3637,6 +3836,7 @@ name = "weaviate-client" version = "3.25.3" requires_python = ">=3.8" summary = "A python native Weaviate client" +groups = ["default"] dependencies = [ "authlib<2.0.0,>=1.2.1", "requests<3.0.0,>=2.30.0", @@ -3652,6 +3852,7 @@ name = "websockets" version = "11.0.3" requires_python = ">=3.7" summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" +groups = ["default"] files = [ {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac"}, {file = "websockets-11.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d"}, @@ -3710,6 +3911,8 @@ name = "win32-setctime" version = "1.1.0" requires_python = ">=3.5" summary = "A small Python utility to set file creation time on Windows" +groups = ["default"] +marker = "sys_platform == \"win32\"" files = [ {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, @@ -3720,6 +3923,7 @@ name = "wrapt" version = "1.16.0" requires_python = ">=3.6" summary = "Module for decorators, wrappers and monkey patching." +groups = ["default"] files = [ {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, @@ -3760,6 +3964,7 @@ name = "yamllint" version = "1.35.1" requires_python = ">=3.8" summary = "A linter for YAML files." +groups = ["lint"] dependencies = [ "pathspec>=0.5.3", "pyyaml", @@ -3774,6 +3979,7 @@ name = "yarl" version = "1.9.4" requires_python = ">=3.7" summary = "Yet another URL library" +groups = ["default"] dependencies = [ "idna>=2.0", "multidict>=4.0", diff --git a/pyproject.toml b/pyproject.toml index d95dce69..9590f6e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [ "python-magic~=0.4.27", "python-dotenv==1.0.0", # LLM Triad - "unstract-adapters~=0.1.1", + "unstract-adapters~=0.2.0", "llama-index @ git+https://github.com/Zipstack/llama-index.git@v0.9.28-unstract.1", "tiktoken~=0.4.0", "transformers==4.37.0", diff --git a/src/unstract/sdk/__init__.py b/src/unstract/sdk/__init__.py index f3a1c406..44ae57a0 100644 --- a/src/unstract/sdk/__init__.py +++ b/src/unstract/sdk/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.9.0" +__version__ = "0.10.0" def get_sdk_version():