File size: 1,875 Bytes
6303ae6
 
 
 
 
 
 
 
 
 
 
 
 
 
be469a4
 
 
 
 
 
 
6303ae6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# Upwork Proposal Strategist — direct dependencies.
#
# This is a curated list of the packages the app actually imports, not a
# full `pip freeze` of the environment. Pins reflect versions verified to
# work together; transitive dependencies are resolved by pip. Heavy
# transitive packages that the app never imports (pandas, numpy, GitPython,
# google-api-python-client, …) are intentionally NOT listed here — they were
# previously frozen in by mistake and only bloated install.

# --- Core runtime (always required) ---
streamlit==1.55.0
pydantic==2.12.5
python-dotenv==1.2.2

# --- Encrypted per-browser key storage (Supabase-backed) ---
# `cryptography` encrypts the saved Setup config (Fernet); `httpx` (already a
# dependency of the OpenAI SDK) makes the Supabase Storage REST calls. Both are
# imported directly by app/services/key_store.py, so they are pinned here.
cryptography==46.0.6
httpx==0.28.1

# --- Optional UI: clipboard paste on the Job Screenshot screen ---
# Lets a user paste a copied screenshot directly into the app. The screen
# degrades gracefully to drag-drop/browse if this is absent (the import is
# guarded), so it is safe to omit. Pulls in Pillow as a dependency.
streamlit-paste-button==0.1.2

# --- Dossier file parsing ---
pdfplumber==0.11.9
python-docx==1.2.0

# --- LLM providers ---
# OpenAI is always installed: it is the default provider AND the
# OpenAI-compatible fallback client used to talk to Groq when the optional
# `groq` SDK is absent.
openai==2.37.0
# Anthropic provider.
anthropic==0.103.1
# Gemini provider (Google AI).
google-generativeai==0.8.6
# Optional: the official Groq SDK. The app works without it (it falls back
# to the openai client against Groq's compatibility endpoint), so it is
# left commented to keep the install lean. Uncomment to use the native SDK.
# groq==0.11.0

# --- Tests ---
pytest==9.0.3