Skip to content
flexcomputePublic

Repository files navigation

Tidy3D

PyPI Name PyPI version shields.io Documentation License: LGPL-2.1 Ruff Coverage Notebooks

Tidy3D is a software package for solving extremely large electrodynamics problems using the finite-difference time-domain (FDTD) method. It can be controlled through either an open source python package or a web-based graphical user interface.

This repository contains the python API to allow you to:

  • Programmatically define FDTD simulations.
  • Submit and manage simulations running on Flexcompute's servers.
  • Download and postprocess the results from the simulations.

Installation

Signing up for tidy3d

Note that while this front end package is open source, to run simulations on Flexcompute servers requires an account with credits. You can sign up for an account here. After that, you can install the front end with the instructions below, or visit this page in our documentation for more details.

Quickstart Installation

To install the Tidy3D Python API locally, the following instructions should work for most users.

pip install --user tidy3d
tidy3d configure --apikey=XXX

Where XXX is your API key, which can be copied from your account page in the web interface.

In a hosted jupyter notebook environment (eg google colab), it may be more convenient to install and configure via the following lines at the top of the notebook.

!pip install tidy3d
import tidy3d.web as web
web.configure("XXX")

Advanced installation instructions for all platforms is available in the documentation installation guides.

Authentication Verification

To test the authentication, you may try importing the web interface via.

python -c "import tidy3d.web as web; web.test()"

It should pass without any errors if the API key is set up correctly.

Troubleshooting

If an installation, authentication, upload, or connection problem persists, generate a diagnostic report to share with Tidy3D support:

tidy3d troubleshoot report

The command prompts for a short problem description and collects Python, package, configuration, and connectivity information. Use --no-connection for an offline report or --output tidy3d-support-report.txt to save it.

Review the report before sharing it. Narrative answers and traceback files are included verbatim, and the environment section contains local paths and installed package versions. Do not share reports created with --private-network-details outside your institution.

See the troubleshooting guide for the environment-only and connection-only commands and all available options. You can also run tidy3d troubleshoot --help or tidy3d troubleshoot report --help.

To get started, our documentation has a lot of examples for inspiration.

Common Documentation References

API Resource URL
Installation Guide https://docs.flexcompute.com/projects/tidy3d/en/latest/install.html
Documentation https://docs.flexcompute.com/projects/tidy3d/en/latest/index.html
Example Library https://www.flexcompute.com/tidy3d/learning-center/example-library/
FAQ https://www.flexcompute.com/tidy3d/learning-center/faq/

FlexAgent MCP

FlexAgent connects AI clients to Tidy3D through the Model Context Protocol (MCP). For AI coding agents, install the Tidy3D plugin from the Flexcompute plugin marketplace. The plugin provides Tidy3D guidance and MCP registration backed by the independently released tidy3d-mcp runtime.

Claude Code

In Claude Code:

/plugin marketplace add flexcompute/plugin-marketplace
/plugin install tidy3d@flexcompute

If Claude Code is already running, reload plugins after installation:

/reload-plugins

Codex CLI (v0.122.0+)

Add the Flexcompute marketplace:

codex plugin marketplace add flexcompute/plugin-marketplace

Then open Codex, run /plugins, choose the Flexcompute marketplace, and install Tidy3D.

ChatGPT desktop app (Work or Codex)

Clone the Flexcompute plugin marketplace and open the folder in the app. In Plugins, choose Flexcompute Plugins and install Tidy3D.

Configure Tidy3D through uvx:

uvx tidy3d configure

You can also set SIMCLOUD_APIKEY instead of running the configure command.

For advanced manual MCP setup, use Tidy3D's integrated command. It delegates to the same runtime shipped by tidy3d-mcp and forwards all remaining command-line arguments:

uvx tidy3d mcp

If you install the standalone runtime package directly, its equivalent command is:

tidy3d-mcp

For raw MCP client config, run the same command:

{
  "mcpServers": {
    "tidy3d": {
      "command": "uvx",
      "args": ["tidy3d", "mcp"]
    }
  }
}

Issues / Feedback / Bug Reporting

Your feedback helps us immensely!

If you find bugs, file an Issue. For more general discussions, questions, comments, anything else, open a topic in the Discussions Tab.

License

GNU LGPL

Releases

Packages

Used by

Contributors

Languages