/ pyproject.toml
pyproject.toml
1 [build-system] 2 requires = ["hatchling"] 3 build-backend = "hatchling.build" 4 5 [tool.hatch.version] 6 source = "code" 7 path = "src/evidently/_version.py" 8 9 [project] 10 name = "evidently" 11 dynamic = ["version"] 12 description = "Open-source tools to analyze, monitor, and debug machine learning model in production." 13 readme = "README.md" 14 requires-python = ">=3.10" 15 license = {text = "Apache License 2.0"} 16 authors = [ 17 {name = "Emeli Dral", email = "emeli.dral@gmail.com"} 18 ] 19 classifiers = [ 20 "Development Status :: 4 - Beta", 21 "Intended Audience :: Developers", 22 "License :: OSI Approved :: Apache Software License", 23 "Operating System :: OS Independent", 24 "Programming Language :: Python :: 3", 25 "Programming Language :: Python :: 3.10", 26 "Programming Language :: Python :: 3.11", 27 "Programming Language :: Python :: 3.12", 28 "Programming Language :: Python :: 3.13", 29 ] 30 dependencies = [ 31 "plotly>=5.10.0,<6", 32 "statsmodels>=0.14.0", 33 "scikit-learn>=1.1.1", 34 "pandas[parquet]>=1.3.5", 35 "numpy>=1.23.0", 36 "nltk>=3.6.7", 37 "scipy>=1.10.0", 38 "requests>=2.32.0", 39 "PyYAML>=6.0.1", 40 "pydantic>=1.10.16", 41 "litestar>=2.19.0", 42 "typing-inspect>=0.9.0", 43 "uvicorn[standard]>=0.22.0", 44 "watchdog>=3.0.0", 45 "typer>=0.3", 46 "rich>=13", 47 "iterative-telemetry>=0.0.5", 48 "dynaconf>=3.2.4", 49 "certifi>=2024.7.4", 50 "urllib3>=1.26.19", 51 "fsspec>=2024.9.0", 52 "ujson>=5.4.0", 53 "deprecation>=2.1.0", 54 "uuid6>=2024.7.10", 55 "cryptography>=43.0.1", 56 "opentelemetry-proto>=1.25.0", 57 ] 58 59 [project.optional-dependencies] 60 dev = [ 61 "pip-audit>=2.7.2", 62 "wheel==0.38.1", 63 "setuptools==65.5.1; python_version < '3.12'", 64 "setuptools==68.2.2; python_version >= '3.12'", 65 "jupyter==1.0.0", 66 "mypy==1.1.1", 67 "pandas-stubs>=1.3.5,<3", 68 "pytest==7.4.4", 69 "tracely>=0.2.11", 70 "types-PyYAML==6.0.1", 71 "types-requests==2.26.0", 72 "types-dataclasses==0.6", 73 "types-python-dateutil==2.8.19", 74 "types-ujson>=5.4.0", 75 "pillow>=11.3.0", 76 "httpx==0.27.0", 77 "ruff==0.3.7", 78 "pre-commit==3.5.0", 79 "pytest-asyncio==0.23.7", 80 "pytest-mock==3.14.0", 81 "pytest-html>=4.2.0", 82 ] 83 llm = [ 84 "openai>=1.16.2", 85 "evaluate>=0.4.1", 86 "transformers[torch]>=4.39.3", 87 "sentence-transformers>=2.7.0", 88 "sqlvalidator>=0.0.20", 89 "litellm>=1.74.3", 90 "llama-index>=0.10", 91 "faiss-cpu>=1.8.0", 92 ] 93 spark = [ 94 "pyspark>=3.4.0,<4", 95 ] 96 fsspec = [ 97 "s3fs>=2024.9.0", 98 "gcsfs>=2024.9.0", 99 ] 100 s3 = [ 101 "s3fs>=2024.9.0", 102 ] 103 gcs = [ 104 "gcsfs>=2024.9.0", 105 ] 106 sql = [ 107 "sqlalchemy>=2.0.0", 108 "psycopg2-binary>=2.9.0", 109 "alembic>=1.13.0", 110 ] 111 112 [project.scripts] 113 evidently = "evidently.cli:app" 114 115 [project.urls] 116 Homepage = "https://github.com/evidentlyai/evidently" 117 118 [tool.hatch.build.targets.wheel] 119 packages = ["src/evidently"] 120 121 [tool.hatch.build.targets.wheel.shared-data] 122 "src/evidently/nbextension/static" = "evidently/nbextension/static" 123 "src/evidently/legacy/ui/assets" = "evidently/legacy/ui/assets" 124 "src/evidently/ui/service/assets" = "evidently/ui/service/assets" 125 "src/evidently/ui/service/storage/sql/migrations" = "evidently/ui/service/storage/sql/migrations" 126 127 [tool.hatch.build.targets.sdist] 128 include = [ 129 "/README.md", 130 "/MANIFEST.in", 131 "/src", 132 ] 133 134 [tool.mypy] 135 show_error_codes = true 136 files = ["src/evidently"] 137 python_version = "3.10" 138 disable_error_code = "misc" 139 namespace_packages = true 140 no_implicit_optional = false 141 plugins = ["pydantic.mypy", "numpy.typing.mypy_plugin"] 142 143 [[tool.mypy.overrides]] 144 module = [ 145 "nltk.*", 146 "torch.*", 147 "evaluate.*", 148 "transformers.*", 149 "openai.*", 150 "sentence_transformers.*", 151 "scipy.*", 152 "sklearn.*", 153 "plotly.*", 154 "umap.*", 155 "IPython.*", 156 "iterative_telemetry.*", 157 "fastapi_restful.*", 158 "watchdog.*", 159 "pydantic.v1.*", 160 "pyspark.*", 161 "idna.*", 162 "fsspec.*", 163 "dynaconf.*", 164 "litestar.*", 165 "typing_inspect.*", 166 "ujson.*", 167 "deprecation.*", 168 "litellm.*", 169 "sqlvalidator.*", 170 "llama_index.*", 171 "pypdf.*", 172 "faiss.*", 173 "tracely.*", 174 "sqlalchemy.*", 175 "alembic.*", 176 ] 177 ignore_missing_imports = true 178 179 180 [tool.pytest.ini_options] 181 testpaths = ["tests"] 182 python_classes = "*Test" 183 markers = [ 184 "slow: slow tests", 185 "asyncio: async tests", 186 ]