Installation¶
This guide covers everything you need to install and set up PyFDS on your system.
Requirements¶
Python Version¶
PyFDS requires Python 3.11 or higher. Check your Python version:
If you need to install or upgrade Python, visit python.org/downloads.
System Requirements¶
- Operating System: Linux, macOS, or Windows
- Memory: Minimum 4GB RAM (8GB+ recommended for larger simulations)
- Storage: ~500MB for PyFDS and dependencies
Optional: FDS Installation¶
FDS Required for Execution
PyFDS can create and validate FDS input files without FDS installed. However, to actually run simulations, you need FDS installed on your system.
To install FDS:
- Visit the FDS-SMV Downloads page
- Download the installer for your operating system
- Follow the installation instructions
- Verify installation:
fds -v
Installation Methods¶
Method 1: Using uv (Recommended)¶
uv is a fast Python package manager. This is the recommended installation method.
Method 2: Using pip¶
Standard installation using pip:
For a specific version:
Method 3: From Source (Development)¶
For development or to get the latest features:
Verifying Installation¶
After installation, verify that PyFDS is installed correctly:
Expected output:
Check Available Components¶
Verify that all major components are available:
from pyfds import (
Simulation, # Main simulation class
Results, # Results analysis
FDSRunner, # Execution engine
Validator, # Validation tools
)
print("All components imported successfully!")
Dependencies¶
PyFDS automatically installs these dependencies:
Core Dependencies¶
| Package | Version | Purpose |
|---|---|---|
| numpy | ≥2.3.5 | Numerical computations |
| polars | ≥1.35.2 | Fast DataFrame operations |
| pydantic | ≥2.12.4 | Data validation |
| matplotlib | ≥3.10.7 | Plotting and visualization |
| h5py | ≥3.15.1 | HDF5 file reading |
| xarray | ≥2025.11.0 | Multi-dimensional arrays |
| click | ≥8.3.1 | CLI interface |
| tqdm | ≥4.67.1 | Progress bars |
Development Dependencies (Optional)¶
For development work, additional dependencies are installed:
| Package | Purpose |
|---|---|
| pytest | Testing framework |
| pytest-cov | Coverage reporting |
| pytest-benchmark | Performance testing |
| ruff | Linting and formatting |
| mypy | Type checking |
| pre-commit | Git hooks |
Virtual Environments¶
Use Virtual Environments
Always use a virtual environment to avoid dependency conflicts.
Using venv (Built-in)¶
# Create virtual environment
python -m venv .venv
# Activate (Linux/macOS)
source .venv/bin/activate
# Activate (Windows)
.venv\Scripts\activate
# Install PyFDS
pip install pyfds
Using conda¶
# Create conda environment
conda create -n pyfds python=3.11
conda activate pyfds
# Install PyFDS
pip install pyfds
Using uv (Automatic)¶
uv automatically manages virtual environments for you:
Platform-Specific Notes¶
Linux¶
PyFDS works out-of-the-box on most Linux distributions.
# Ubuntu/Debian
sudo apt update
python3 --version # Verify Python 3.11+
# Install PyFDS
pip install pyfds
macOS¶
macOS Note
On macOS, you may need to use python3 and pip3 instead of python and pip.
Windows¶
Windows Path
Ensure Python is in your system PATH. During Python installation, check "Add Python to PATH".
Upgrading PyFDS¶
To upgrade to the latest version:
To upgrade to a specific version:
Uninstalling¶
To remove PyFDS:
Troubleshooting Installation¶
Common Issues¶
ImportError: No module named 'pyfds'
Solution: PyFDS is not installed in the current Python environment.
Version conflict errors
Solution: Use a fresh virtual environment.
Permission errors on Linux/macOS
Solution: Don't use sudo with pip. Use virtual environments or --user flag.
SSL certificate errors
Solution: Update pip and try again.
Getting Help¶
If you encounter installation issues:
- Check the Troubleshooting Guide
- Search GitHub Issues
- Ask in GitHub Discussions
- Open a new issue
Next Steps¶
Now that PyFDS is installed, you're ready to create your first simulation!