ElectroMagneticPython 2.1.5__tar.gz → 2.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. electromagneticpython-2.2.3/.bumpversion.cfg +6 -0
  2. electromagneticpython-2.2.3/.flake8 +3 -0
  3. electromagneticpython-2.2.3/.github/dependabot.yml +13 -0
  4. electromagneticpython-2.2.3/.github/workflows/codeql-analysis.yml +70 -0
  5. electromagneticpython-2.2.3/.github/workflows/publish.yml +36 -0
  6. electromagneticpython-2.2.3/.github/workflows/python-app.yml +40 -0
  7. electromagneticpython-2.2.3/.gitignore +8 -0
  8. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/RCWA.py +291 -271
  9. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/__init__.py +10 -2
  10. electromagneticpython-2.2.3/EMpy/_version.py +34 -0
  11. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/devices.py +10 -33
  12. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/materials.py +1 -6
  13. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/modesolvers/FD.py +34 -72
  14. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/modesolvers/FMM.py +24 -23
  15. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/modesolvers/__init__.py +1 -0
  16. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/modesolvers/geometries.py +8 -9
  17. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/transfer_matrix.py +83 -83
  18. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/utils.py +12 -24
  19. electromagneticpython-2.2.3/ElectroMagneticPython.egg-info/PKG-INFO +99 -0
  20. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/ElectroMagneticPython.egg-info/SOURCES.txt +17 -6
  21. electromagneticpython-2.2.3/ElectroMagneticPython.egg-info/top_level.txt +5 -0
  22. electromagneticpython-2.2.3/Makefile +45 -0
  23. electromagneticpython-2.2.3/PKG-INFO +99 -0
  24. electromagneticpython-2.2.3/README.md +76 -0
  25. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_APRR.py +8 -7
  26. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_NRR.py +11 -9
  27. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_RCWA.py +8 -9
  28. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_RCWA_2.py +8 -9
  29. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_RCWA_3.py +9 -9
  30. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_SRR.py +11 -9
  31. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_laser_etch_monitor.py +5 -9
  32. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver.py +16 -15
  33. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver_2.py +11 -10
  34. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver_3.py +10 -9
  35. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver_4.py +8 -7
  36. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_transfer_matrix.py +14 -13
  37. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_transfer_matrix_2.py +12 -11
  38. electromagneticpython-2.2.3/examples/ex_transfer_matrix_2.py.png +0 -0
  39. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_transfer_matrix_3.py +10 -9
  40. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/nk.py +2 -8
  41. electromagneticpython-2.2.3/mypy.ini +5 -0
  42. electromagneticpython-2.2.3/pyproject.toml +55 -0
  43. electromagneticpython-2.2.3/scripts/FDTD.py +741 -0
  44. electromagneticpython-2.2.3/setup.cfg +4 -0
  45. electromagneticpython-2.2.3/tests/devices_test.py +31 -0
  46. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/tests/materials_test.py +1 -1
  47. electromagneticpython-2.2.3/tests/modesolvers_test.py +36 -0
  48. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/tests/utils_test.py +9 -5
  49. electromagneticpython-2.2.3/uv.lock +1312 -0
  50. ElectroMagneticPython-2.1.5/EMpy/version.py +0 -1
  51. ElectroMagneticPython-2.1.5/ElectroMagneticPython.egg-info/PKG-INFO +0 -95
  52. ElectroMagneticPython-2.1.5/ElectroMagneticPython.egg-info/top_level.txt +0 -2
  53. ElectroMagneticPython-2.1.5/MANIFEST.in +0 -3
  54. ElectroMagneticPython-2.1.5/PKG-INFO +0 -95
  55. ElectroMagneticPython-2.1.5/README.rst +0 -69
  56. ElectroMagneticPython-2.1.5/requirements.txt +0 -34
  57. ElectroMagneticPython-2.1.5/setup.cfg +0 -11
  58. ElectroMagneticPython-2.1.5/setup.py +0 -42
  59. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/constants.py +0 -0
  60. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/modesolvers/interface.py +0 -0
  61. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/EMpy/scattering.py +0 -0
  62. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/ElectroMagneticPython.egg-info/dependency_links.txt +0 -0
  63. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/ElectroMagneticPython.egg-info/requires.txt +0 -0
  64. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/LICENSE +0 -0
  65. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver_dch.py +0 -0
  66. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/ex_modesolver_dch_anis.py +0 -0
  67. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/examples/lc_data.dat +0 -0
  68. {ElectroMagneticPython-2.1.5 → electromagneticpython-2.2.3}/tests/__init__.py +0 -0
