arthrod commited on
Commit
76b80b6
·
1 Parent(s): ca8de5d
Files changed (9) hide show
  1. .env.example +6 -0
  2. .gitignore +2 -0
  3. .python-version +1 -0
  4. Dockerfile +2 -2
  5. README.md +29 -0
  6. app.py +3 -1
  7. main.py +6 -0
  8. pyproject.toml +189 -0
  9. requirements.txt +375 -119
.env.example ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ # API Keys
2
+ CICEROJOBAPPS_API_KEY=your_marimo_token_password_here
3
+ JINA_API_KEY=your_jina_api_key_here
4
+
5
+ # Optional: Add other environment variables as needed
6
+ # GOOGLE_API_KEY=your_google_api_key_here
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ .venv/
2
+ uv.lock
.python-version ADDED
@@ -0,0 +1 @@
 
 
1
+ 3.13
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM python:3.12
2
  COPY --from=ghcr.io/astral-sh/uv:0.4.20 /uv /bin/uv
3
 
4
  RUN useradd -m -u 1000 user
@@ -16,4 +16,4 @@ RUN mkdir -p /app/__marimo__ && \
16
  chmod -R 755 /app
17
  USER user
18
 
19
- CMD ["marimo", "run", "app.py", "--token-password","${CICEROJOBAPPS_API_KEY}","--host", "0.0.0.0", "--port", "7860"]
 
1
+ FROM python:3.13
2
  COPY --from=ghcr.io/astral-sh/uv:0.4.20 /uv /bin/uv
3
 
4
  RUN useradd -m -u 1000 user
 
16
  chmod -R 755 /app
17
  USER user
18
 
19
+ CMD marimo run app.py --token-password ${CICEROJOBAPPS_API_KEY} --host 0.0.0.0 --port 7860
README.md CHANGED
@@ -9,5 +9,34 @@ license: apache-2.0
9
  short_description: Cicero Career and Application Assistant
10
  ---
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  Check out marimo at <https://github.com/marimo-team/marimo>
13
  Check out the configuration reference at <https://huggingface.co/docs/hub/spaces-config-reference>
 
9
  short_description: Cicero Career and Application Assistant
10
  ---
11
 
