-
Notifications
You must be signed in to change notification settings - Fork 604
/
setup.py
120 lines (110 loc) · 3.42 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/usr/bin/env python
# coding: utf-8
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
import os
from os.path import join as pjoin
from pathlib import Path
from setuptools import setup
from setupbase import HERE
from setupbase import combine_commands
from setupbase import create_cmdclass
from setupbase import ensure_targets
from setupbase import install_npm
nb_path = pjoin(HERE, "src", "evidently", "nbextension", "static")
# Representative files that should exist after a successful build
jstargets = [
pjoin(nb_path, "index.js"),
]
package_data_spec = {
"evidently": [
"nbextension/static/*.*js*",
"nbextension/static/*.*woff2*",
"ui/assets/*",
"ui/assets/static/css/*",
"ui/assets/static/js/*",
"ui/assets/static/img/*",
]
}
data_files_spec = [
("share/jupyter/nbextensions/evidently", nb_path, "*.js*"),
("share/jupyter/nbextensions/evidently", nb_path, "*.woff2"),
("etc/jupyter/nbconfig/notebook.d", HERE, "evidently.json"),
]
cmdclass = create_cmdclass("jsdeps", package_data_spec=package_data_spec, data_files_spec=data_files_spec)
cmdclass["jsdeps"] = combine_commands(
install_npm(os.path.join(HERE, "ui"), build_cmd="build"),
ensure_targets(jstargets),
)
setup_args = dict(
cmdclass=cmdclass,
author_email="[email protected]",
long_description=(Path(__file__).parent / "README.md").read_text("utf8"),
long_description_content_type="text/markdown",
include_package_data=True,
install_requires=[
"plotly>=5.10.0",
"statsmodels>=0.12.2",
"scikit-learn>=1.0.1",
"pandas[parquet]>=1.3.5",
"numpy>=1.22.0,<2.1",
"nltk>=3.6.7",
"scipy>=1.10.0",
"requests>=2.32.0",
"PyYAML>=5.4",
"pydantic>=1.10.13",
"litestar>=2.8.3",
"typing-inspect>=0.9.0",
"uvicorn[standard]>=0.22.0",
"watchdog>=3.0.0",
"typer>=0.3",
"rich>=13",
"iterative-telemetry>=0.0.5",
"dynaconf>=3.2.4",
"certifi>=2024.7.4",
"urllib3>=1.26.19",
"fsspec>=2024.6.1",
"ujson>=5.4.0",
"deprecation>=2.1.0",
"uuid6>=2024.7.10",
"cryptography>=43.0.1",
],
extras_require={
"dev": [
"pip-audit>=2.7.2",
"wheel==0.38.1",
"setuptools==65.5.1; python_version < '3.12'",
"setuptools==68.2.2; python_version >= '3.12'",
"jupyter==1.0.0",
"mypy==1.1.1",
"pandas-stubs>=1.3.5",
"pytest==7.4.4",
"types-PyYAML==6.0.1",
"types-requests==2.26.0",
"types-dataclasses==0.6",
"types-python-dateutil==2.8.19",
"types-ujson>=5.4.0",
"pillow==10.3.0",
"httpx==0.27.0",
"ruff==0.3.7",
"pre-commit==3.5.0",
"pytest-asyncio==0.23.7",
],
"llm": [
"openai>=1.16.2",
"evaluate>=0.4.1",
"transformers[torch]>=4.39.3",
"sentence-transformers>=2.7.0",
"chromadb>=0.4.0",
],
"spark": ["pyspark>=3.4.0"],
"fsspec": [
"s3fs>=2024.9.0",
"gcsfs>=2024.9.0",
# dependencies from fsspec[full]
],
},
entry_points={"console_scripts": ["evidently=evidently.cli:app"]},
)
if __name__ == "__main__":
setup(**setup_args)