[tool.poetry] name = "langtest" version = "2.8.0" description = "Pacific AI provides a library for delivering safe & effective NLP models." authors = ["Pacific AI "] readme = "README.md" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Topic :: Software Development :: Build Tools", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ] license = "Apache-2.0" homepage = "https://www.langtest.org" repository = "https://github.com/Pacific-AI-Corp/langtest/" documentation = "https://langtest.org/docs/pages/docs/install" keywords = [ "LLM", "NLP", "AI", "testing", "robustness", "bias", "fairness", "representation", "accuracy", "language processing", "natural language understanding", "machine learning", "data science", ] exclude = [ "tests/" ] [[tool.poetry.source]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" priority = "explicit" [tool.flake8] max-line-length = 90 ignore = "E203,E501,W503" per-file-ignores = '__init__.py:F401' [tool.black] line-length = 90 extend-exclude = "langtest/transform/constants.py" exclude = 'langtest/errors.py' [tool.poetry.dependencies] python = ">=3.12,<3.15" pydantic = ">=2.10.0" johnsnowlabs = {version = "^6.0.4", optional = true} rouge-score = { version = "^0.1.2", optional = true } evaluate = { version = "^0.4.0", optional = true } transformers = ">=5.5.0" huggingface_hub = { version = ">0.16.0", optional = true} spacy = { version = ">=3.0.0", optional = true } nest-asyncio = "^1.5.0" openai = ">=1.61.1" jsonlines = ">=3.1.0" torch = {version = "^2.8.0", optional = true, source = "pytorch-cpu"} pandas = "^2.0.3" pyyaml = "^6.0" tqdm = "^4.67.1" cohere = { version = "^4.10.0", optional = true} ai21 = {version = "^1.1.0", optional = true} metaflow = {version = ">=2.9.0", optional = true} accelerate = {version = ">=1.10.0", optional = true} seqeval = {version = "^1.2.0", optional = true} mlflow = {version = ">=3.10.1", optional = true} datasets = {version = ">=3.6.0", optional = true} matplotlib = {version = "^3.7.2", optional = true} tenacity = {version = "^8.2.2", optional = true} langchain = {version = ">=1.3.13", optional = true} typing-extensions = "^4.10.0" langchain-openai = {version = ">=0.3.7", optional = true} boto3 = {version = "^1.34.93", optional = true} importlib-resources = ">=5.10" click = ">=8.1.7" openpyxl = ">=3.1.5" tables = ">=3.8.0" pillow = ">=11.0.0" langchain-community = {version = ">=0.4.1", optional = true} langchain-ollama = {version = ">=0.2.2", optional = true} databricks-langchain = {version = "0.5.1", optional = true, markers = "python_version >= '3.12' and python_version < '3.13'"} scipy = {version = ">=1.17.1", optional = true} deprecated = "^1.2.18" [tool.poetry.extras] transformers = ["transformers", "torch", "accelerate", "datasets"] evaluate = ["evaluate", "rouge-score", "seqeval"] spacy = ["spacy"] johnsnowlabs = ["johnsnowlabs"] openai = ["openai", "langchain", "langchain-openai", "langchain-community"] cohere = ["cohere", "langchain", "langchain-community"] ai21 = ["ai21", "langchain", "langchain-community"] huggingface_hub = ["huggingface_hub", "langchain"] metaflow = ["metaflow"] mlflow = ["mlflow"] datasets = ["datasets"] matplotlib = ["matplotlib"] databricks = ["langchain", "databricks-langchain", "langchain-community", "langchain-openai"] llms = ["langchain", "langchain-community", "langchain-openai", "langchain-ollama"] ollama_sdk = ["langchain", "langchain-community", "ollama"] [tool.poetry.group.dev.dependencies] ipdb = "^0.13.13" pytest = ">=9.0.3" taskipy = "^1.11.0" en-core-web-sm = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0.tar.gz" } black = ">=26.3.1" pyproject-flake8 = "^7.0.0" pre-commit = "^3.3.3" pydocstyle = "^6.3.0" ipykernel = "^6.29.5" pytest-cov = "^6.0.0" pytest-xdist = "^3.8.0" [tool.taskipy.tasks] test = "pytest tests/* -v --disable-warnings -n auto" lint = "pflake8 langtest/" format = "black langtest/ tests/" check-docstrings = "pydocstyle langtest/ --add-select=D417 --add-ignore=D100,D104,D105,D400,D415 --convention=google" is-formatted = "black --check langtest/ tests/" force-cpu-torch = "pip cache purge" extra-lib = "python -m pip install openpyxl tables" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] langtest = "langtest.__main__:cli"