Modular dependency files for different installation profiles.
| Profile | Command | Description |
|---|---|---|
| Core | pip install -r requirements/core.txt |
Minimal (patankar solver) |
| Studio | pip install -r requirements/core.txt -r requirements/studio.txt |
Web GUI |
| Survey | pip install -r requirements/core.txt -r requirements/survey.txt |
Batch processing |
| Full | pip install -r requirements/full.txt |
Everything |
| RAG | pip install -r requirements/core.txt -r requirements/rag.txt |
AI/LLM queries |
| Dev | pip install -r requirements/core.txt -r requirements/dev.txt |
Development tools |
Modern installation with optional dependencies:
# Core only
pip install -e .
# With Studio
pip install -e ".[studio]"
# With Survey
pip install -e ".[survey]"
# Full (Studio + Survey + dev)
pip install -e ".[full]"
# Everything including RAG
pip install -e ".[complete]"Minimal scientific stack:
- numpy, scipy, matplotlib
- pandas, openpyxl
- pillow
Web GUI dependencies:
- fastapi, uvicorn
- pydantic, jinja2
- requests, pyyaml
Batch processing dependencies:
- Same as studio
- odfpy (ODS spreadsheets)
- aiofiles (async I/O)
AI/LLM dependencies:
- llama-index
- sentence-transformers
- chromadb
- Requires Ollama:
ollama pull mistral
Development tools:
- pytest, pytest-cov
- black, isort, mypy
- flake8, bandit
Combines core + studio + survey (excludes RAG due to size)
For conda users:
# Create environment
conda create -n sfppy python=3.10 numpy scipy matplotlib pandas -y
conda activate sfppy
# Install remaining deps via pip
pip install -r requirements/studio.txtOr use the environment.yml:
conda env create -f environment.yml
conda activate sfppyAll dependencies use minimum version constraints (>=) to allow flexibility while ensuring compatibility.
To upgrade all packages:
pip install --upgrade -r requirements/full.txt