tidy3d
A fast FDTD solver
What it is and what it does
Tidy3D is a Python client for electromagnetic simulation using the finite-difference time-domain (FDTD) method. It lets you programmatically define complex electrodynamics problems—such as photonic devices, optical structures, or antenna designs—and submit them to Flexcompute's cloud servers for computation. The package handles simulation setup, job management, and result retrieval; actual computation runs remotely and requires an account with simulation credits.
The package integrates with Jupyter notebooks and supports both direct Python API calls and a web-based graphical interface. It also exposes an MCP (Model Context Protocol) interface for integration with AI coding agents. With 28 runtime dependencies including numpy, scipy, xarray, and visualization tools like matplotlib, it provides a full stack for electromagnetic problem definition and postprocessing.
Use it for:
- Design and simulate photonic integrated circuits, waveguides, and optical components before fabrication.
- Model antenna radiation patterns and electromagnetic field distributions for RF/microwave engineering.
- Optimize metasurface and metamaterial structures by running parameter sweeps on cloud infrastructure.
- Analyze light-matter interactions in nanophotonic devices and plasmonic structures.
- Integrate FDTD simulation into automated design workflows via the Python API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Tidy3D is a Python API for defining, submitting, and postprocessing finite-difference time-domain (FDTD) electrodynamics simulations that run on Flexcompute's cloud servers.
Yes, if you work in photonics, RF engineering, or computational electromagnetics and need cloud-based FDTD simulation. The package is actively maintained, has low install friction, and provides a clean Python interface to a powerful solver. The main condition is that you must have a Flexcompute account with simulation credits; the local package alone is just the client. No security vulnerabilities are known.
Install
tidy3d on PyPI
pip
pip install tidy3duv
uv add tidy3dpoetry
poetry add tidy3dInstalling tidy3d
Before you install
Low install friction with a pure-wheel distribution. The package is actively maintained with a recent release (18 days old) and supports Python 3.10 through 3.14. However, it requires an API key and account with Flexcompute to run simulations; the local package alone is just the client interface.
License in practice
Licensed under LGPLv2+, a copyleft license. You may use and modify the package freely, but any derivative work must also be distributed under the same or compatible license. This is a standard open-source copyleft constraint, not a barrier to use.
Quickstart
pip install tidy3d
tidy3d configure --apikey=YOUR_API_KEY
import tidy3d as td
import tidy3d.web as web
# Define simulation geometry and submit to cloud
Requires a Flexcompute account with API credits to run simulations; the local package is the client interface only.
Verify before relying
- Whether the 28 runtime dependencies are all required for basic usage or only for advanced features.
- Performance characteristics and typical simulation runtime/cost on Flexcompute servers.
- Whether local FDTD execution is possible or if all computation requires cloud submission.
Package facts
| License | LGPLv2+ (copyleft) |
| Python support | supports the current Python release (<3.15,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 28 — autograd, boto3, click, cryptography, dask, fastmcp, filelock, h5netcdf, h5py, importlib-metadata, joblib, matplotlib, numpy, pandas, pydantic-settings, pydantic, pyjwt, pyroots, pyyaml, requests, responses, rich, scipy, shapely, toml, tomlkit, typing-extensions, xarray |
| Maintenance | actively maintained — 18 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 142,518/month — #11,206 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tidy3d-2.12.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
gpluginsGplugins provides a plugin system for…
unclear · top 15,000 on PyPI
gdsfactoryplusGDSFactory+ extends the GDSFactory library with…
unclear · top 15,000 on PyPI
pyaedtPyAEDT provides a Python API to script and…
permissive · top 15,000 on PyPI
qutipQuTiP simulates the dynamics of closed and open…
permissive · top 15,000 on PyPI
ansys-dpf-coreProvides a Python interface to Ansys Data…
permissive · top 15,000 on PyPI
noisereduceReduces noise in audio and time-domain signals…
permissive · top 15,000 on PyPI
pyodPyOD detects anomalies and outliers across…
permissive · top 5,000 on PyPI
py3dbpSolves the 3D bin packing problem by fitting…
permissive · top 5,000 on PyPI
gdsfactoryGDSFactory generates CAD files (GDS, OASIS,…
unclear · top 15,000 on PyPI
diffraxDiffrax provides numerical solvers for…
permissive · top 15,000 on PyPI