12
+ ## Setup Instructions
13
+
14
+ ### Environment Variables
15
+
16
+ This Space requires the following environment variables to be configured:
17
+
18
+ 1. **CICEROJOBAPPS_API_KEY** - Password/token for accessing the Marimo app
19
+ 2. **JINA_API_KEY** - API key for Jina AI (used for fetching job postings from URLs)
20
+
21
+ #### Setting Environment Variables in Hugging Face Spaces:
22
+
23
+ 1. Go to your Space settings
24
+ 2. Navigate to the "Variables and secrets" section
25
+ 3. Add the following secrets:
26
+ - Name: `CICEROJOBAPPS_API_KEY`, Value: your desired password
27
+ - Name: `JINA_API_KEY`, Value: your Jina API key from [jina.ai](https://jina.ai)
28
+ 4. Restart your Space for changes to take effect
29
+
30
+ #### Local Development:
31
+
32
+ For local development, create a `.env` file in the project root (see `.env.example` for template):
33
+
34
+ ```bash
35
+ CICEROJOBAPPS_API_KEY=your_password_here
36
+ JINA_API_KEY=your_jina_api_key_here
37
+ ```
38
+
39
+ ---
40
+
41
  Check out marimo at <https://github.com/marimo-team/marimo>
42
  Check out the configuration reference at <https://huggingface.co/docs/hub/spaces-config-reference>
app.py CHANGED
@@ -244,7 +244,9 @@ def _(job_posting_area, job_url, mo):
244
  import httpx
245
 
246
  url = f'https://r.jina.ai/{job_url.value}'
247
- headers = {f'Authorization': 'Bearer '}
 
 
248
  response = httpx.get(url, headers=headers)
249
  job_posting = response.text
250
 
 
244
  import httpx
245
 
246
  url = f'https://r.jina.ai/{job_url.value}'
247
+ import os
248
+ jina_api_key = os.environ.get('JINA_API_KEY', '')
249
+ headers = {'Authorization': f'Bearer {jina_api_key}'}
250
  response = httpx.get(url, headers=headers)
251
  job_posting = response.text
252
 
main.py ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ def main():
2
+ print("Hello from cicero-job-apps!")
3
+
4
+
5
+ if __name__ == "__main__":
6
+ main()
pyproject.toml ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [project]
2
+ name = "cicerojobapps"
3
+ version = "0.1.0"
4
+ description = "cicerojobapps"
5
+ readme = "README.md"
6
+ requires-python = ">=3.13"
7
+ dependencies = [
8
+ "ag-ui-protocol==0.1.9",
9
+ "aiohappyeyeballs==2.6.1",
10
+ "aiohttp==3.13.0",
11
+ "aiosignal==1.4.0",
12
+ "annotated-types==0.7.0",
13
+ "anthropic==0.70.0",
14
+ "anyio==4.11.0",
15
+ "argcomplete==3.6.2",
16
+ "attrs==25.4.0",
17
+ "authlib==1.6.5",
18
+ "basedpyright==1.31.7",
19
+ "beautifulsoup4==4.14.2",
20
+ "black==25.9.0",
21
+ "boto3==1.40.53",
22
+ "botocore==1.40.53",
23
+ "cachetools==6.2.1",
24
+ "certifi==2025.10.5",
25
+ "cffi==2.0.0",
26
+ "charset-normalizer==3.4.4",
27
+ "click==8.3.0",
28
+ "cobble==0.1.4",
29
+ "cohere==5.19.0",
30
+ "colorama==0.4.6",
31
+ "coloredlogs==15.0.1",
32
+ "cryptography==46.0.3",
33
+ "cyclopts==3.24.0",
34
+ "defusedxml==0.7.1",
35
+ "distro==1.9.0",
36
+ "dnspython==2.8.0",
37
+ "docstring-parser==0.17.0",
38
+ "docstring-to-markdown==0.17",
39
+ "docutils==0.22.2",
40
+ "email-validator==2.3.0",
41
+ "eval-type-backport==0.2.2",
42
+ "exceptiongroup==1.3.0",
43
+ "executing==2.2.1",
44
+ "fastavro==1.12.1",
45
+ "fastmcp==2.12.4",
46
+ "filelock==3.20.0",
47
+ "flatbuffers==25.9.23",
48
+ "frozenlist==1.8.0",
49
+ "fsspec==2025.9.0",
50
+ "genai-prices==0.0.32",
51
+ "google-auth==2.41.1",
52
+ "google-genai==1.45.0",
53
+ "googleapis-common-protos==1.70.0",
54
+ "griffe==1.14.0",
55
+ "groq==0.32.0",
56
+ "h11==0.16.0",
57
+ "hf-xet==1.1.10",
58
+ "html-for-docx==1.0.10",
59
+ "httpcore==1.0.9",
60
+ "httpx==0.28.1",
61
+ "httpx-sse==0.4.0",
62
+ "huggingface-hub==0.35.3",
63
+ "humanfriendly==10.0",
64
+ "idna==3.11",
65
+ "importlib-metadata==8.7.0",
66
+ "iniconfig==2.1.0",
67
+ "invoke==2.2.1",
68
+ "isodate==0.7.2",
69
+ "itsdangerous==2.2.0",
70
+ "jedi==0.19.2",
71
+ "jiter==0.11.0",
72
+ "jmespath==1.0.1",
73
+ "jsonschema==4.25.1",
74
+ "jsonschema-path==0.3.4",
75
+ "jsonschema-specifications==2025.9.1",
76
+ "lazy-object-proxy==1.12.0",
77
+ "logfire==4.13.2",
78
+ "logfire-api==4.13.2",
79
+ "loro==1.8.1",
80
+ "lxml==6.0.2",
81
+ "magika==0.6.2",
82
+ "mammoth==1.11.0",
83
+ "marimo==0.17.0",
84
+ "markdown==3.9",
85
+ "markdown-it-py==4.0.0",
86
+ "markdownify==1.2.0",
87
+ "markitdown[docx,pdf]>=0.1.2",
88
+ "markupsafe==3.0.3",
89
+ "mcp==1.17.0",
90
+ "mdurl==0.1.2",
91
+ "mistralai==1.9.11",
92
+ "mistune==3.1.4",
93
+ "more-itertools==10.8.0",
94
+ "mpmath==1.3.0",
95
+ "msgspec-m==0.19.2",
96
+ "multidict==6.7.0",
97
+ "mypy-extensions==1.1.0",
98
+ "narwhals==2.8.0",
99
+ "nest-asyncio==1.6.0",
100
+ "nexus-rpc==1.1.0",
101
+ "nodejs-wheel-binaries==22.20.0",
102
+ "numpy==2.3.4",
103
+ "onnxruntime==1.23.1",
104
+ "openai==2.3.0",
105
+ "openapi-core==0.19.5",
106
+ "openapi-pydantic==0.5.1",
107
+ "openapi-schema-validator==0.6.3",
108
+ "openapi-spec-validator==0.7.2",
109
+ "opentelemetry-api==1.37.0",
110
+ "opentelemetry-exporter-otlp-proto-common==1.37.0",
111
+ "opentelemetry-exporter-otlp-proto-http==1.37.0",
112
+ "opentelemetry-instrumentation==0.58b0",
113
+ "opentelemetry-instrumentation-httpx==0.58b0",
114
+ "opentelemetry-proto==1.37.0",
115
+ "opentelemetry-sdk==1.37.0",
116
+ "opentelemetry-semantic-conventions==0.58b0",
117
+ "opentelemetry-util-http==0.58b0",
118
+ "packaging==25.0",
119
+ "parse==1.20.2",
120
+ "parso==0.8.5",
121
+ "pathable==0.4.4",
122
+ "pathspec==0.12.1",
123
+ "pdfminer-six==20250506",
124
+ "platformdirs==4.5.0",
125
+ "pluggy==1.6.0",
126
+ "prompt-toolkit==3.0.52",
127
+ "propcache==0.4.1",
128
+ "protobuf==6.33.0",
129
+ "psutil==7.1.0",
130
+ "pyasn1==0.6.1",
131
+ "pyasn1-modules==0.4.2",
132
+ "pycparser==2.23",
133
+ "pydantic==2.12.2",
134
+ "pydantic-ai==1.1.0",
135
+ "pydantic-ai-slim==1.1.0",
136
+ "pydantic-core==2.41.4",
137
+ "pydantic-evals==1.1.0",
138
+ "pydantic-graph==1.1.0",
139
+ "pydantic-settings==2.11.0",
140
+ "pygments==2.19.2",
141
+ "pymdown-extensions==10.16.1",
142
+ "pyperclip==1.11.0",
143
+ "pytest==8.4.2",
144
+ "python-dateutil==2.9.0.post0",
145
+ "python-docx==1.2.0",
146
+ "python-docx-replace==0.4.4",
147
+ "python-dotenv==1.1.1",
148
+ "python-lsp-jsonrpc==1.1.2",
149
+ "python-lsp-server==1.13.1",
150
+ "python-multipart==0.0.20",
151
+ "pytokens==0.2.0",
152
+ "pyyaml==6.0.3",
153
+ "referencing==0.36.2",
154
+ "requests==2.32.5",
155
+ "rfc3339-validator==0.1.4",
156
+ "rich==14.2.0",
157
+ "rich-rst==1.3.2",
158
+ "rpds-py==0.27.1",
159
+ "rsa==4.9.1",
160
+ "ruff==0.14.0",
161
+ "s3transfer==0.14.0",
162
+ "six==1.17.0",
163
+ "sniffio==1.3.1",
164
+ "soupsieve==2.8",
165
+ "sqlglot==27.27.0",
166
+ "sse-starlette==3.0.2",
167
+ "starlette==0.48.0",
168
+ "sympy==1.14.0",
169
+ "temporalio==1.18.0",
170
+ "tenacity==9.1.2",
171
+ "tokenizers==0.22.1",
172
+ "tomlkit==0.13.3",
173
+ "tqdm==4.67.1",
174
+ "ty==0.0.1a22",
175
+ "types-protobuf==6.32.1.20250918",
176
+ "types-requests==2.32.4.20250913",
177
+ "typing-extensions==4.15.0",
178
+ "typing-inspection==0.4.2",
179
+ "ujson==5.11.0",
180
+ "urllib3==2.5.0",
181
+ "uvicorn==0.37.0",
182
+ "uvloop==0.21.0",
183
+ "wcwidth==0.2.14",
184
+ "websockets==15.0.1",
185
+ "werkzeug==3.1.1",
186
+ "wrapt==1.17.3",
187
+ "yarl==1.22.0",
188
+ "zipp==3.23.0",
189
+ ]
requirements.txt CHANGED
@@ -1,21 +1,32 @@
1
  # This file was autogenerated by uv via the following command:
2
  # uv pip compile pyproject.toml -o requirements.txt
3
  ag-ui-protocol==0.1.9
4
- # via pydantic-ai-slim
 
 
5
  aiohappyeyeballs==2.6.1
6
- # via aiohttp
 
 
7
  aiohttp==3.13.0
8
- # via huggingface-hub
 
 
9
  aiosignal==1.4.0
10
- # via aiohttp
 
 
11
  annotated-types==0.7.0
12
- # via pydantic
 
 
13
  anthropic==0.70.0
14
  # via
15
- # resume-generator (pyproject.toml)
16
  # pydantic-ai-slim
17
  anyio==4.11.0
18
  # via
 
19
  # anthropic
20
  # google-genai
21
  # groq
@@ -26,131 +37,203 @@ anyio==4.11.0
26
  # sse-starlette
27
  # starlette
28
  argcomplete==3.6.2
29
- # via pydantic-ai-slim
 
 
30
  attrs==25.4.0
31
  # via
 
32
  # aiohttp
33
  # cyclopts
34
  # jsonschema
35
  # referencing
36
  authlib==1.6.5
37
- # via fastmcp
 
 
38
  basedpyright==1.31.7
39
- # via resume-generator (pyproject.toml)
40
  beautifulsoup4==4.14.2
41
  # via
 
42
  # html-for-docx
43
  # markdownify
44
  # markitdown
45
  black==25.9.0
46
- # via python-lsp-server
 
 
47
  boto3==1.40.53
48
- # via pydantic-ai-slim
 
 
49
  botocore==1.40.53
50
  # via
 
51
  # boto3
52
  # s3transfer
53
  cachetools==6.2.1
54
- # via google-auth
 
 
55
  certifi==2025.10.5
56
  # via
 
57
  # httpcore
58
  # httpx
59
  # requests
60
  cffi==2.0.0
61
- # via cryptography
 
 
62
  charset-normalizer==3.4.4
63
  # via
 
64
  # markitdown
65
  # pdfminer-six
66
  # requests
67
  click==8.3.0
68
  # via
 
69
  # black
70
  # magika
71
  # marimo
72
  # uvicorn
73
  cobble==0.1.4
74
- # via mammoth
 
 
75
  cohere==5.19.0
76
- # via pydantic-ai-slim
 
 
77
  colorama==0.4.6
78
- # via griffe
 
 
79
  coloredlogs==15.0.1
80
- # via onnxruntime
 
 
81
  cryptography==46.0.3
82
  # via
 
83
  # authlib
84
  # pdfminer-six
85
  cyclopts==3.24.0
86
- # via fastmcp
 
 
87
  defusedxml==0.7.1
88
- # via markitdown
 
 
89
  distro==1.9.0
90
  # via
 
91
  # anthropic
92
  # groq
93
  # openai
94
  dnspython==2.8.0
95
- # via email-validator
 
 
96
  docstring-parser==0.17.0
97
  # via
 
98
  # anthropic
99
  # cyclopts
100
  docstring-to-markdown==0.17
101
- # via python-lsp-server
 
 
102
  docutils==0.22.2
103
  # via
 
104
  # marimo
105
  # rich-rst
106
  email-validator==2.3.0
107
- # via pydantic
 
 
108
  eval-type-backport==0.2.2
109
- # via mistralai
 
 
110
  exceptiongroup==1.3.0
111
- # via fastmcp
 
 
112
  executing==2.2.1
113
- # via logfire
 
 
114
  fastavro==1.12.1
115
- # via cohere
 
 
116
  fastmcp==2.12.4
117
- # via resume-generator (pyproject.toml)
118
  filelock==3.20.0
119
- # via huggingface-hub
 
 
120
  flatbuffers==25.9.23
121
- # via onnxruntime
 
 
122
  frozenlist==1.8.0
123
  # via
 
124
  # aiohttp
125
  # aiosignal
126
  fsspec==2025.9.0
127
- # via huggingface-hub
 
 
128
  genai-prices==0.0.32
129
- # via pydantic-ai-slim
 
 
130
  google-auth==2.41.1
131
  # via
 
132
  # google-genai
133
  # pydantic-ai-slim
134
  google-genai==1.45.0
135
- # via pydantic-ai-slim
 
 
136
  googleapis-common-protos==1.70.0
137
- # via opentelemetry-exporter-otlp-proto-http
 
 
138
  griffe==1.14.0
139
- # via pydantic-ai-slim
 
 
140
  groq==0.32.0
141
- # via pydantic-ai-slim
 
 
142
  h11==0.16.0
143
  # via
 
144
  # httpcore
145
  # uvicorn
146
  hf-xet==1.1.10
147
- # via huggingface-hub
 
 
148
  html-for-docx==1.0.10
149
- # via resume-generator (pyproject.toml)
150
  httpcore==1.0.9
151
- # via httpx
 
 
152
  httpx==0.28.1
153
  # via
 
154
  # anthropic
155
  # cohere
156
  # fastmcp
@@ -164,16 +247,21 @@ httpx==0.28.1
164
  # pydantic-graph
165
  httpx-sse==0.4.0
166
  # via
 
167
  # cohere
168
  # mcp
169
  huggingface-hub==0.35.3
170
  # via
 
171
  # pydantic-ai-slim
172
  # tokenizers
173
  humanfriendly==10.0
174
- # via coloredlogs
 
 
175
  idna==3.11
176
  # via
 
177
  # anyio
178
  # email-validator
179
  # httpx
@@ -181,127 +269,191 @@ idna==3.11
181
  # yarl
182
  importlib-metadata==8.7.0
183
  # via
 
184
  # docstring-to-markdown
185
  # opentelemetry-api
186
  iniconfig==2.1.0
187
- # via pytest
 
 
188
  invoke==2.2.1
189
- # via mistralai
 
 
190
  isodate==0.7.2
191
- # via openapi-core
 
 
192
  itsdangerous==2.2.0
193
- # via marimo
 
 
194
  jedi==0.19.2
195
  # via
 
196
  # marimo
197
  # python-lsp-server
198
  jiter==0.11.0
199
  # via
 
200
  # anthropic
201
  # openai
202
  jmespath==1.0.1
203
  # via
 
204
  # boto3
205
  # botocore
206
  jsonschema==4.25.1
207
  # via
 
208
  # mcp
209
  # openapi-core
210
  # openapi-schema-validator
211
  # openapi-spec-validator
212
  jsonschema-path==0.3.4
213
  # via
 
214
  # openapi-core
215
  # openapi-spec-validator
216
  jsonschema-specifications==2025.9.1
217
  # via
 
218
  # jsonschema
219
  # openapi-schema-validator
220
  lazy-object-proxy==1.12.0
221
- # via openapi-spec-validator
 
 
222
  logfire==4.13.2
223
- # via pydantic-ai-slim
 
 
224
  logfire-api==4.13.2
225
  # via
 
226
  # pydantic-evals
227
  # pydantic-graph
228
  loro==1.8.1
229
- # via marimo
 
 
230
  lxml==6.0.2
231
  # via
 
232
  # markitdown
233
  # python-docx
234
  magika==0.6.2
235
- # via markitdown
 
 
236
  mammoth==1.11.0
237
- # via markitdown
 
 
238
  marimo==0.17.0
239
- # via resume-generator (pyproject.toml)
240
  markdown==3.9
241
  # via
 
242
  # marimo
243
  # pymdown-extensions
244
  markdown-it-py==4.0.0
245
- # via rich
 
 
246
  markdownify==1.2.0
247
- # via markitdown
 
 
248
  markitdown==0.1.3
249
- # via resume-generator (pyproject.toml)
250
  markupsafe==3.0.3
251
- # via werkzeug
 
 
252
  mcp==1.17.0
253
  # via
254
- # resume-generator (pyproject.toml)
255
  # fastmcp
256
  # pydantic-ai-slim
257
  mdurl==0.1.2
258
- # via markdown-it-py
 
 
259
  mistralai==1.9.11
260
- # via pydantic-ai-slim
 
 
261
  mistune==3.1.4
262
- # via resume-generator (pyproject.toml)
263
  more-itertools==10.8.0
264
- # via openapi-core
 
 
265
  mpmath==1.3.0
266
- # via sympy
 
 
267
  msgspec-m==0.19.2
268
- # via marimo
 
 
269
  multidict==6.7.0
270
  # via
 
271
  # aiohttp
272
  # yarl
273
  mypy-extensions==1.1.0
274
- # via black
 
 
275
  narwhals==2.8.0
276
- # via marimo
 
 
277
  nest-asyncio==1.6.0
278
- # via resume-generator (pyproject.toml)
279
  nexus-rpc==1.1.0
280
- # via temporalio
 
 
281
  nodejs-wheel-binaries==22.20.0
282
- # via basedpyright
 
 
283
  numpy==2.3.4
284
  # via
 
285
  # magika
286
  # onnxruntime
287
  onnxruntime==1.23.1
288
- # via magika
 
 
289
  openai==2.3.0
290
  # via
291
- # resume-generator (pyproject.toml)
292
  # pydantic-ai-slim
293
  openapi-core==0.19.5
294
- # via fastmcp
 
 
295
  openapi-pydantic==0.5.1
296
- # via fastmcp
 
 
297
  openapi-schema-validator==0.6.3
298
  # via
 
299
  # openapi-core
300
  # openapi-spec-validator
301
  openapi-spec-validator==0.7.2
302
- # via openapi-core
 
 
303
  opentelemetry-api==1.37.0
304
  # via
 
305
  # opentelemetry-exporter-otlp-proto-http
306
  # opentelemetry-instrumentation
307
  # opentelemetry-instrumentation-httpx
@@ -309,32 +461,45 @@ opentelemetry-api==1.37.0
309
  # opentelemetry-semantic-conventions
310
  # pydantic-ai-slim
311
  opentelemetry-exporter-otlp-proto-common==1.37.0
312
- # via opentelemetry-exporter-otlp-proto-http
 
 
313
  opentelemetry-exporter-otlp-proto-http==1.37.0
314
- # via logfire
 
 
315
  opentelemetry-instrumentation==0.58b0
316
  # via
 
317
  # logfire
318
  # opentelemetry-instrumentation-httpx
319
  opentelemetry-instrumentation-httpx==0.58b0
320
- # via logfire
 
 
321
  opentelemetry-proto==1.37.0
322
  # via
 
323
  # opentelemetry-exporter-otlp-proto-common
324
  # opentelemetry-exporter-otlp-proto-http
325
  opentelemetry-sdk==1.37.0
326
  # via
 
327
  # logfire
328
  # opentelemetry-exporter-otlp-proto-http
329
  opentelemetry-semantic-conventions==0.58b0
330
  # via
 
331
  # opentelemetry-instrumentation
332
  # opentelemetry-instrumentation-httpx
333
  # opentelemetry-sdk
334
  opentelemetry-util-http==0.58b0
335
- # via opentelemetry-instrumentation-httpx
 
 
336
  packaging==25.0
337
  # via
 
338
  # black
339
  # huggingface-hub
340
  # marimo
@@ -342,47 +507,71 @@ packaging==25.0
342
  # opentelemetry-instrumentation
343
  # pytest
344
  parse==1.20.2
345
- # via openapi-core
 
 
346
  parso==0.8.5
347
- # via jedi
 
 
348
  pathable==0.4.4
349
- # via jsonschema-path
 
 
350
  pathspec==0.12.1
351
- # via black
 
 
352
  pdfminer-six==20250506
353
- # via markitdown
 
 
354
  platformdirs==4.5.0
355
- # via black
 
 
356
  pluggy==1.6.0
357
  # via
 
358
  # pytest
359
  # python-lsp-server
360
  prompt-toolkit==3.0.52
361
- # via pydantic-ai-slim
 
 
362
  propcache==0.4.1
363
  # via
 
364
  # aiohttp
365
  # yarl
366
  protobuf==6.33.0
367
  # via
 
368
  # googleapis-common-protos
369
  # logfire
370
  # onnxruntime
371
  # opentelemetry-proto
372
  # temporalio
373
  psutil==7.1.0
374
- # via marimo
 
 
375
  pyasn1==0.6.1
376
  # via
 
377
  # pyasn1-modules
378
  # rsa
379
  pyasn1-modules==0.4.2
380
- # via google-auth
 
 
381
  pycparser==2.23
382
- # via cffi
 
 
383
  pydantic==2.12.2
384
  # via
385
- # resume-generator (pyproject.toml)
386
  # ag-ui-protocol
387
  # anthropic
388
  # cohere
@@ -399,61 +588,81 @@ pydantic==2.12.2
399
  # pydantic-graph
400
  # pydantic-settings
401
  pydantic-ai==1.1.0
402
- # via resume-generator (pyproject.toml)
403
  pydantic-ai-slim==1.1.0
404
  # via
 
405
  # pydantic-ai
406
  # pydantic-evals
407
  pydantic-core==2.41.4
408
  # via
 
409
  # cohere
410
  # pydantic
411
  pydantic-evals==1.1.0
412
- # via pydantic-ai-slim
 
 
413
  pydantic-graph==1.1.0
414
- # via pydantic-ai-slim
 
 
415
  pydantic-settings==2.11.0
416
- # via mcp
 
 
417
  pygments==2.19.2
418
  # via
 
419
  # marimo
420
  # pytest
421
  # rich
422
  pymdown-extensions==10.16.1
423
- # via marimo
 
 
424
  pyperclip==1.11.0
425
  # via
 
426
  # fastmcp
427
  # pydantic-ai-slim
428
  pytest==8.4.2
429
- # via resume-generator (pyproject.toml)
430
  python-dateutil==2.9.0.post0
431
  # via
 
432
  # botocore
433
  # mistralai
434
  python-docx==1.2.0
435
  # via
436
- # resume-generator (pyproject.toml)
437
  # html-for-docx
438
  # python-docx-replace
439
  python-docx-replace==0.4.4
440
- # via resume-generator (pyproject.toml)
441
  python-dotenv==1.1.1
442
  # via
443
- # resume-generator (pyproject.toml)
444
  # fastmcp
445
  # magika
446
  # pydantic-settings
447
  python-lsp-jsonrpc==1.1.2
448
- # via python-lsp-server
 
 
449
  python-lsp-server==1.13.1
450
- # via resume-generator (pyproject.toml)
451
  python-multipart==0.0.20
452
- # via mcp
 
 
453
  pytokens==0.2.0
454
- # via black
 
 
455
  pyyaml==6.0.3
456
  # via
 
457
  # huggingface-hub
458
  # jsonschema-path
459
  # marimo
@@ -462,11 +671,13 @@ pyyaml==6.0.3
462
  # pymdown-extensions
463
  referencing==0.36.2
464
  # via
 
465
  # jsonschema
466
  # jsonschema-path
467
  # jsonschema-specifications
468
  requests==2.32.5
469
  # via
 
470
  # cohere
471
  # google-genai
472
  # huggingface-hub
@@ -475,9 +686,12 @@ requests==2.32.5
475
  # opentelemetry-exporter-otlp-proto-http
476
  # pydantic-ai-slim
477
  rfc3339-validator==0.1.4
478
- # via openapi-schema-validator
 
 
479
  rich==14.2.0
480
  # via
 
481
  # cyclopts
482
  # fastmcp
483
  # logfire
@@ -485,63 +699,92 @@ rich==14.2.0
485
  # pydantic-evals
486
  # rich-rst
487
  rich-rst==1.3.2
488
- # via cyclopts
 
 
489
  rpds-py==0.27.1
490
  # via
 
491
  # jsonschema
492
  # referencing
493
  rsa==4.9.1
494
- # via google-auth
 
 
495
  ruff==0.14.0
496
- # via resume-generator (pyproject.toml)
497
  s3transfer==0.14.0
498
- # via boto3
 
 
499
  six==1.17.0
500
  # via
 
501
  # markdownify
502
  # python-dateutil
503
  # rfc3339-validator
504
  sniffio==1.3.1
505
  # via
 
506
  # anthropic
507
  # anyio
508
  # groq
509
  # openai
510
  soupsieve==2.8
511
- # via beautifulsoup4
 
 
512
  sqlglot==27.27.0
513
- # via resume-generator (pyproject.toml)
514
  sse-starlette==3.0.2
515
- # via mcp
 
 
516
  starlette==0.48.0
517
  # via
 
518
  # marimo
519
  # mcp
520
  # pydantic-ai-slim
521
  sympy==1.14.0
522
- # via onnxruntime
 
 
523
  temporalio==1.18.0
524
- # via pydantic-ai-slim
 
 
525
  tenacity==9.1.2
526
  # via
 
527
  # google-genai
528
  # pydantic-ai-slim
529
  tokenizers==0.22.1
530
- # via cohere
 
 
531
  tomlkit==0.13.3
532
- # via marimo
 
 
533
  tqdm==4.67.1
534
  # via
 
535
  # huggingface-hub
536
  # openai
537
  ty==0.0.1a22
538
- # via resume-generator (pyproject.toml)
539
  types-protobuf==6.32.1.20250918
540
- # via temporalio
 
 
541
  types-requests==2.32.4.20250913
542
- # via cohere
 
 
543
  typing-extensions==4.15.0
544
  # via
 
545
  # anthropic
546
  # beautifulsoup4
547
  # cohere
@@ -564,6 +807,7 @@ typing-extensions==4.15.0
564
  # typing-inspection
565
  typing-inspection==0.4.2
566
  # via
 
567
  # mistralai
568
  # pydantic
569
  # pydantic-ai-slim
@@ -571,33 +815,45 @@ typing-inspection==0.4.2
571
  # pydantic-settings
572
  ujson==5.11.0
573
  # via
 
574
  # python-lsp-jsonrpc
575
  # python-lsp-server
576
  urllib3==2.5.0
577
  # via
 
578
  # botocore
579
  # requests
580
  # types-requests
581
  uvicorn==0.37.0
582
  # via
 
583
  # marimo
584
  # mcp
585
  uvloop==0.21.0
586
- # via resume-generator (pyproject.toml)
587
  wcwidth==0.2.14
588
- # via prompt-toolkit
 
 
589
  websockets==15.0.1
590
  # via
591
- # resume-generator (pyproject.toml)
592
  # google-genai
593
  # marimo
594
  werkzeug==3.1.1
595
- # via openapi-core
 
 
596
  wrapt==1.17.3
597
  # via
 
598
  # opentelemetry-instrumentation
599
  # opentelemetry-instrumentation-httpx
600
  yarl==1.22.0
601
- # via aiohttp
 
 
602
  zipp==3.23.0
603
- # via importlib-metadata
 
 
 
1
  # This file was autogenerated by uv via the following command:
2
  # uv pip compile pyproject.toml -o requirements.txt
3
  ag-ui-protocol==0.1.9
4
+ # via
5
+ # cicero-job-apps (pyproject.toml)
6
+ # pydantic-ai-slim
7
  aiohappyeyeballs==2.6.1
8
+ # via
9
+ # cicero-job-apps (pyproject.toml)
10
+ # aiohttp
11
  aiohttp==3.13.0
12
+ # via
13
+ # cicero-job-apps (pyproject.toml)
14
+ # huggingface-hub
15
  aiosignal==1.4.0
16
+ # via
17
+ # cicero-job-apps (pyproject.toml)
18
+ # aiohttp
19
  annotated-types==0.7.0
20
+ # via
21
+ # cicero-job-apps (pyproject.toml)
22
+ # pydantic
23
  anthropic==0.70.0
24
  # via
25
+ # cicero-job-apps (pyproject.toml)
26
  # pydantic-ai-slim
27
  anyio==4.11.0
28
  # via
29
+ # cicero-job-apps (pyproject.toml)
30
  # anthropic
31
  # google-genai
32
  # groq
 
37
  # sse-starlette
38
  # starlette
39
  argcomplete==3.6.2
40
+ # via
41
+ # cicero-job-apps (pyproject.toml)
42
+ # pydantic-ai-slim
43
  attrs==25.4.0
44
  # via
45
+ # cicero-job-apps (pyproject.toml)
46
  # aiohttp
47
  # cyclopts
48
  # jsonschema
49
  # referencing
50
  authlib==1.6.5
51
+ # via
52
+ # cicero-job-apps (pyproject.toml)
53
+ # fastmcp
54
  basedpyright==1.31.7
55
+ # via cicero-job-apps (pyproject.toml)
56
  beautifulsoup4==4.14.2
57
  # via
58
+ # cicero-job-apps (pyproject.toml)
59
  # html-for-docx
60
  # markdownify
61
  # markitdown
62
  black==25.9.0
63
+ # via
64
+ # cicero-job-apps (pyproject.toml)
65
+ # python-lsp-server
66
  boto3==1.40.53
67
+ # via
68
+ # cicero-job-apps (pyproject.toml)
69
+ # pydantic-ai-slim
70
  botocore==1.40.53
71
  # via
72
+ # cicero-job-apps (pyproject.toml)
73
  # boto3
74
  # s3transfer
75
  cachetools==6.2.1
76
+ # via
77
+ # cicero-job-apps (pyproject.toml)
78
+ # google-auth
79
  certifi==2025.10.5
80
  # via
81
+ # cicero-job-apps (pyproject.toml)
82
  # httpcore
83
  # httpx
84
  # requests
85
  cffi==2.0.0
86
+ # via
87
+ # cicero-job-apps (pyproject.toml)
88
+ # cryptography
89
  charset-normalizer==3.4.4
90
  # via
91
+ # cicero-job-apps (pyproject.toml)
92
  # markitdown
93
  # pdfminer-six
94
  # requests
95
  click==8.3.0
96
  # via
97
+ # cicero-job-apps (pyproject.toml)
98
  # black
99
  # magika
100
  # marimo
101
  # uvicorn
102
  cobble==0.1.4
103
+ # via
104
+ # cicero-job-apps (pyproject.toml)
105
+ # mammoth
106
  cohere==5.19.0
107
+ # via
108
+ # cicero-job-apps (pyproject.toml)
109
+ # pydantic-ai-slim
110
  colorama==0.4.6
111
+ # via
112
+ # cicero-job-apps (pyproject.toml)
113
+ # griffe
114
  coloredlogs==15.0.1
115
+ # via
116
+ # cicero-job-apps (pyproject.toml)
117
+ # onnxruntime
118
  cryptography==46.0.3
119
  # via
120
+ # cicero-job-apps (pyproject.toml)
121
  # authlib
122
  # pdfminer-six
123
  cyclopts==3.24.0
124
+ # via
125
+ # cicero-job-apps (pyproject.toml)
126
+ # fastmcp
127
  defusedxml==0.7.1
128
+ # via
129
+ # cicero-job-apps (pyproject.toml)
130
+ # markitdown
131
  distro==1.9.0
132
  # via
133
+ # cicero-job-apps (pyproject.toml)
134
  # anthropic
135
  # groq
136
  # openai
137
  dnspython==2.8.0
138
+ # via
139
+ # cicero-job-apps (pyproject.toml)
140
+ # email-validator
141
  docstring-parser==0.17.0
142
  # via
143
+ # cicero-job-apps (pyproject.toml)
144
  # anthropic
145
  # cyclopts
146
  docstring-to-markdown==0.17
147
+ # via
148
+ # cicero-job-apps (pyproject.toml)
149
+ # python-lsp-server
150
  docutils==0.22.2
151
  # via
152
+ # cicero-job-apps (pyproject.toml)
153
  # marimo
154
  # rich-rst
155
  email-validator==2.3.0
156
+ # via
157
+ # cicero-job-apps (pyproject.toml)
158
+ # pydantic
159
  eval-type-backport==0.2.2
160
+ # via
161
+ # cicero-job-apps (pyproject.toml)
162
+ # mistralai
163
  exceptiongroup==1.3.0
164
+ # via
165
+ # cicero-job-apps (pyproject.toml)
166
+ # fastmcp
167
  executing==2.2.1
168
+ # via
169
+ # cicero-job-apps (pyproject.toml)
170
+ # logfire
171
  fastavro==1.12.1
172
+ # via
173
+ # cicero-job-apps (pyproject.toml)
174
+ # cohere
175
  fastmcp==2.12.4
176
+ # via cicero-job-apps (pyproject.toml)
177
  filelock==3.20.0
178
+ # via
179
+ # cicero-job-apps (pyproject.toml)
180
+ # huggingface-hub
181
  flatbuffers==25.9.23
182
+ # via
183
+ # cicero-job-apps (pyproject.toml)
184
+ # onnxruntime
185
  frozenlist==1.8.0
186
  # via
187
+ # cicero-job-apps (pyproject.toml)
188
  # aiohttp
189
  # aiosignal
190
  fsspec==2025.9.0
191
+ # via
192
+ # cicero-job-apps (pyproject.toml)
193
+ # huggingface-hub
194
  genai-prices==0.0.32
195
+ # via
196
+ # cicero-job-apps (pyproject.toml)
197
+ # pydantic-ai-slim
198
  google-auth==2.41.1
199
  # via
200
+ # cicero-job-apps (pyproject.toml)
201
  # google-genai
202
  # pydantic-ai-slim
203
  google-genai==1.45.0
204
+ # via
205
+ # cicero-job-apps (pyproject.toml)
206
+ # pydantic-ai-slim
207
  googleapis-common-protos==1.70.0
208
+ # via
209
+ # cicero-job-apps (pyproject.toml)
210
+ # opentelemetry-exporter-otlp-proto-http
211
  griffe==1.14.0
212
+ # via
213
+ # cicero-job-apps (pyproject.toml)
214
+ # pydantic-ai-slim
215
  groq==0.32.0
216
+ # via
217
+ # cicero-job-apps (pyproject.toml)
218
+ # pydantic-ai-slim
219
  h11==0.16.0
220
  # via
221
+ # cicero-job-apps (pyproject.toml)
222
  # httpcore
223
  # uvicorn
224
  hf-xet==1.1.10
225
+ # via
226
+ # cicero-job-apps (pyproject.toml)
227
+ # huggingface-hub
228
  html-for-docx==1.0.10
229
+ # via cicero-job-apps (pyproject.toml)
230
  httpcore==1.0.9
231
+ # via
232
+ # cicero-job-apps (pyproject.toml)
233
+ # httpx
234
  httpx==0.28.1
235
  # via
236
+ # cicero-job-apps (pyproject.toml)
237
  # anthropic
238
  # cohere
239
  # fastmcp
 
247
  # pydantic-graph
248
  httpx-sse==0.4.0
249
  # via
250
+ # cicero-job-apps (pyproject.toml)
251
  # cohere
252
  # mcp
253
  huggingface-hub==0.35.3
254
  # via
255
+ # cicero-job-apps (pyproject.toml)
256
  # pydantic-ai-slim
257
  # tokenizers
258
  humanfriendly==10.0
259
+ # via
260
+ # cicero-job-apps (pyproject.toml)
261
+ # coloredlogs
262
  idna==3.11
263
  # via
264
+ # cicero-job-apps (pyproject.toml)
265
  # anyio
266
  # email-validator
267
  # httpx
 
269
  # yarl
270
  importlib-metadata==8.7.0
271
  # via
272
+ # cicero-job-apps (pyproject.toml)
273
  # docstring-to-markdown
274
  # opentelemetry-api
275
  iniconfig==2.1.0
276
+ # via
277
+ # cicero-job-apps (pyproject.toml)
278
+ # pytest
279
  invoke==2.2.1
280
+ # via
281
+ # cicero-job-apps (pyproject.toml)
282
+ # mistralai
283
  isodate==0.7.2
284
+ # via
285
+ # cicero-job-apps (pyproject.toml)
286
+ # openapi-core
287
  itsdangerous==2.2.0
288
+ # via
289
+ # cicero-job-apps (pyproject.toml)
290
+ # marimo
291
  jedi==0.19.2
292
  # via
293
+ # cicero-job-apps (pyproject.toml)
294
  # marimo
295
  # python-lsp-server
296
  jiter==0.11.0
297
  # via
298
+ # cicero-job-apps (pyproject.toml)
299
  # anthropic
300
  # openai
301
  jmespath==1.0.1
302
  # via
303
+ # cicero-job-apps (pyproject.toml)
304
  # boto3
305
  # botocore
306
  jsonschema==4.25.1
307
  # via
308
+ # cicero-job-apps (pyproject.toml)
309
  # mcp
310
  # openapi-core
311
  # openapi-schema-validator
312
  # openapi-spec-validator
313
  jsonschema-path==0.3.4
314
  # via
315
+ # cicero-job-apps (pyproject.toml)
316
  # openapi-core
317
  # openapi-spec-validator
318
  jsonschema-specifications==2025.9.1
319
  # via
320
+ # cicero-job-apps (pyproject.toml)
321
  # jsonschema
322
  # openapi-schema-validator
323
  lazy-object-proxy==1.12.0
324
+ # via
325
+ # cicero-job-apps (pyproject.toml)
326
+ # openapi-spec-validator
327
  logfire==4.13.2
328
+ # via
329
+ # cicero-job-apps (pyproject.toml)
330
+ # pydantic-ai-slim
331
  logfire-api==4.13.2
332
  # via
333
+ # cicero-job-apps (pyproject.toml)
334
  # pydantic-evals
335
  # pydantic-graph
336
  loro==1.8.1
337
+ # via
338
+ # cicero-job-apps (pyproject.toml)
339
+ # marimo
340
  lxml==6.0.2
341
  # via
342
+ # cicero-job-apps (pyproject.toml)
343
  # markitdown
344
  # python-docx
345
  magika==0.6.2
346
+ # via
347
+ # cicero-job-apps (pyproject.toml)
348
+ # markitdown
349
  mammoth==1.11.0
350
+ # via
351
+ # cicero-job-apps (pyproject.toml)
352
+ # markitdown
353
  marimo==0.17.0
354
+ # via cicero-job-apps (pyproject.toml)
355
  markdown==3.9
356
  # via
357
+ # cicero-job-apps (pyproject.toml)
358
  # marimo
359
  # pymdown-extensions
360
  markdown-it-py==4.0.0
361
+ # via
362
+ # cicero-job-apps (pyproject.toml)
363
+ # rich
364
  markdownify==1.2.0
365
+ # via
366
+ # cicero-job-apps (pyproject.toml)
367
+ # markitdown
368
  markitdown==0.1.3
369
+ # via cicero-job-apps (pyproject.toml)
370
  markupsafe==3.0.3
371
+ # via
372
+ # cicero-job-apps (pyproject.toml)
373
+ # werkzeug
374
  mcp==1.17.0
375
  # via
376
+ # cicero-job-apps (pyproject.toml)
377
  # fastmcp
378
  # pydantic-ai-slim
379
  mdurl==0.1.2
380
+ # via
381
+ # cicero-job-apps (pyproject.toml)
382
+ # markdown-it-py
383
  mistralai==1.9.11
384
+ # via
385
+ # cicero-job-apps (pyproject.toml)
386
+ # pydantic-ai-slim
387
  mistune==3.1.4
388
+ # via cicero-job-apps (pyproject.toml)
389
  more-itertools==10.8.0
390
+ # via
391
+ # cicero-job-apps (pyproject.toml)
392
+ # openapi-core
393
  mpmath==1.3.0
394
+ # via
395
+ # cicero-job-apps (pyproject.toml)
396
+ # sympy
397
  msgspec-m==0.19.2
398
+ # via
399
+ # cicero-job-apps (pyproject.toml)
400
+ # marimo
401
  multidict==6.7.0
402
  # via
403
+ # cicero-job-apps (pyproject.toml)
404
  # aiohttp
405
  # yarl
406
  mypy-extensions==1.1.0
407
+ # via
408
+ # cicero-job-apps (pyproject.toml)
409
+ # black
410
  narwhals==2.8.0
411
+ # via
412
+ # cicero-job-apps (pyproject.toml)
413
+ # marimo
414
  nest-asyncio==1.6.0
415
+ # via cicero-job-apps (pyproject.toml)
416
  nexus-rpc==1.1.0
417
+ # via
418
+ # cicero-job-apps (pyproject.toml)
419
+ # temporalio
420
  nodejs-wheel-binaries==22.20.0
421
+ # via
422
+ # cicero-job-apps (pyproject.toml)
423
+ # basedpyright
424
  numpy==2.3.4
425
  # via
426
+ # cicero-job-apps (pyproject.toml)
427
  # magika
428
  # onnxruntime
429
  onnxruntime==1.23.1
430
+ # via
431
+ # cicero-job-apps (pyproject.toml)
432
+ # magika
433
  openai==2.3.0
434
  # via
435
+ # cicero-job-apps (pyproject.toml)
436
  # pydantic-ai-slim
437
  openapi-core==0.19.5
438
+ # via
439
+ # cicero-job-apps (pyproject.toml)
440
+ # fastmcp
441
  openapi-pydantic==0.5.1
442
+ # via
443
+ # cicero-job-apps (pyproject.toml)
444
+ # fastmcp
445
  openapi-schema-validator==0.6.3
446
  # via
447
+ # cicero-job-apps (pyproject.toml)
448
  # openapi-core
449
  # openapi-spec-validator
450
  openapi-spec-validator==0.7.2
451
+ # via
452
+ # cicero-job-apps (pyproject.toml)
453
+ # openapi-core
454
  opentelemetry-api==1.37.0
455
  # via
456
+ # cicero-job-apps (pyproject.toml)
457
  # opentelemetry-exporter-otlp-proto-http
458
  # opentelemetry-instrumentation
459
  # opentelemetry-instrumentation-httpx
 
461
  # opentelemetry-semantic-conventions
462
  # pydantic-ai-slim
463
  opentelemetry-exporter-otlp-proto-common==1.37.0
464
+ # via
465
+ # cicero-job-apps (pyproject.toml)
466
+ # opentelemetry-exporter-otlp-proto-http
467
  opentelemetry-exporter-otlp-proto-http==1.37.0
468
+ # via
469
+ # cicero-job-apps (pyproject.toml)
470
+ # logfire
471
  opentelemetry-instrumentation==0.58b0
472
  # via
473
+ # cicero-job-apps (pyproject.toml)
474
  # logfire
475
  # opentelemetry-instrumentation-httpx
476
  opentelemetry-instrumentation-httpx==0.58b0
477
+ # via
478
+ # cicero-job-apps (pyproject.toml)
479
+ # logfire
480
  opentelemetry-proto==1.37.0
481
  # via
482
+ # cicero-job-apps (pyproject.toml)
483
  # opentelemetry-exporter-otlp-proto-common
484
  # opentelemetry-exporter-otlp-proto-http
485
  opentelemetry-sdk==1.37.0
486
  # via
487
+ # cicero-job-apps (pyproject.toml)
488
  # logfire
489
  # opentelemetry-exporter-otlp-proto-http
490
  opentelemetry-semantic-conventions==0.58b0
491
  # via
492
+ # cicero-job-apps (pyproject.toml)
493
  # opentelemetry-instrumentation
494
  # opentelemetry-instrumentation-httpx
495
  # opentelemetry-sdk
496
  opentelemetry-util-http==0.58b0
497
+ # via
498
+ # cicero-job-apps (pyproject.toml)
499
+ # opentelemetry-instrumentation-httpx
500
  packaging==25.0
501
  # via
502
+ # cicero-job-apps (pyproject.toml)
503
  # black
504
  # huggingface-hub
505
  # marimo
 
507
  # opentelemetry-instrumentation
508
  # pytest
509
  parse==1.20.2
510
+ # via
511
+ # cicero-job-apps (pyproject.toml)
512
+ # openapi-core
513
  parso==0.8.5
514
+ # via
515
+ # cicero-job-apps (pyproject.toml)
516
+ # jedi
517
  pathable==0.4.4
518
+ # via
519
+ # cicero-job-apps (pyproject.toml)
520
+ # jsonschema-path
521
  pathspec==0.12.1
522
+ # via
523
+ # cicero-job-apps (pyproject.toml)
524
+ # black
525
  pdfminer-six==20250506
526
+ # via
527
+ # cicero-job-apps (pyproject.toml)
528
+ # markitdown
529
  platformdirs==4.5.0
530
+ # via
531
+ # cicero-job-apps (pyproject.toml)
532
+ # black
533
  pluggy==1.6.0
534
  # via
535
+ # cicero-job-apps (pyproject.toml)
536
  # pytest
537
  # python-lsp-server
538
  prompt-toolkit==3.0.52
539
+ # via
540
+ # cicero-job-apps (pyproject.toml)
541
+ # pydantic-ai-slim
542
  propcache==0.4.1
543
  # via
544
+ # cicero-job-apps (pyproject.toml)
545
  # aiohttp
546
  # yarl
547
  protobuf==6.33.0
548
  # via
549
+ # cicero-job-apps (pyproject.toml)
550
  # googleapis-common-protos
551
  # logfire
552
  # onnxruntime
553
  # opentelemetry-proto
554
  # temporalio
555
  psutil==7.1.0
556
+ # via
557
+ # cicero-job-apps (pyproject.toml)
558
+ # marimo
559
  pyasn1==0.6.1
560
  # via
561
+ # cicero-job-apps (pyproject.toml)
562
  # pyasn1-modules
563
  # rsa
564
  pyasn1-modules==0.4.2
565
+ # via
566
+ # cicero-job-apps (pyproject.toml)
567
+ # google-auth
568
  pycparser==2.23
569
+ # via
570
+ # cicero-job-apps (pyproject.toml)
571
+ # cffi
572
  pydantic==2.12.2
573
  # via
574
+ # cicero-job-apps (pyproject.toml)
575
  # ag-ui-protocol
576
  # anthropic
577
  # cohere
 
588
  # pydantic-graph
589
  # pydantic-settings
590
  pydantic-ai==1.1.0
591
+ # via cicero-job-apps (pyproject.toml)
592
  pydantic-ai-slim==1.1.0
593
  # via
594
+ # cicero-job-apps (pyproject.toml)
595
  # pydantic-ai
596
  # pydantic-evals
597
  pydantic-core==2.41.4
598
  # via
599
+ # cicero-job-apps (pyproject.toml)
600
  # cohere
601
  # pydantic
602
  pydantic-evals==1.1.0
603
+ # via
604
+ # cicero-job-apps (pyproject.toml)
605
+ # pydantic-ai-slim
606
  pydantic-graph==1.1.0
607
+ # via
608
+ # cicero-job-apps (pyproject.toml)
609
+ # pydantic-ai-slim
610
  pydantic-settings==2.11.0
611
+ # via
612
+ # cicero-job-apps (pyproject.toml)
613
+ # mcp
614
  pygments==2.19.2
615
  # via
616
+ # cicero-job-apps (pyproject.toml)
617
  # marimo
618
  # pytest
619
  # rich
620
  pymdown-extensions==10.16.1
621
+ # via
622
+ # cicero-job-apps (pyproject.toml)
623
+ # marimo
624
  pyperclip==1.11.0
625
  # via
626
+ # cicero-job-apps (pyproject.toml)
627
  # fastmcp
628
  # pydantic-ai-slim
629
  pytest==8.4.2
630
+ # via cicero-job-apps (pyproject.toml)
631
  python-dateutil==2.9.0.post0
632
  # via
633
+ # cicero-job-apps (pyproject.toml)
634
  # botocore
635
  # mistralai
636
  python-docx==1.2.0
637
  # via
638
+ # cicero-job-apps (pyproject.toml)
639
  # html-for-docx
640
  # python-docx-replace
641
  python-docx-replace==0.4.4
642
+ # via cicero-job-apps (pyproject.toml)
643
  python-dotenv==1.1.1
644
  # via
645
+ # cicero-job-apps (pyproject.toml)
646
  # fastmcp
647
  # magika
648
  # pydantic-settings
649
  python-lsp-jsonrpc==1.1.2
650
+ # via
651
+ # cicero-job-apps (pyproject.toml)
652
+ # python-lsp-server
653
  python-lsp-server==1.13.1
654
+ # via cicero-job-apps (pyproject.toml)
655
  python-multipart==0.0.20
656
+ # via
657
+ # cicero-job-apps (pyproject.toml)
658
+ # mcp
659
  pytokens==0.2.0
660
+ # via
661
+ # cicero-job-apps (pyproject.toml)
662
+ # black
663
  pyyaml==6.0.3
664
  # via
665
+ # cicero-job-apps (pyproject.toml)
666
  # huggingface-hub
667
  # jsonschema-path
668
  # marimo
 
671
  # pymdown-extensions
672
  referencing==0.36.2
673
  # via
674
+ # cicero-job-apps (pyproject.toml)
675
  # jsonschema
676
  # jsonschema-path
677
  # jsonschema-specifications
678
  requests==2.32.5
679
  # via
680
+ # cicero-job-apps (pyproject.toml)
681
  # cohere
682
  # google-genai
683
  # huggingface-hub
 
686
  # opentelemetry-exporter-otlp-proto-http
687
  # pydantic-ai-slim
688
  rfc3339-validator==0.1.4
689
+ # via
690
+ # cicero-job-apps (pyproject.toml)
691
+ # openapi-schema-validator
692
  rich==14.2.0
693
  # via
694
+ # cicero-job-apps (pyproject.toml)
695
  # cyclopts
696
  # fastmcp
697
  # logfire
 
699
  # pydantic-evals
700
  # rich-rst
701
  rich-rst==1.3.2
702
+ # via
703
+ # cicero-job-apps (pyproject.toml)
704
+ # cyclopts
705
  rpds-py==0.27.1
706
  # via
707
+ # cicero-job-apps (pyproject.toml)
708
  # jsonschema
709
  # referencing
710
  rsa==4.9.1
711
+ # via
712
+ # cicero-job-apps (pyproject.toml)
713
+ # google-auth
714
  ruff==0.14.0
715
+ # via cicero-job-apps (pyproject.toml)
716
  s3transfer==0.14.0
717
+ # via
718
+ # cicero-job-apps (pyproject.toml)
719
+ # boto3
720
  six==1.17.0
721
  # via
722
+ # cicero-job-apps (pyproject.toml)
723
  # markdownify
724
  # python-dateutil
725
  # rfc3339-validator
726
  sniffio==1.3.1
727
  # via
728
+ # cicero-job-apps (pyproject.toml)
729
  # anthropic
730
  # anyio
731
  # groq
732
  # openai
733
  soupsieve==2.8
734
+ # via
735
+ # cicero-job-apps (pyproject.toml)
736
+ # beautifulsoup4
737
  sqlglot==27.27.0
738
+ # via cicero-job-apps (pyproject.toml)
739
  sse-starlette==3.0.2
740
+ # via
741
+ # cicero-job-apps (pyproject.toml)
742
+ # mcp
743
  starlette==0.48.0
744
  # via
745
+ # cicero-job-apps (pyproject.toml)
746
  # marimo
747
  # mcp
748
  # pydantic-ai-slim
749
  sympy==1.14.0
750
+ # via
751
+ # cicero-job-apps (pyproject.toml)
752
+ # onnxruntime
753
  temporalio==1.18.0
754
+ # via
755
+ # cicero-job-apps (pyproject.toml)
756
+ # pydantic-ai-slim
757
  tenacity==9.1.2
758
  # via
759
+ # cicero-job-apps (pyproject.toml)
760
  # google-genai
761
  # pydantic-ai-slim
762
  tokenizers==0.22.1
763
+ # via
764
+ # cicero-job-apps (pyproject.toml)
765
+ # cohere
766
  tomlkit==0.13.3
767
+ # via
768
+ # cicero-job-apps (pyproject.toml)
769
+ # marimo
770
  tqdm==4.67.1
771
  # via
772
+ # cicero-job-apps (pyproject.toml)
773
  # huggingface-hub
774
  # openai
775
  ty==0.0.1a22
776
+ # via cicero-job-apps (pyproject.toml)
777
  types-protobuf==6.32.1.20250918
778
+ # via
779
+ # cicero-job-apps (pyproject.toml)
780
+ # temporalio
781
  types-requests==2.32.4.20250913
782
+ # via
783
+ # cicero-job-apps (pyproject.toml)
784
+ # cohere
785
  typing-extensions==4.15.0
786
  # via
787
+ # cicero-job-apps (pyproject.toml)
788
  # anthropic
789
  # beautifulsoup4
790
  # cohere
 
807
  # typing-inspection
808
  typing-inspection==0.4.2
809
  # via
810
+ # cicero-job-apps (pyproject.toml)
811
  # mistralai
812
  # pydantic
813
  # pydantic-ai-slim
 
815
  # pydantic-settings
816
  ujson==5.11.0
817
  # via
818
+ # cicero-job-apps (pyproject.toml)
819
  # python-lsp-jsonrpc
820
  # python-lsp-server
821
  urllib3==2.5.0
822
  # via
823
+ # cicero-job-apps (pyproject.toml)
824
  # botocore
825
  # requests
826
  # types-requests
827
  uvicorn==0.37.0
828
  # via
829
+ # cicero-job-apps (pyproject.toml)
830
  # marimo
831
  # mcp
832
  uvloop==0.21.0
833
+ # via cicero-job-apps (pyproject.toml)
834
  wcwidth==0.2.14
835
+ # via
836
+ # cicero-job-apps (pyproject.toml)
837
+ # prompt-toolkit
838
  websockets==15.0.1
839
  # via
840
+ # cicero-job-apps (pyproject.toml)
841
  # google-genai
842
  # marimo
843
  werkzeug==3.1.1
844
+ # via
845
+ # cicero-job-apps (pyproject.toml)
846
+ # openapi-core
847
  wrapt==1.17.3
848
  # via
849
+ # cicero-job-apps (pyproject.toml)
850
  # opentelemetry-instrumentation
851
  # opentelemetry-instrumentation-httpx
852
  yarl==1.22.0
853
+ # via
854
+ # cicero-job-apps (pyproject.toml)
855
+ # aiohttp
856
  zipp==3.23.0
857
+ # via
858
+ # cicero-job-apps (pyproject.toml)
859
+ # importlib-metadata