From c3d1e2dab09697ca74cdda92f3f523ec97c29ae6 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Tue, 20 Feb 2024 21:57:17 +0530 Subject: [PATCH 1/4] X2Text adapter support added --- pdm.lock | 246 +------------------------------------- src/unstract/sdk/x2txt.py | 51 ++++++++ tests/sample.env | 4 + tests/test_x2text.py | 60 ++++++++++ 4 files changed, 118 insertions(+), 243 deletions(-) create mode 100644 src/unstract/sdk/x2txt.py create mode 100644 tests/test_x2text.py diff --git a/pdm.lock b/pdm.lock index cc419dd6..abd560ca 100644 --- a/pdm.lock +++ b/pdm.lock @@ -3,8 +3,8 @@ [metadata] groups = ["default", "docs", "lint", "test"] -strategy = ["cross_platform", "inherit_metadata"] -lock_version = "4.4.1" +strategy = ["cross_platform"] +lock_version = "4.4" content_hash = "sha256:7e11a0af1f50a32e22fc083bb3d626cc7c6af46099eb29ff0fa1ddf6095f48da" [[package]] @@ -12,7 +12,6 @@ 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", @@ -30,7 +29,6 @@ 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", @@ -45,7 +43,6 @@ 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\"", @@ -108,7 +105,6 @@ 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\"", ] @@ -122,7 +118,6 @@ 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", ] @@ -136,7 +131,6 @@ 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"}, @@ -147,7 +141,6 @@ 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", @@ -167,7 +160,6 @@ 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", @@ -183,7 +175,6 @@ files = [ name = "anyscale" version = "0.5.165" summary = "Command Line Interface for Anyscale" -groups = ["default"] dependencies = [ "Click>=7.0", "GitPython", @@ -222,7 +213,6 @@ files = [ 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"}, @@ -233,7 +223,6 @@ name = "argon2-cffi" version = "23.1.0" requires_python = ">=3.7" summary = "Argon2 for Python" -groups = ["default"] dependencies = [ "argon2-cffi-bindings", ] @@ -247,7 +236,6 @@ 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", ] @@ -279,7 +267,6 @@ files = [ 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"}, @@ -290,8 +277,6 @@ 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"}, @@ -302,7 +287,6 @@ 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\"", ] @@ -339,7 +323,6 @@ 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"}, @@ -350,7 +333,6 @@ 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", ] @@ -364,7 +346,6 @@ 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\"", @@ -379,7 +360,6 @@ 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"}, @@ -390,7 +370,6 @@ name = "beautifulsoup4" version = "4.12.3" requires_python = ">=3.6.0" summary = "Screen-scraping library" -groups = ["default"] dependencies = [ "soupsieve>1.2", ] @@ -404,7 +383,6 @@ 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", @@ -439,7 +417,6 @@ 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", @@ -455,7 +432,6 @@ 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", @@ -471,7 +447,6 @@ 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", @@ -485,7 +460,6 @@ files = [ name = "boxsdk" version = "3.9.2" summary = "Official Box Python SDK" -groups = ["default"] dependencies = [ "attrs>=17.3.0", "python-dateutil", @@ -503,7 +477,6 @@ name = "boxsdk" version = "3.9.2" extras = ["jwt"] summary = "Official Box Python SDK" -groups = ["default"] dependencies = [ "boxsdk==3.9.2", "cryptography>=3", @@ -519,7 +492,6 @@ 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"}, @@ -530,7 +502,6 @@ 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"}, @@ -541,7 +512,6 @@ name = "cffi" version = "1.16.0" requires_python = ">=3.8" summary = "Foreign Function Interface for Python calling C code." -groups = ["default"] dependencies = [ "pycparser", ] @@ -587,7 +557,6 @@ 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"}, @@ -598,7 +567,6 @@ 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"}, @@ -654,7 +622,6 @@ 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\"", ] @@ -668,7 +635,6 @@ 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"}, @@ -679,7 +645,6 @@ 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", ] @@ -693,7 +658,6 @@ 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", ] @@ -728,7 +692,6 @@ 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", @@ -743,7 +706,6 @@ 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", ] @@ -756,7 +718,6 @@ files = [ name = "deprecation" version = "2.1.0" summary = "A library to handle automated deprecations" -groups = ["default"] dependencies = [ "packaging", ] @@ -769,7 +730,6 @@ 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"}, @@ -780,7 +740,6 @@ 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"}, @@ -791,7 +750,6 @@ 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"}, @@ -802,7 +760,6 @@ 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"}, @@ -812,7 +769,6 @@ files = [ name = "dropbox" version = "11.36.2" summary = "Official Dropbox API Client" -groups = ["default"] dependencies = [ "requests>=2.16.2", "six>=1.12.0", @@ -828,7 +784,6 @@ name = "dropboxdrivefs" version = "1.3.1" requires_python = ">=3.5" summary = "Dropbox implementation for fsspec module" -groups = ["default"] dependencies = [ "dropbox", "fsspec", @@ -843,7 +798,6 @@ name = "environs" version = "9.5.0" requires_python = ">=3.6" summary = "simplified environment variable parsing" -groups = ["default"] dependencies = [ "marshmallow>=3.0.0", "python-dotenv", @@ -858,8 +812,6 @@ 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"}, @@ -870,7 +822,6 @@ 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", @@ -889,7 +840,6 @@ 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"}, @@ -899,7 +849,6 @@ 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"}, @@ -910,7 +859,6 @@ 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", @@ -926,7 +874,6 @@ 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\"", @@ -939,7 +886,6 @@ 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"}, @@ -949,7 +895,6 @@ files = [ name = "flupy" version = "1.2.0" summary = "Method chaining built on generators" -groups = ["default"] dependencies = [ "typing-extensions", ] @@ -962,7 +907,6 @@ 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"}, @@ -1018,7 +962,6 @@ 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"}, @@ -1028,7 +971,6 @@ files = [ 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"}, @@ -1039,7 +981,6 @@ name = "gitdb" version = "4.0.11" requires_python = ">=3.7" summary = "Git Object Database" -groups = ["default"] dependencies = [ "smmap<6,>=3.0.1", ] @@ -1053,7 +994,6 @@ 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", ] @@ -1067,7 +1007,6 @@ 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", @@ -1083,7 +1022,6 @@ 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", @@ -1101,7 +1039,6 @@ 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", @@ -1119,7 +1056,6 @@ 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", @@ -1137,7 +1073,6 @@ 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", @@ -1154,7 +1089,6 @@ files = [ name = "google-auth-httplib2" version = "0.2.0" summary = "Google Authentication Library: httplib2 transport" -groups = ["default"] dependencies = [ "google-auth", "httplib2>=0.19.0", @@ -1169,7 +1103,6 @@ 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", @@ -1190,7 +1123,6 @@ 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", @@ -1213,7 +1145,6 @@ 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", @@ -1228,7 +1159,6 @@ 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", @@ -1246,7 +1176,6 @@ 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", @@ -1264,7 +1193,6 @@ 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", @@ -1282,7 +1210,6 @@ 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"}, @@ -1338,7 +1265,6 @@ 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", @@ -1355,7 +1281,6 @@ 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", ] @@ -1369,7 +1294,6 @@ 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", ] @@ -1384,7 +1308,6 @@ 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", @@ -1399,7 +1322,6 @@ 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", @@ -1414,7 +1336,6 @@ 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"}, @@ -1452,7 +1373,6 @@ 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", @@ -1468,7 +1388,6 @@ 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"}, @@ -1505,7 +1424,6 @@ 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", @@ -1521,7 +1439,6 @@ 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", @@ -1563,7 +1480,6 @@ 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"}, @@ -1574,7 +1490,6 @@ 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", @@ -1589,7 +1504,6 @@ 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", @@ -1606,7 +1520,6 @@ 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"}, @@ -1617,7 +1530,6 @@ 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", @@ -1634,7 +1546,6 @@ 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\"", ] @@ -1648,7 +1559,6 @@ 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", @@ -1666,7 +1576,6 @@ 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", @@ -1680,7 +1589,6 @@ 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"}, @@ -1691,7 +1599,6 @@ 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", @@ -1711,7 +1618,6 @@ 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\"", ] @@ -1725,7 +1631,6 @@ 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"}, @@ -1736,7 +1641,6 @@ 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"}, @@ -1747,7 +1651,6 @@ 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"}, @@ -1758,7 +1661,6 @@ 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"}, @@ -1769,7 +1671,6 @@ 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"}, @@ -1780,7 +1681,6 @@ 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"}, @@ -1791,7 +1691,6 @@ 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"}, @@ -1802,7 +1701,6 @@ 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", ] @@ -1816,7 +1714,6 @@ 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"}, @@ -1827,7 +1724,6 @@ 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", @@ -1844,7 +1740,6 @@ 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", ] @@ -1858,7 +1753,6 @@ name = "lazydocs" version = "0.4.8" requires_python = ">=3.6" summary = "Generate markdown API documentation for Google-style Python docstring." -groups = ["docs"] dependencies = [ "typer", ] @@ -1872,7 +1766,6 @@ name = "llama-index" version = "0.9.28" requires_python = ">=3.8.1,<4.0" summary = "Interface between LLMs and your data" -groups = ["default"] dependencies = [ "SQLAlchemy[asyncio]>=1.4.49", "aiohttp<4.0.0,>=3.8.6", @@ -1903,7 +1796,6 @@ files = [ name = "log-symbols" version = "0.0.14" summary = "Colored symbols for various log levels for Python" -groups = ["default"] dependencies = [ "colorama>=0.3.9", ] @@ -1917,7 +1809,6 @@ 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\"", @@ -1932,7 +1823,6 @@ 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", ] @@ -1946,7 +1836,6 @@ 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", ] @@ -1960,7 +1849,6 @@ 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"}, @@ -1971,7 +1859,6 @@ 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"}, @@ -1981,7 +1868,6 @@ files = [ name = "minio" version = "7.2.4" summary = "MinIO Python SDK for Amazon S3 Compatible Cloud Storage" -groups = ["default"] dependencies = [ "argon2-cffi", "certifi", @@ -1999,7 +1885,6 @@ 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", @@ -2016,7 +1901,6 @@ 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"}, @@ -2027,7 +1911,6 @@ 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"}, @@ -2083,7 +1966,6 @@ 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"}, @@ -2094,7 +1976,6 @@ 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"}, @@ -2105,7 +1986,6 @@ 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"}, @@ -2116,7 +1996,6 @@ name = "nltk" version = "3.8.1" requires_python = ">=3.7" summary = "Natural Language Toolkit" -groups = ["default"] dependencies = [ "click", "joblib", @@ -2133,7 +2012,6 @@ 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", ] @@ -2147,7 +2025,6 @@ 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"}, @@ -2183,7 +2060,6 @@ 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", @@ -2201,7 +2077,6 @@ name = "onnx" version = "1.15.0" requires_python = ">=3.8" summary = "Open Neural Network Exchange" -groups = ["default"] dependencies = [ "numpy", "protobuf>=3.20.2", @@ -2232,7 +2107,6 @@ files = [ name = "onnxruntime" version = "1.17.0" summary = "ONNX Runtime is a runtime accelerator for Machine Learning models" -groups = ["default"] dependencies = [ "coloredlogs", "flatbuffers", @@ -2264,7 +2138,6 @@ 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", @@ -2284,7 +2157,6 @@ 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"}, @@ -2324,7 +2196,6 @@ 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"}, @@ -2335,7 +2206,6 @@ 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\"", @@ -2370,7 +2240,6 @@ 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"}, @@ -2381,7 +2250,6 @@ 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"}, @@ -2392,7 +2260,6 @@ 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", @@ -2407,7 +2274,6 @@ 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", @@ -2423,7 +2289,6 @@ name = "pgvector" version = "0.1.8" requires_python = ">=3.6" summary = "pgvector support for Python" -groups = ["default"] dependencies = [ "numpy", ] @@ -2436,7 +2301,6 @@ 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"}, @@ -2492,7 +2356,6 @@ 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", @@ -2514,7 +2377,6 @@ 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"] files = [ {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, @@ -2524,7 +2386,6 @@ files = [ 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"}, @@ -2535,7 +2396,6 @@ 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\"", ] @@ -2549,7 +2409,6 @@ 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", @@ -2566,7 +2425,6 @@ 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", @@ -2584,7 +2442,6 @@ 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", ] @@ -2598,7 +2455,6 @@ 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"}, @@ -2616,7 +2472,6 @@ 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"}, @@ -2662,7 +2517,6 @@ name = "pyarrow" version = "15.0.0" requires_python = ">=3.8" summary = "Python library for Apache Arrow" -groups = ["default"] dependencies = [ "numpy<2,>=1.16.6", ] @@ -2696,7 +2550,6 @@ 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"}, @@ -2707,7 +2560,6 @@ 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", ] @@ -2721,7 +2573,6 @@ 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"}, @@ -2732,7 +2583,6 @@ 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"}, @@ -2743,7 +2593,6 @@ 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"}, @@ -2773,7 +2622,6 @@ 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", @@ -2789,7 +2637,6 @@ name = "pydantic-core" version = "2.16.2" requires_python = ">=3.8" summary = "" -groups = ["default"] dependencies = [ "typing-extensions!=4.7.0,>=4.6.0", ] @@ -2855,7 +2702,6 @@ 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", @@ -2873,7 +2719,6 @@ 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", @@ -2891,7 +2736,6 @@ 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"}, @@ -2902,7 +2746,6 @@ 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"}, @@ -2913,7 +2756,6 @@ 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"}, @@ -2924,7 +2766,6 @@ 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", @@ -2944,7 +2785,6 @@ files = [ 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"}, @@ -2969,7 +2809,6 @@ 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"}, @@ -2980,7 +2819,6 @@ 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", ] @@ -2994,8 +2832,6 @@ 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"}, @@ -3006,7 +2842,6 @@ 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"}, @@ -3027,8 +2862,6 @@ 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"}, @@ -3039,7 +2872,6 @@ 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", @@ -3054,7 +2886,6 @@ 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", ] @@ -3068,7 +2899,6 @@ 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"}, @@ -3079,7 +2909,6 @@ 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"}, @@ -3089,7 +2918,6 @@ 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"}, @@ -3099,8 +2927,6 @@ 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"}, @@ -3116,7 +2942,6 @@ 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"}, @@ -3150,7 +2975,6 @@ 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", @@ -3170,7 +2994,6 @@ 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", @@ -3186,7 +3009,6 @@ 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", @@ -3201,7 +3023,6 @@ 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"}, @@ -3258,7 +3079,6 @@ name = "replicate" version = "0.22.0" requires_python = ">=3.8" summary = "Python client for Replicate" -groups = ["default"] dependencies = [ "httpx<1,>=0.21.0", "packaging", @@ -3275,7 +3095,6 @@ 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", @@ -3292,7 +3111,6 @@ 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", ] @@ -3306,7 +3124,6 @@ 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", @@ -3321,7 +3138,6 @@ 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"}, @@ -3403,7 +3219,6 @@ name = "rsa" version = "4.9" requires_python = ">=3.6,<4" summary = "Pure-Python RSA implementation" -groups = ["default"] dependencies = [ "pyasn1>=0.1.3", ] @@ -3417,7 +3232,6 @@ 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", @@ -3434,7 +3248,6 @@ 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", @@ -3449,7 +3262,6 @@ 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", ] @@ -3463,7 +3275,6 @@ 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"}, @@ -3536,7 +3347,6 @@ 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"}, @@ -3547,7 +3357,6 @@ name = "shapely" version = "2.0.3" requires_python = ">=3.7" summary = "Manipulation and analysis of geometric objects" -groups = ["default"] dependencies = [ "numpy<2,>=1.14", ] @@ -3581,7 +3390,6 @@ 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"}, @@ -3592,7 +3400,6 @@ 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"}, @@ -3603,7 +3410,6 @@ 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"}, @@ -3614,7 +3420,6 @@ 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"}, @@ -3625,7 +3430,6 @@ 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", @@ -3670,7 +3474,6 @@ 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", @@ -3699,7 +3502,6 @@ files = [ 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"}, @@ -3710,7 +3512,6 @@ 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"}, @@ -3720,7 +3521,6 @@ 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"}, @@ -3731,9 +3531,8 @@ name = "sqlalchemy" version = "2.0.26" requires_python = ">=3.7" summary = "Database Abstraction Library" -groups = ["default"] dependencies = [ - "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\"", + "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\")))))", "typing-extensions>=4.6.0", ] files = [ @@ -3771,7 +3570,6 @@ 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", @@ -3809,7 +3607,6 @@ files = [ 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", @@ -3824,7 +3621,6 @@ 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", @@ -3839,7 +3635,6 @@ 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"}, @@ -3850,7 +3645,6 @@ 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", @@ -3869,7 +3663,6 @@ 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", ] @@ -3883,7 +3676,6 @@ name = "sympy" version = "1.12" requires_python = ">=3.8" summary = "Computer algebra system (CAS) in Python" -groups = ["default"] dependencies = [ "mpmath>=0.19", ] @@ -3897,7 +3689,6 @@ 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"}, @@ -3908,7 +3699,6 @@ 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"}, @@ -3919,8 +3709,6 @@ 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"}, ] @@ -3930,7 +3718,6 @@ 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"}, @@ -3941,7 +3728,6 @@ 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", @@ -3976,7 +3762,6 @@ name = "tokenizers" version = "0.15.2" requires_python = ">=3.7" summary = "" -groups = ["default"] dependencies = [ "huggingface-hub<1.0,>=0.16.4", ] @@ -4052,8 +3837,6 @@ 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"}, @@ -4064,7 +3847,6 @@ 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"}, @@ -4075,7 +3857,6 @@ name = "tqdm" version = "4.66.2" requires_python = ">=3.7" summary = "Fast, Extensible Progress Meter" -groups = ["default"] dependencies = [ "colorama; platform_system == \"Windows\"", ] @@ -4089,7 +3870,6 @@ 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", @@ -4112,7 +3892,6 @@ 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", @@ -4127,7 +3906,6 @@ 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"}, @@ -4137,7 +3915,6 @@ 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", @@ -4152,7 +3929,6 @@ 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"}, @@ -4163,7 +3939,6 @@ name = "tzlocal" version = "5.2" requires_python = ">=3.8" summary = "tzinfo object for the local timezone" -groups = ["default"] dependencies = [ "tzdata; platform_system == \"Windows\"", ] @@ -4177,7 +3952,6 @@ 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"}, @@ -4231,7 +4005,6 @@ name = "unstract-adapters" version = "0.1.1" requires_python = "<3.12,>=3.9" summary = "Unstract Adapters" -groups = ["default"] dependencies = [ "SQLAlchemy==2.0.26", "anthropic==0.7.8", @@ -4265,7 +4038,6 @@ 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", @@ -4291,7 +4063,6 @@ 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"}, @@ -4302,7 +4073,6 @@ 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"}, @@ -4313,7 +4083,6 @@ 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"}, @@ -4323,7 +4092,6 @@ files = [ name = "vecs" version = "0.1.0" summary = "pgvector client" -groups = ["default"] dependencies = [ "pgvector==0.1.*", "sqlalchemy==2.*", @@ -4337,7 +4105,6 @@ 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", @@ -4353,7 +4120,6 @@ 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", @@ -4369,7 +4135,6 @@ 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"}, @@ -4428,8 +4193,6 @@ 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"}, @@ -4440,7 +4203,6 @@ 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"}, @@ -4481,7 +4243,6 @@ name = "yamllint" version = "1.35.1" requires_python = ">=3.8" summary = "A linter for YAML files." -groups = ["lint"] dependencies = [ "pathspec>=0.5.3", "pyyaml", @@ -4496,7 +4257,6 @@ 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/src/unstract/sdk/x2txt.py b/src/unstract/sdk/x2txt.py new file mode 100644 index 00000000..58b8fe27 --- /dev/null +++ b/src/unstract/sdk/x2txt.py @@ -0,0 +1,51 @@ +from abc import ABCMeta + +from unstract.adapters.constants import Common +from unstract.adapters.x2text import adapters +from unstract.adapters.x2text.constants import X2TextConstants +from unstract.adapters.x2text.x2text_adapter import X2TextAdapter + +from unstract.sdk.adapters import ToolAdapter +from unstract.sdk.constants import LogLevel +from unstract.sdk.tool.base import BaseTool + + +class X2Text(metaclass=ABCMeta): + def __init__(self, tool: BaseTool): + self.tool = tool + self.x2text_adapters = adapters + + def get_x2text(self, adapter_instance_id: str) -> X2TextAdapter: + try: + x2text_config = ToolAdapter.get_adapter_config( + self.tool, adapter_instance_id + ) + x2text_adapter_id = x2text_config.get(Common.ADAPTER_ID) + if x2text_adapter_id in self.x2text_adapters: + x2text_adapter = self.x2text_adapters[x2text_adapter_id][ + Common.METADATA + ][Common.ADAPTER] + x2text_metadata = x2text_config.get(Common.ADAPTER_METADATA) + # Add x2text service host, port and platform_service_key + x2text_metadata[ + X2TextConstants.X2TEXT_HOST + ] = self.tool.get_env_or_die(X2TextConstants.X2TEXT_HOST) + x2text_metadata[ + X2TextConstants.X2TEXT_PORT + ] = self.tool.get_env_or_die(X2TextConstants.X2TEXT_PORT) + x2text_metadata[ + X2TextConstants.PLATFORM_SERVICE_API_KEY + ] = self.tool.get_env_or_die( + X2TextConstants.PLATFORM_SERVICE_API_KEY + ) + + x2text_adapter_class = x2text_adapter(x2text_metadata) + + return x2text_adapter_class + + except Exception as e: + self.tool.stream_log( + log=f"Unable to get x2text adapter {adapter_instance_id}: {e}", + level=LogLevel.ERROR, + ) + return None diff --git a/tests/sample.env b/tests/sample.env index 7cbeb0d7..fcab5fcc 100644 --- a/tests/sample.env +++ b/tests/sample.env @@ -2,6 +2,10 @@ PLATFORM_SERVICE_HOST=http://127.0.0.1 PLATFORM_SERVICE_PORT=3001 PLATFORM_SERVICE_API_KEY= +X2TEXT_HOST=http://localhost +X2TEXT_PORT=3004 + LLM_TEST_VALUES=["", "", ""] EMBEDDING_TEST_VALUES=["", "", ""] VECTOR_DB_TEST_VALUES=["", "", ""] +X2TEXT_TEST_VALUES=["", ""] diff --git a/tests/test_x2text.py b/tests/test_x2text.py new file mode 100644 index 00000000..38c48aac --- /dev/null +++ b/tests/test_x2text.py @@ -0,0 +1,60 @@ +import json +import logging +import os +import unittest +from typing import Any + +from dotenv import load_dotenv +from parameterized import parameterized + +from unstract.sdk.tool.base import BaseTool +from unstract.sdk.x2txt import X2Text + +load_dotenv() + +logger = logging.getLogger(__name__) + + +def get_test_values(env_key: str) -> list[str]: + values = json.loads(os.environ.get(env_key)) + return values + + +def get_env_value(env_key: str) -> str: + value = os.environ.get(env_key) + return value + + +class ToolX2TextTest(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() + + @parameterized.expand(get_test_values("X2TEXT_TEST_VALUES")) + def test_get_x2text(self, adapter_instance_id): + tool_x2text = X2Text(tool=self.tool) + x2text = tool_x2text.get_x2text(adapter_instance_id) + self.assertIsNotNone(x2text) + self.assertTrue(x2text.test_connection()) + + input_file = get_env_value("INPUT_FILE_PATH") + output_file = get_env_value("OUTPUT_FILE_PATH") + if os.path.isfile(output_file): + os.remove(output_file) + x2text.process(input_file, output_file) + file_size = os.path.getsize(output_file) + self.assertGreater(file_size, 0) + + +if __name__ == "__main__": + unittest.main() From 15ea96aa892965112dd538772ec00f701e3ed4d4 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Wed, 21 Feb 2024 22:16:59 +0530 Subject: [PATCH 2/4] Update test code --- tests/test_x2text.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/test_x2text.py b/tests/test_x2text.py index 38c48aac..d39f5041 100644 --- a/tests/test_x2text.py +++ b/tests/test_x2text.py @@ -6,6 +6,7 @@ from dotenv import load_dotenv from parameterized import parameterized +from unstract.adapters.x2text.constants import LLMWhispererSupportedModes from unstract.sdk.tool.base import BaseTool from unstract.sdk.x2txt import X2Text @@ -49,9 +50,20 @@ def test_get_x2text(self, adapter_instance_id): input_file = get_env_value("INPUT_FILE_PATH") output_file = get_env_value("OUTPUT_FILE_PATH") + + if os.path.isfile(output_file): + os.remove(output_file) + file_content = x2text.process( + input_file, output_file, mode=LLMWhispererSupportedModes.OCR.value + ) + file_size = os.path.getsize(output_file) + self.assertGreater(file_size, 0) + if os.path.isfile(output_file): os.remove(output_file) - x2text.process(input_file, output_file) + with open(output_file, "w", encoding="utf-8") as f: + f.write(file_content) + f.close() file_size = os.path.getsize(output_file) self.assertGreater(file_size, 0) From b72776a2aed460fd51e30a055c7bfadabdb54aa2 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Wed, 21 Feb 2024 22:31:11 +0530 Subject: [PATCH 3/4] Resolve SONAR issue --- tests/test_x2text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_x2text.py b/tests/test_x2text.py index d39f5041..39c65356 100644 --- a/tests/test_x2text.py +++ b/tests/test_x2text.py @@ -34,7 +34,7 @@ def run( settings: dict[str, Any] = {}, workflow_id: str = "", ) -> None: - # self.stream_log("Mock tool running") + # Dummify method for dummy tool pass @classmethod From 145657e7743148d0dcb947410ce0b60ca52290d5 Mon Sep 17 00:00:00 2001 From: gayathrivijayakumar Date: Wed, 21 Feb 2024 23:33:29 +0530 Subject: [PATCH 4/4] Add idea folder to be ignored byt Git commit --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6769e21d..2dc53ca3 100644 --- a/.gitignore +++ b/.gitignore @@ -157,4 +157,4 @@ cython_debug/ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ \ No newline at end of file +.idea/