type hints and lint

This commit is contained in:
Forgejo Actions 2026-04-21 21:13:34 -07:00
commit c6c9159b13
30 changed files with 198 additions and 136 deletions

View file

@ -15,6 +15,7 @@ This example demonstrates a cylindrical-waveguide EME workflow:
from __future__ import annotations
import importlib
from typing import TYPE_CHECKING
import numpy
from numpy import pi
@ -26,6 +27,9 @@ from gridlock import Extent
from meanas.fdfd import eme, waveguide_2d, waveguide_cyl
from meanas.fdmath import unvec
if TYPE_CHECKING:
from types import ModuleType
WL = 1310.0
DX = 40.0
@ -40,7 +44,7 @@ STRAIGHT_SECTION_LENGTH = 12e3
BEND_ANGLE = pi / 2
def require_optional(name: str, package_name: str | None = None):
def require_optional(name: str, package_name: str | None = None) -> ModuleType:
package_name = package_name or name
try:
return importlib.import_module(name)
@ -163,7 +167,7 @@ def solve_bend_modes(
def build_cascaded_network(
skrf,
skrf: ModuleType,
*,
interface_s: numpy.ndarray,
straight_wavenumbers: numpy.ndarray,
@ -216,7 +220,7 @@ def print_summary(
def plot_results(
*,
pyplot,
pyplot: ModuleType,
interface_s: numpy.ndarray,
cascaded_s: numpy.ndarray,
straight_mode: tuple[numpy.ndarray, numpy.ndarray],