emodeconnection
Python interface for EMode, a photonics simulation platform for waveguide mode solving, propagation, and analysis.
Requirements
- Python 3.10 or higher
- An active EMode account and license
- EMode installed on your system (see Installation)
Installation
pip install emodeconnection
Quick Start
import emodeconnection as emc
# Open the EMode login window (only required on first use)
emc.EModeLogin()
## Connect and initialize EMode
em = emc.EMode(save = False)
## Draw shapes
em.shape(name = 'BOX', material = 'SiO2', height = 800)
em.shape(name = 'core', material = 'Si', width = 600, height = 400)
## Run FDM, display results, and close
em.FDM()
em.report()
em.close()
Features
- Simple Python API for EMode simulation sessions
- Automatic login and license management
- Cross-platform: Windows, macOS, Linux
- Command-line installer via
emode-install
Installing EMode
The emodeconnection package includes a command-line tool to download and
install the EMode executable:
emode-install
Options
emode-install # Install latest version
emode-install --help # Show all options
emode-install --list-versions # Show available versions
emode-install --update # Update to the latest version
emode-install --update --version 0.2.5 # Switch to a specific version
emode-install --version 0.2.5 # Install a specific version
emode-install --install-dir /opt/bin # Custom install directory
emode-install --uninstall # Remove EMode
emode-install --uninstall --install-dir /opt/bin # Remove from custom location
Environment variables
| Variable | Description |
|---|---|
EMODE_EULA_ACCEPTED=1 |
Accept the EULA non-interactively (CI/headless) |
EMODE_EMAIL |
Pre-fill login email |
EMODE_PASSWORD |
Pre-fill password (use with caution) |
EMODE_INTERACTIVE=1 |
Use interactive installer GUI |
UNINSTALL_EMODE=y |
Accept the uninstallation non-interactively |
Documentation
Full documentation is available at docs.emodephotonix.com.
License
See LICENSE for details.
MATLAB
A legacy MATLAB interface (emodeconnection.m) is included in this repository
for historical reference. It is no longer supported as of EMode 0.2.5 and may
not work with newer versions. No support is provided for MATLAB usage.
Release files for emodeconnection 1.1.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| emodeconnection-1.1.18.tar.gz | 71.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| emodeconnection-1.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.2 kB
Release files / emodeconnection-1.1.18.tar.gz
| Download URL | emodeconnection-1.1.18.tar.gz |
|---|---|
| Size | 71.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08329c7dbc8c9ae0d494a19c683fbea4088c258002a6f8343ba31fd8fd26a1ae
|
|
BLAKE2b-256 checksum How to use checksums |
5d0ebedb0dfcc376762e07c8034247fa753de1d4bdf5801d5ebf8102ab1060f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / emodeconnection-1.1.18-py3-none-any.whl
| Download URL | emodeconnection-1.1.18-py3-none-any.whl |
|---|---|
| Size | 40.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57d99077e3cabdc05359c7d5bccd2ec840eb87e637cc7ae996aa26530f6d4073
|
|
BLAKE2b-256 checksum How to use checksums |
a100796e3af63919ab2c9a9607de7e0042a41052777a0ab1f24eabab7afb7664
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log