Skip to main content

LinkedInCover

GitHub License GitHub Release PyPI - Downloads DOI

Introduction

EMerge is a python based FEM EM library for the time harmonic helmholtz formulation. It is thus best suited for Electromagnetic wave phenomenon. You can use it to simulate:

  • RF Filters
  • Signal propagation through PCBs
  • Antennas
  • Optycal systems
  • Arrays and periodic structures
  • Much more!

It is designed to be as easy to use and compatible as possible. It runs on all operating systems and on all hardware.

EMerge is designed to have your entire simulation start and finish in the same Python script (or more if you want). You require no awkward configuration files, JSON's, external software to do modelling etc. It allows you to do everything in Python:

  • Geometry Creation/description |
  • Material assignment |
  • Meshing + mesh settings and adaptive mesh refinement |
  • Boundary condition setup |
  • Solving |
  • Post processing and visualization |

If you have questions, suggestions, bug reports or just want to hang out, feel free to join the discord!

Discord Invitation


How to install

You can now install the basic version of emerge from PyPi!

pip install emerge

Direct solvers

EMerge solves all systems with direct solvers only. Some are faster than others. Depending on the operating system and hardware you have, some might work better and/or are easier to install than others.

MacOS (ARM)

EMerge uses the Apple Accelerate sparse solver for all cases. From 3.0.0b4 onwards it is installed automatically with EMerge on macOS (the precompiled emerge-aasds package on PyPI), so no extra installation is needed.

By default the Accelrate solver will be limited to a single thread for frequency distributed sweeps. To allow for more threads either set the environment variable manually:

VECLIB_MAXIMUM_THREADS = 4

Or in Python before loading EMerge:

import os
os.environ['VECLIB_MAXIMUM_THREADS'] = '4'

Of from 2.5.3 onwards also through the config sister module

from emerge_config import config
config.set_acc_threads(4)
MacOS (ARM, GPU)

To utilize the GPU on Apple silicon you can install the open source GPU based sparse direct solver SPARTA.

pip install git+https://github.com/FennisRobert/SPARTA

To activate the GPU, set:

model.set_solver(em.solvers.Sparta)
Windows (x86)

Windows has easy access to the lightning fast PARDISO solver out of the box, no installation needed. If you want to install the UMFPACK solver for distributed sweeps this distribution should work through conda forge:

conda install conda-forge::scikit-umfpack

Otherwise try the solution in the user manual.

https://www.emerge-software.com/resources

GPU based CuDSS solver

If you have a new NVidia card you can try the first test implementation of the cuDSS solver. The dependencies can be installed through:

pip install emerge[cudss]
GPU based SPARTA solver

You can utilize the GPU on AMD devices through Vulkan using the open source SPARTA solver.

pip install git+https://github.com/FennisRobert/SPARTA

To activate the GPU, set:

model.set_solver(em.solvers.Sparta)

Install GMSH Version 5.0.0 MacOS

pip install https://gmsh.info/python-packages-dev/gmsh/gmsh-5.0.0.dev1-py2.py3-none-macosx_12_0_arm64.whl --force-reinstall

Dependencies

EMerge ships compiled Rust kernels (the emr module, source in emr/). PyPI wheels include them; installing from source (pip install /path/to/EMerge or pip install git+https://github.com/FennisRobert/EMerge.git) compiles them automatically and requires a Rust toolchain (https://rustup.rs).

To run this FEM library you need the following libraries Optional:
  • numpy
  • scipy
  • gmsh
  • loguru
  • matplotlib (for the matplotlib base display)
  • pyvista (for the PyVista base display)
  • mkl (x86 devices only)
  • emsutil
  • scikit-umfpack
  • cudss
  • ezdxf
  • emcad

PCB and CAD readers

You can read Gerber and ODB++ files using the optional emcad dependency which I also maintain. To get all the dependencies its easiest to do:

pip install emerge[cad]

Resources / Manual

You can find the latest versions of the manual on: https://www.emerge-software.com/resources/

Metadata

Release files for emerge 3.0.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 emerge 3.0.0
File Size Uploaded Provenance Actions
emerge-3.0.0.tar.gz 900.7 kB With provenance Details for emerge-3.0.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for emerge 3.0.0
File Actions
emerge-3.0.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for emerge-3.0.0-cp310-abi3-win_amd64.whl
emerge-3.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for emerge-3.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
emerge-3.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for emerge-3.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
emerge-3.0.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details for emerge-3.0.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl

Total release size: 9.5 MB

Release files / emerge-3.0.0.tar.gz

Download URL emerge-3.0.0.tar.gz
Size 900.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6b313dc84e7bc4d5afb4fa9fcb813b704215b2ca5cdcbb620242789bc1f2af83
BLAKE2b-256 checksum
How to use checksums
43037fa4f86868426cdb12b277206fba92e166d668468455d1c3ef655bd50a38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / emerge-3.0.0-cp310-abi3-win_amd64.whl

Download URL emerge-3.0.0-cp310-abi3-win_amd64.whl
Size 1.9 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
de09fcabfc2ae479f55c2b7011e5da70b69976dec0664b59c3c110e8414ef3a1
BLAKE2b-256 checksum
How to use checksums
a8998e3f1292e17a01de2cd46ef7eaeb5a62eb95efbf32b83a97db26ab48c612
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / emerge-3.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL emerge-3.0.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
9127b637818e4dc736c9b36453b673cc40dad890ef56e6facad3dd6397e77872
BLAKE2b-256 checksum
How to use checksums
e59232185a5de24956b6539513b5bae5a647f41a15d3a9b8cf1c44c90277ef96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / emerge-3.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL emerge-3.0.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.9 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
deee6d5b31e4b21b529cf21c29ecb8bb68c904f7115d3641d0b78df1189f3a36
BLAKE2b-256 checksum
How to use checksums
6eb882a15ca7a551713708d59fb3850def006d100efa5b512a1fd7d086cae4aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Release files / emerge-3.0.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl

Download URL emerge-3.0.0-cp310-abi3-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8b436d4f13b4590511fae9b99cf05477d98c2872f3f844a2395a17bce9fde1e6
BLAKE2b-256 checksum
How to use checksums
4b506efad322093d9aee16cbe8d3220ad826ece32e476d8ae41f6fadf8f2fe25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 4, 2026.

Transparency log

Security for emerge 3.0.0

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.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for emerge-3.0.0.tar.gz

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 Nov 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.0.0 This release

5 release files Full provenance

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