skillfed

tidy3d

A fast FDTD solver

tidy3d v2.12.0 142.5K downloads/30d#11,206 on PyPI358
Copyleft license LGPLv2+ Active released

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 tidy3d

uv

uv add tidy3d

poetry

poetry add tidy3d

Installing 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

License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)Operating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

FDTD electromagnetic simulationfinite-difference time-domain solverelectrodynamics simulation pythoncloud-based EM solverphotonics simulationoptical simulation pythonelectromagnetic field solver
fdtd-simulationcloud-computephotonics

More Scientific/Engineering packages