Skip to content

Commit 59832ea

Browse files
authored
Merge pull request #9 from EetuaLaine/main
Add pyproject.toml, uv installation steps, new requirements.txt file.
2 parents 84034f3 + 698810e commit 59832ea

File tree

5 files changed

+393
-65
lines changed

5 files changed

+393
-65
lines changed

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ pip install -e .
99
wraval generate
1010
```
1111

12+
## Install with uv
13+
14+
```bash
15+
uv venv
16+
source .venv/bin/activate
17+
uv pip install -e .
18+
wraval generate
19+
```
20+
1221
## Step by step
1322

1423
### 1. Start by generating evaluation data for each of the writing assistant tasks (a.k.a. tones)
@@ -99,7 +108,7 @@ You can use the [CloudFormation yaml](src/cloudformation.yml) to start a Sagemak
99108
- [ ] merge generate_all_datasets and generate_specific_datasets
100109
- [ ] batch processing for Bedrock
101110
- [ ] batch processing for Sagemaker endpoint
102-
- [ ] uv?
111+
- [x] uv
103112
- [x] from main.py to setup.py
104113
- [ ] better sagemaker inference output parsing
105114
- [x] add a model_router.py

pyproject.toml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
[build-system]
2+
requires = ["setuptools>=61", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "wraval"
7+
version = "0.1.0"
8+
description = """WRAVAL helps in evaluating LLMs for writing assistant tasks like summarization,
9+
professional tone, witty tone, etc."""
10+
readme = "README.md"
11+
requires-python = ">=3.9"
12+
authors = [{ name = "Gabriel Benedict", email = "[email protected]" }]
13+
14+
# Dependencies – see note below for loading from requirements.txt
15+
dependencies = [
16+
"tqdm==4.66.4",
17+
"pandas==2.2.3",
18+
"beautifulsoup4==4.12.3",
19+
"boto3==1.34.143",
20+
"plotly==5.24.1",
21+
"transformers==4.48.1",
22+
"datasets==3.2.0",
23+
"evaluate==0.4.3",
24+
"dynaconf==3.2.7",
25+
"torch~=2.6.0",
26+
"botocore~=1.34.162",
27+
"sagemaker",
28+
"numpy",
29+
"requests"
30+
]
31+
32+
[project.scripts]
33+
wraval = "wraval.main:main"
34+
35+
[tool.setuptools]
36+
package-dir = {"" = "src"}
37+
include-package-data = true
38+
39+
[tool.setuptools.packages.find]
40+
where = ["src"]
41+
42+
[tool.setuptools.data-files]
43+
# This copies the config file into the installation (non-package dir)
44+
"config" = ["config/settings.toml"]
45+

requirements.txt

Lines changed: 289 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,293 @@
1-
tqdm==4.66.4
2-
numpy==2.2.2
3-
pandas==2.2.3
1+
# This file was autogenerated by uv via the following command:
2+
# uv pip compile pyproject.toml -o requirements.txt
3+
aiohappyeyeballs==2.6.1
4+
# via aiohttp
5+
aiohttp==3.11.18
6+
# via
7+
# datasets
8+
# fsspec
9+
aiosignal==1.3.2
10+
# via aiohttp
11+
annotated-types==0.7.0
12+
# via pydantic
13+
antlr4-python3-runtime==4.9.3
14+
# via omegaconf
15+
anyio==4.9.0
16+
# via starlette
17+
attrs==23.2.0
18+
# via
19+
# aiohttp
20+
# jsonschema
21+
# referencing
22+
# sagemaker
423
beautifulsoup4==4.12.3
24+
# via wraval (pyproject.toml)
525
boto3==1.34.143
6-
plotly==5.24.1
7-
transformers==4.48.1
26+
# via
27+
# wraval (pyproject.toml)
28+
# sagemaker
29+
# sagemaker-core
30+
botocore==1.34.162
31+
# via
32+
# wraval (pyproject.toml)
33+
# boto3
34+
# s3transfer
35+
certifi==2025.4.26
36+
# via requests
37+
charset-normalizer==3.4.2
38+
# via requests
39+
click==8.1.8
40+
# via uvicorn
41+
cloudpickle==2.2.1
42+
# via sagemaker
843
datasets==3.2.0
9-
evaluate==0.4.3
44+
# via
45+
# wraval (pyproject.toml)
46+
# evaluate
47+
dill==0.3.8
48+
# via
49+
# datasets
50+
# evaluate
51+
# multiprocess
52+
# pathos
53+
docker==7.1.0
54+
# via sagemaker
1055
dynaconf==3.2.7
11-
torch~=2.6.0
12-
requests~=2.32.3
13-
botocore~=1.34.162
56+
# via wraval (pyproject.toml)
57+
evaluate==0.4.3
58+
# via wraval (pyproject.toml)
59+
fastapi==0.115.12
60+
# via sagemaker
61+
filelock==3.18.0
62+
# via
63+
# datasets
64+
# huggingface-hub
65+
# torch
66+
# transformers
67+
frozenlist==1.6.0
68+
# via
69+
# aiohttp
70+
# aiosignal
71+
fsspec==2024.9.0
72+
# via
73+
# datasets
74+
# evaluate
75+
# huggingface-hub
76+
# torch
77+
google-pasta==0.2.0
78+
# via sagemaker
79+
h11==0.16.0
80+
# via uvicorn
81+
hf-xet==1.1.0
82+
# via huggingface-hub
83+
huggingface-hub==0.31.1
84+
# via
85+
# datasets
86+
# evaluate
87+
# tokenizers
88+
# transformers
89+
idna==3.10
90+
# via
91+
# anyio
92+
# requests
93+
# yarl
94+
importlib-metadata==6.11.0
95+
# via
96+
# sagemaker
97+
# sagemaker-core
98+
jinja2==3.1.6
99+
# via torch
100+
jmespath==1.0.1
101+
# via
102+
# boto3
103+
# botocore
104+
jsonschema==4.23.0
105+
# via
106+
# sagemaker
107+
# sagemaker-core
108+
jsonschema-specifications==2025.4.1
109+
# via jsonschema
110+
markdown-it-py==3.0.0
111+
# via rich
112+
markupsafe==3.0.2
113+
# via jinja2
114+
mdurl==0.1.2
115+
# via markdown-it-py
116+
mock==4.0.3
117+
# via sagemaker-core
118+
mpmath==1.3.0
119+
# via sympy
120+
multidict==6.4.3
121+
# via
122+
# aiohttp
123+
# yarl
124+
multiprocess==0.70.16
125+
# via
126+
# datasets
127+
# evaluate
128+
# pathos
129+
networkx==3.4.2
130+
# via torch
131+
numpy==1.26.4
132+
# via
133+
# wraval (pyproject.toml)
134+
# datasets
135+
# evaluate
136+
# pandas
137+
# sagemaker
138+
# transformers
139+
omegaconf==2.2.3
140+
# via sagemaker
141+
packaging==25.0
142+
# via
143+
# datasets
144+
# evaluate
145+
# huggingface-hub
146+
# plotly
147+
# sagemaker
148+
# transformers
149+
pandas==2.2.3
150+
# via
151+
# wraval (pyproject.toml)
152+
# datasets
153+
# evaluate
154+
# sagemaker
155+
pathos==0.3.2
156+
# via sagemaker
157+
platformdirs==4.3.8
158+
# via
159+
# sagemaker
160+
# sagemaker-core
161+
plotly==5.24.1
162+
# via wraval (pyproject.toml)
163+
pox==0.3.6
164+
# via pathos
165+
ppft==1.7.7
166+
# via pathos
167+
propcache==0.3.1
168+
# via
169+
# aiohttp
170+
# yarl
171+
protobuf==4.25.7
172+
# via sagemaker
173+
psutil==7.0.0
174+
# via sagemaker
175+
pyarrow==20.0.0
176+
# via datasets
177+
pydantic==2.11.4
178+
# via
179+
# fastapi
180+
# sagemaker-core
181+
pydantic-core==2.33.2
182+
# via pydantic
183+
pygments==2.19.1
184+
# via rich
185+
python-dateutil==2.9.0.post0
186+
# via
187+
# botocore
188+
# pandas
189+
pytz==2025.2
190+
# via pandas
191+
pyyaml==6.0.2
192+
# via
193+
# datasets
194+
# huggingface-hub
195+
# omegaconf
196+
# sagemaker
197+
# sagemaker-core
198+
# transformers
199+
referencing==0.36.2
200+
# via
201+
# jsonschema
202+
# jsonschema-specifications
203+
regex==2024.11.6
204+
# via transformers
205+
requests==2.32.3
206+
# via
207+
# wraval (pyproject.toml)
208+
# datasets
209+
# docker
210+
# evaluate
211+
# huggingface-hub
212+
# sagemaker
213+
# transformers
214+
rich==13.9.4
215+
# via sagemaker-core
216+
rpds-py==0.24.0
217+
# via
218+
# jsonschema
219+
# referencing
220+
s3transfer==0.10.4
221+
# via boto3
222+
safetensors==0.5.3
223+
# via transformers
224+
sagemaker==2.236.0
225+
# via wraval (pyproject.toml)
226+
sagemaker-core==1.0.16
227+
# via sagemaker
228+
schema==0.7.7
229+
# via sagemaker
230+
setuptools==80.3.1
231+
# via torch
232+
six==1.17.0
233+
# via
234+
# google-pasta
235+
# python-dateutil
236+
smdebug-rulesconfig==1.0.1
237+
# via sagemaker
238+
sniffio==1.3.1
239+
# via anyio
240+
soupsieve==2.7
241+
# via beautifulsoup4
242+
starlette==0.46.2
243+
# via fastapi
244+
sympy==1.13.1
245+
# via torch
246+
tblib==3.1.0
247+
# via sagemaker
248+
tenacity==9.1.2
249+
# via plotly
250+
tokenizers==0.21.1
251+
# via transformers
252+
torch==2.6.0
253+
# via wraval (pyproject.toml)
254+
tqdm==4.66.4
255+
# via
256+
# wraval (pyproject.toml)
257+
# datasets
258+
# evaluate
259+
# huggingface-hub
260+
# sagemaker
261+
# transformers
262+
transformers==4.48.1
263+
# via wraval (pyproject.toml)
264+
typing-extensions==4.13.2
265+
# via
266+
# anyio
267+
# fastapi
268+
# huggingface-hub
269+
# pydantic
270+
# pydantic-core
271+
# referencing
272+
# torch
273+
# typing-inspection
274+
typing-inspection==0.4.0
275+
# via pydantic
276+
tzdata==2025.2
277+
# via pandas
278+
urllib3==2.4.0
279+
# via
280+
# botocore
281+
# docker
282+
# requests
283+
# sagemaker
284+
uvicorn==0.34.2
285+
# via sagemaker
286+
xxhash==3.5.0
287+
# via
288+
# datasets
289+
# evaluate
290+
yarl==1.20.0
291+
# via aiohttp
292+
zipp==3.21.0
293+
# via importlib-metadata

0 commit comments

Comments
 (0)