numpy
scipy
pandas
dotenv
requests
tqdm
joblib

[all]
matplotlib
seaborn
ipywidgets
nltk
openai
anthropic
ollama
groq
google-genai
tiktoken
aiohttp
pydantic
transformers>=4.48.0
transformers[torch]
datasets>=2.17.0
evaluate
torch
sentence-transformers
wandb
pytorch-lightning>=2.0.0
gliner
bert-score
sacrebleu
seqeval
google-cloud-bigquery
google-cloud-bigquery-storage
db-dtypes
nasdaq-data-link
lxml>=5.0

[dev]
selectolax
python-docx
yfinance
jupyter
snownlp
spacy
geopandas
dspy
litellm
unbabel-comet>=2.2.0
spyder-kernels==3.0.*
beautifulsoup4
scikit-learn
google-api-python-client
trafilatura
selenium
webdriver_manager
openpyxl
reportlab

[finance]
nasdaq-data-link

[gcp]
google-cloud-bigquery
google-cloud-bigquery-storage
db-dtypes

[llm]
openai
anthropic
ollama
groq
google-genai
tiktoken
aiohttp
pydantic

[scraping]
lxml>=5.0

[text]
nltk

[transformers]
transformers>=4.48.0
transformers[torch]
datasets>=2.17.0
evaluate
torch
sentence-transformers
wandb
pytorch-lightning>=2.0.0
gliner
bert-score
sacrebleu
seqeval

[viz]
matplotlib
seaborn
ipywidgets
