Skip to main content

Tidy3D

Notebooks tests Documentation Status Language grade: Python PyPI version shields.io

Tidy3D is a software product from Flexcompute that enables large scale electromagnetic simulation using the finite-difference time-domain (FDTD) method.

This repository stores the python interface for Tidy3d.

This code allows you to:

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

You can find a detailed documentation and API reference here. The source code for our documentation is here.

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 here. While it's currently a waitlist for new users, we will be rolling out to many more users in the coming weeks! See this page in our documentation for more details.

Installing the front end

The easiest way to install tidy3d is through pip.

pip install tidy3d

This will install the latest stable version, to get the a "pre-release" version.

pip install --pre tidy3d

And to get a specific version x.y.z

pip install tidy3d==x.y.z

Installing on Windows

Pre-release 1.9.0rc1 introduces the adjoint plugin, which uses jax for automatic differentiation of tidy3d simulations. As windows users may have trouble installing jax, the recommended approach is to use jax-windows-builder to first install jaxlib before tidy3d.

pip install "jax[cpu]===0.3.14" -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver
pip install tidy3d

More details can be found here.

Installing from source

For development purposes, and to get the latest development versions, you can download and install the package from source as:

git clone https://github.com/flexcompute/tidy3d.git
cd tidy3d
pip install -e .

Configuring and authentication

Authentication (linking the front end to your account) will be done via an API key moving forward.

You can find your API key in the web interface

After signing in and navigating to the account page by clicking the "user" icon on the left-hand side, copy the API key from the button on the right-hand side of the page.

To set up the API key to work with Tidy3D, we need to store it either in the ~/.tidy3d/config file or an environment variable.

You can set it up using one of three following options.

tidy3d configure and then enter your API key when prompted.

Note that Windows users must run the following instead (ideally in an anaconda prompt):

pip install pipx
pipx run tidy3d configure

Manually

For an API key of {your_api_key}, you may run

echo 'apikey = "{your_api_key}"' > ~/.tidy3d/config

or manually insert the line 'apikey = "{your_api_key}" in the ~/.tidy3d/config file.

Environment Variable

Set the SIMCLOUD_APIKEY environment variable to your API key (in quotes).

export SIMCLOUD_APIKEY="{your_api_key}"

Testing the installation and authentication

Front end package

You can verify the front end installation worked by running:

python -c "import tidy3d as td; print(td.__version__)"

and it should print out the version number, for example:

1.0.0

Authentication

To test the web / authentication

python -c "import tidy3d.web"

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

Metadata

Release files for tidy3d-beta 1.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tidy3d-beta 1.10.0
File Size Uploaded
tidy3d-beta-1.10.0.tar.gz 505.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tidy3d-beta 1.10.0
File Interpreter ABI Platform
tidy3d_beta-1.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / tidy3d-beta-1.10.0.tar.gz

Download URL tidy3d-beta-1.10.0.tar.gz
Size 505.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6275a72555e5bed53b91d0d7e442e6ed42745645c81d0af67408f6c624821322
BLAKE2b-256 checksum
How to use checksums
b9deaa9bec66181bef423a9ec936aac6dcc4a091f1433d5aa0a8de18f5590055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / tidy3d_beta-1.10.0-py3-none-any.whl

Download URL tidy3d_beta-1.10.0-py3-none-any.whl
Size 557.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c40567766b1a4898e0ea3424ed8f9e2a08df3271dc6cec82566c6915e6bb2b6
BLAKE2b-256 checksum
How to use checksums
bf35501526f9ca1ee9c99f3616b287db1146a021db68d183ecf091bc953fcac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

2.0.0

2 release files

This release

1.10.0 This release

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page