-
Notifications
You must be signed in to change notification settings - Fork 68
Expand file tree
/
Copy pathpyproject.toml
More file actions
120 lines (111 loc) · 4.32 KB
/
pyproject.toml
File metadata and controls
120 lines (111 loc) · 4.32 KB
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
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core", "setuptools<72.0"]
[tool.poetry]
authors = ["John Horton <info@expectedparrot.com>"]
classifiers = ["Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules"]
description = "Create and analyze LLM-based surveys"
documentation = "https://docs.expectedparrot.com"
homepage = "https://www.expectedparrot.com/"
include = ["edsl/questions/templates/**/*", "edsl/assistants/EDSL_SPECIFICATION.md"]
keywords = ["LLM", "social science", "surveys", "user research"]
license = "MIT"
name = "edsl"
readme = "README.md"
version = "1.0.7.dev1"
[tool.poetry.dependencies]
# Required
python = ">=3.10,<3.14"
aiohttp = "^3.9.1"
httpx = ">=0.24.0"
jinja2 = "^3.1.2"
json-repair = "^0.28.4"
nest-asyncio = "^1.5.9"
platformdirs = "^4.3.6"
pydantic = "^2.0"
python-dotenv = "^1.0.0"
pyyaml = "^6.0"
requests = "^2.32.0"
restrictedpython = "^7.0"
rich = "^13.7.0"
simpleeval = "^0.9.13"
tenacity = "^8.2.3"
# Optional: inference provider SDKs (install with edsl[inference])
openai = {version = "^1.4.0", extras = ["aiohttp"], optional = true}
anthropic = {version = "^0.80.0", optional = true}
azure-ai-inference = {version = "^1.0.0b3", optional = true}
boto3 = {version = "^1.34.161", optional = true}
google-genai = {version = "^1.30.0", optional = true}
groq = {version = "0.23.1", optional = true}
mistralai = {version = "^1.0.2", optional = true}
# Optional: file format handlers (install with edsl[file-formats])
openpyxl = {version = "^3.1.5", optional = true}
pypdf2 = {version = "^3.0.1", optional = true}
python-docx = {version = "^1.1.0", optional = true}
python-pptx = {version = "^1.0.2", optional = true}
# Optional: other
black = {version = "^24.4.2", optional = true}
pydot = {version = "^2.0.0", optional = true}
sqlalchemy = {version = "^2.0.23", optional = true}
pandas = {version = "^2.1.4", optional = true}
altair = {version = "^5.0.0", optional = true}
fastapi = {version = "^0.112.1", optional = true}
google-cloud-storage = {version = ">=2.14.0", optional = true}
nbclient = {version = "^0.10.0", optional = true}
nbformat = {version = "^5.0.0", optional = true}
playwright = {version = "^1.40.0", optional = true}
psutil = "^6.1.0"
qrcode = {version = "^8.0", extras = ["pil"], optional = true}
redis = {version = ">=5.0.0", optional = true}
seaborn = {version = "^0.13.2", optional = true}
sentence-transformers = {version = "^2.2.2", optional = true}
termplotlib = {version = "^0.3.9", optional = true}
uvicorn = {version = "^0.30.6", optional = true}
[tool.poetry.dependencies.typer]
extras = ["all"]
version = "^0.9.0"
[tool.poetry.extras]
inference = ["openai", "groq", "boto3", "anthropic", "azure-ai-inference", "google-genai", "mistralai", "sqlalchemy"]
file-formats = ["python-docx", "openpyxl", "pypdf2", "python-pptx", "pandas"]
full = ["openai", "groq", "boto3", "anthropic", "azure-ai-inference", "google-genai", "mistralai", "sqlalchemy", "black", "pydot", "python-docx", "openpyxl", "pypdf2", "python-pptx", "playwright", "fastapi", "uvicorn", "altair", "nbformat", "nbclient", "psutil", "sentence-transformers", "seaborn", "termplotlib", "qrcode", "pandas"]
notebook = ["nbformat", "nbclient", "psutil"]
screenshots = ["playwright"]
services = ["fastapi", "uvicorn"]
viz = ["altair", "nbformat", "nbclient", "termplotlib", "pydot"]
agent_building = ["sentence-transformers", "seaborn"]
runner = ["redis", "sqlalchemy"]
runner-gcp = ["google-cloud-storage"]
gcp = ["google-cloud-storage"]
[tool.poetry.group.dev.dependencies]
mypy = "^1.7.1"
myst-parser = "^3.0.1"
nbsphinx = "^0.9.3"
objgraph = "^3.6.0"
pre-commit = "^3.6.0"
pydocstyle = "^6.3.0"
pylint = "^3.1.0"
ruff = "^0.3.0"
sphinx = "^7.2.6"
sphinx-copybutton = "^0.5.2"
sphinx-fontawesome = "^0.0.6"
sphinx-rtd-theme = "^2.0.0"
toml-sort = "^0.23.1"
ty = "^0.0.23"
[tool.poetry.group.test.dependencies]
click = "^8.0.0"
coverage = "^7.3.3"
nbformat = "^5.9.2"
pytest = "^7.4.3"
pytest-asyncio = "^0.23.5"
pytest-env = "^1.1.3"
pytest-html = "^4.1.1"
pytest-mock = "^3.12.0"
pytest-profiling = "^1.7.0"
pytest-xdist = "^3.5.0"
numpy = "^1.24.0"
[tool.poetry.scripts]
edsl = "edsl.__main__:main"
[tool.ty.rules]
unresolved-import = "ignore"
[tool.tomlsort.overrides."tool.poetry.dependencies"]
table_keys = false