@@ -0,0 +1,6 @@
1
+ [bumpversion]
2
+ commit = True
3
+ sign_tags = True
4
+ tag = True
5
+ tag_name = {new_version}
6
+ current_version = 2.2.3
@@ -0,0 +1,3 @@
1
+ [flake8]
2
+ max-line-length = 130
3
+ ignore = E203,E741,E501,W503,W292
@@ -0,0 +1,13 @@
1
+ # Keep GitHub Actions up to date with GitHub's Dependabot...
2
+ # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
3
+ # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
4
+ # Working with uv
5
+ # https://docs.astral.sh/uv/guides/integration/dependency-bots/#dependabot
6
+
7
+ version: 2
8
+
9
+ updates:
10
+ - package-ecosystem: uv
11
+ directory: /
12
+ schedule:
13
+ interval: weekly
@@ -0,0 +1,70 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ master ]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ master ]
20
+ schedule:
21
+ - cron: '43 12 * * 4'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'python' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
+ # Learn more about CodeQL language support at https://git.io/codeql-language-support
38
+
39
+ steps:
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v6
42
+
43
+ # Initializes the CodeQL tools for scanning.
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v4
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # If you wish to specify custom queries, you can do so here or in a config file.
49
+ # By default, queries listed here will override any specified in a config file.
50
+ # Prefix the list here with "+" to use these queries and those in the config file.
51
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
52
+
53
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
54
+ # If this step fails, then you should remove it and run the build manually (see below)
55
+ - name: Autobuild
56
+ uses: github/codeql-action/autobuild@v4
57
+
58
+ # ℹ️ Command-line programs to run using the OS shell.
59
+ # 📚 https://git.io/JvXDl
60
+
61
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
62
+ # and modify them (or add more) to build your code if your project
63
+ # uses a compiled language
64
+
65
+ #- run: |
66
+ # make bootstrap
67
+ # make release
68
+
69
+ - name: Perform CodeQL Analysis
70
+ uses: github/codeql-action/analyze@v4
@@ -0,0 +1,36 @@
1
+ name: Release and Publish
2
+
3
+
4
+ on:
5
+ push:
6
+ tags:
7
+ - '[0-9]+.[0-9]+.[0-9]+'
8
+
9
+ jobs:
10
+ release:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v6
15
+ - name: Release on GitHub
16
+ uses: softprops/action-gh-release@v2
17
+ publish:
18
+ runs-on: ubuntu-latest
19
+ environment:
20
+ name: pypi
21
+ permissions:
22
+ id-token: write
23
+ contents: read
24
+ steps:
25
+ - uses: actions/checkout@v6
26
+
27
+ - name: Install uv and set the Python version
28
+ uses: astral-sh/setup-uv@v7
29
+ with:
30
+ python-version: '3.12'
31
+
32
+ - name: Build
33
+ run: uv build
34
+
35
+ - name: Publish
36
+ run: uv publish
@@ -0,0 +1,40 @@
1
+ name: Python application
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ build:
11
+
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
18
+
19
+ steps:
20
+ - uses: actions/checkout@v6
21
+
22
+ - name: Install uv and set the Python version
23
+ uses: astral-sh/setup-uv@v7
24
+ with:
25
+ python-version: ${{ matrix.python-version }}
26
+
27
+ - name: Install the project
28
+ run: uv sync --locked --all-extras --dev
29
+
30
+ - name: Lint with flake8
31
+ run: uv run flake8 EMpy tests examples scripts
32
+
33
+ - name: Lint with pyflakes
34
+ run: uv run pyflakes EMpy tests examples scripts
35
+
36
+ - name: Lint with mypy
37
+ run: uv run mypy EMpy tests examples scripts
38
+
39
+ - name: Run tests
40
+ run: uv run pytest
@@ -0,0 +1,8 @@
1
+ *.egg-info
2
+ .mypy_cache
3
+ .venv
4
+ .vscode
5
+ build
6
+ dist
7
+ __pycache__
8
+ EMpy/_version.py