diff --git a/pkgs/community/pyproject.toml b/pkgs/community/pyproject.toml index b9b8d8665..332deb6bd 100644 --- a/pkgs/community/pyproject.toml +++ b/pkgs/community/pyproject.toml @@ -15,48 +15,60 @@ classifiers = [ [tool.poetry.dependencies] python = ">=3.10,<3.13" -captcha = "*" -chromadb = "*" -duckdb = "*" -folium = "*" -gensim = "*" -#google-generativeai = "*" -gradio = "*" -leptonai = "0.22.0" -neo4j = "*" -nltk = "*" -#openai = "^1.52.0" -pandas = "*" -psutil = "*" -pygithub = "*" -python-dotenv = "*" -qrcode = "*" -redis = "^4.0" -#scikit-learn="^1.4.2" swarmauri = "==0.5.2" -textstat = "*" -transformers = ">=4.45.0" typing_extensions = "*" -tiktoken = "*" -pymupdf = "*" -annoy = "*" -qdrant_client = "*" -weaviate = "*" -pinecone-client = { version = "*", extras = ["grpc"] } -PyPDF2 = "*" -pypdftk = "*" -weaviate-client = "*" -protobuf = "^3.20.0" -# Pacmap requires specific version of numba -#numba = ">=0.59.0" -#pacmap = "==0.7.3" +matplotlib = { version = ">=3.9.2", optional = true } +nltk = { version = "^3.9.1", optional = true } +gensim = { version = "==4.3.3", optional = true } +transformers = { version = "^4.45.0", optional = true } +spacy = { version = ">=3.0.0,<=3.8.2", optional = true } +textblob = { version = "^0.18.0", optional = true } +torch = { version = "^2.5.0", optional = true } +leptonai = { version = "==0.22.0", optional = true } +redis = { version = "^4.0", optional = true } +pinecone-client = { version = ">=2.0.0", optional = true, extras = ["grpc"] } +#protobuf = { version = "^3.20.0", optional = true } +#numba = { version = ">=0.59.0", optional = true } +#pacmap = { version = "==0.7.3", optional = true } +[tool.poetry.extras] +# Grouped optional dependencies +nlp = ["nltk", "textblob", "textstat", "gensim"] +ml_toolkits = ["transformers", "annoy"] +visualization = ["folium", "matplotlib"] +storage = ["redis", "duckdb", "neo4j", "chromadb", "qdrant_client", "weaviate-client", "pinecone-client"] +document_processing = ["PyPDF2", "pymupdf", "pypdftk"] +cloud_integration = ["psutil", "qrcode", "pygithub"] +spacy = ["spacy"] +transformers = ["transformers"] +torch = ["torch"] +gradio = ["gradio"] +model_clients = ["leptonai", "google-generativeai", "openai"] +tiktoken = ["tiktoken"] +#protobuf = ["protobuf"] +#pacmap = ["numba", "pacmap"] + +# Full installation +full = [ + "nltk", "gensim", "textstat", + "transformers", "annoy", + "folium", "matplotlib", + "redis", "duckdb", "neo4j", "chromadb", "qdrant_client", "weaviate-client", "pinecone-client", + "PyPDF2", "pymupdf", "pypdftk", + "psutil", "qrcode", "pygithub", + "scipy", "spacy", + "torch", + "gradio", + "leptonai", "google-generativeai", "openai" + #"pacmap", "numba" +] [tool.poetry.dev-dependencies] -flake8 = "^7.0" # Add flake8 as a development dependency -pytest = "^8.0" # Ensure pytest is also added if you run tests +flake8 = "^7.0" +pytest = "^8.0" pytest-asyncio = ">=0.24.0" pytest-xdist = "^3.6.1" +python-dotenv = "^1.0.0" [build-system] requires = ["poetry-core>=1.0.0"] @@ -70,12 +82,10 @@ markers = [ "unit: Unit tests", "integration: Integration tests", "acceptance: Acceptance tests", - "experimental: Experimental tests", + "experimental: Experimental tests" ] - log_cli = true log_cli_level = "INFO" log_cli_format = "%(asctime)s [%(levelname)s] %(message)s" log_cli_date_format = "%Y-%m-%d %H:%M:%S" - -asyncio_default_fixture_loop_scope = "function" +asyncio_default_fixture_loop_scope = "function" \ No newline at end of file