PyFiberModes 0.16.0__tar.gz → 0.17.0__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 (169) hide show
  1. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/dependabot.yml +1 -2
  2. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/workflows/deploy_anaconda.yml +3 -2
  3. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/workflows/quality.yml +4 -3
  4. pyfibermodes-0.17.0/.github/workflows/tests.yml +29 -0
  5. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.zenodo.json +2 -2
  6. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/CHANGELOG.md +4 -1
  7. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PKG-INFO +8 -7
  8. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/_version.py +2 -2
  9. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes.egg-info/PKG-INFO +8 -7
  10. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes.egg-info/requires.txt +5 -5
  11. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/README.rst +1 -1
  12. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/conda.recipe/meta.yaml +2 -2
  13. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/pyproject.toml +11 -6
  14. pyfibermodes-0.16.0/.github/workflows/tests.yml +0 -28
  15. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.coveragerc +0 -0
  16. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/workflows/deploy_PyPi.yml +0 -0
  17. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/workflows/deploy_coverage.yml +0 -0
  18. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.github/workflows/deploy_documentation.yml +0 -0
  19. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/.gitignore +0 -0
  20. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/CITATION.cff +0 -0
  21. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/CONTRIBUTING.md +0 -0
  22. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/LICENSE +0 -0
  23. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/MANIFEST.in +0 -0
  24. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/Makefile +0 -0
  25. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/__init__.py +0 -0
  26. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/analysis.py +0 -0
  27. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/coordinates.py +0 -0
  28. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/directories.py +0 -0
  29. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/exceptions.py +0 -0
  30. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/factory.py +0 -0
  31. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber.py +0 -0
  32. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
  33. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
  34. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
  35. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
  36. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
  37. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
  38. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
  39. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
  40. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
  41. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
  42. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
  43. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
  44. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/HP630.yaml +0 -0
  45. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
  46. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
  47. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
  48. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
  49. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
  50. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
  51. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/field.py +0 -0
  52. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/fundamentals.py +0 -0
  53. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/loader.py +0 -0
  54. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/materials.py +0 -0
  55. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/mode.py +0 -0
  56. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/mode_instances.py +0 -0
  57. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/models.py +0 -0
  58. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/optimization.py +0 -0
  59. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/plotting.py +0 -0
  60. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/propagation.py +0 -0
  61. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/services.py +0 -0
  62. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/__init__.py +0 -0
  63. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/base_solver.py +0 -0
  64. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/multilayer/__init__.py +0 -0
  65. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
  66. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/protocols.py +0 -0
  67. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/results.py +0 -0
  68. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/three_layer/__init__.py +0 -0
  69. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
  70. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/two_layer/__init__.py +0 -0
  71. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
  72. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
  73. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/source.py +0 -0
  74. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes/stepindex.py +0 -0
  75. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes.egg-info/SOURCES.txt +0 -0
  76. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes.egg-info/dependency_links.txt +0 -0
  77. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/PyFiberModes.egg-info/top_level.txt +0 -0
  78. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/benchmarks/README.md +0 -0
  79. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/benchmarks/test_field_performance.py +0 -0
  80. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/Makefile +0 -0
  81. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/README.rst +0 -0
  82. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/SMF28/README.rst +0 -0
  83. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/SMF28/plot_smf28.py +0 -0
  84. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -0
  85. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -0
  86. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/analysis/README.rst +0 -0
  87. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -0
  88. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/analysis/plot_guided_mode_discovery.py +0 -0
  89. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -0
  90. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/README.rst +0 -0
  91. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_U_vs_V.py +0 -0
  92. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_comparison_solvers.py +0 -0
  93. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_dispersion.py +0 -0
  94. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_effective_index.py +0 -0
  95. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_fiber_LP_modes.py +0 -0
  96. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_group_index.py +0 -0
  97. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_mode_field.py +0 -0
  98. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_mode_field_1.py +0 -0
  99. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_mode_field_2.py +0 -0
  100. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/basic/plot_neff_tapered_fiber.py +0 -0
  101. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/benchmarks/README.rst +0 -0
  102. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -0
  103. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -0
  104. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -0
  105. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/fields/README.rst +0 -0
  106. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/fields/plot_confinement_by_radius.py +0 -0
  107. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/fields/plot_polarization_rotation.py +0 -0
  108. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/fields/plot_vector_components.py +0 -0
  109. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/specialty_fibers/README.rst +0 -0
  110. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -0
  111. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -0
  112. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -0
  113. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/validation/README.rst +0 -0
  114. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/validation/plot_effective_index_bounds.py +0 -0
  115. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/validation/plot_field_area_convergence.py +0 -0
  116. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/examples/validation/plot_normalized_effective_index.py +0 -0
  117. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/make.bat +0 -0
  118. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/_static/default.css +0 -0
  119. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/_static/favicon.png +0 -0
  120. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/_static/logo.png +0 -0
  121. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/_static/thumbnail.png +0 -0
  122. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/api_policy.rst +0 -0
  123. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/architecture.rst +0 -0
  124. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/code/analysis.rst +0 -0
  125. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/code/fibers.rst +0 -0
  126. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/code/fields.rst +0 -0
  127. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/code/fundamentals.rst +0 -0
  128. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/code.rst +0 -0
  129. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/conf.py +0 -0
  130. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/examples.rst +0 -0
  131. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/getting_started.rst +0 -0
  132. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/index.rst +0 -0
  133. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/migration_guide.rst +0 -0
  134. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/performance.rst +0 -0
  135. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/public_api_contract.rst +0 -0
  136. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/references.rst +0 -0
  137. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/theory.rst +0 -0
  138. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/troubleshooting.rst +0 -0
  139. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/fibers.rst +0 -0
  140. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/fields.rst +0 -0
  141. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/index.rst +0 -0
  142. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/modes.rst +0 -0
  143. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/reproducibility.rst +0 -0
  144. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/sweeps.rst +0 -0
  145. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/user_guide/units.rst +0 -0
  146. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/docs/source/workflows.rst +0 -0
  147. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/pytest.ini +0 -0
  148. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/setup.cfg +0 -0
  149. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/__init__.py +0 -0
  150. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/api_snapshot.json +0 -0
  151. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/helpers.py +0 -0
  152. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_advanced_features.py +0 -0
  153. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_api.py +0 -0
  154. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_architecture.py +0 -0
  155. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_architecture_enhancements.py +0 -0
  156. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_coordinates.py +0 -0
  157. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_docstrings.py +0 -0
  158. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_fiber.py +0 -0
  159. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_field.py +0 -0
  160. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_file_loading.py +0 -0
  161. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_physics_regression.py +0 -0
  162. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_public_api.py +0 -0
  163. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_release_tools.py +0 -0
  164. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_three_layer_solver.py +0 -0
  165. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_two_layer_solver.py +0 -0
  166. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tests/test_validation.py +0 -0
  167. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tools/check_release.py +0 -0
  168. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tools/next_release_version.py +0 -0
  169. {pyfibermodes-0.16.0 → pyfibermodes-0.17.0}/tools/release_tag.py +0 -0
@@ -6,6 +6,5 @@ updates:
6
6
  directory: "/"
7
7
  target-branch: "master"
8
8
  schedule:
9
- interval: "monthly"
10
- day: "sunday"
9
+ interval: "quarterly"
11
10
  time: "09:00"
@@ -21,12 +21,13 @@ jobs:
21
21
 
22
22
  publish:
23
23
  needs: validate-release
24
- uses: MartinPdeS/MPSActions/.github/workflows/publish_compiled_package_to_anaconda.yml@v5
24
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_compiled_package_to_anaconda.yml@v6
25
25
  with:
26
26
  # The recipe is ``noarch: python``. Building it in a platform/version
27
27
  # matrix creates several artifacts with the same archive path, which
28
28
  # collide when the reusable workflow merges them before upload.
29
- python_versions: '["3.11"]'
29
+ # One noarch archive supports all declared Python versions; test it on 3.14.
30
+ python_versions: '["3.14"]'
30
31
  os_list: '["ubuntu-latest"]'
31
32
  package_name: pyfibermodes
32
33
  recipe_path: conda.recipe
@@ -13,11 +13,12 @@ jobs:
13
13
  quality:
14
14
  runs-on: ubuntu-latest
15
15
  steps:
16
- - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
17
- - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
16
+ - name: Set up Python and CI dependencies
17
+ uses: MartinPdeS/MPSActions/actions/setup-python@0f5927acf88b25b5d253421e508387897096a2cc
18
18
  with:
19
19
  python-version: "3.11"
20
- - run: python -m pip install --upgrade pip && python -m pip install -e ".[dev]"
20
+ install-command: >-
21
+ python -m pip install --upgrade pip && python -m pip install -e ".[dev]"
21
22
  - run: python -m ruff check PyFiberModes tests tools
22
23
  - run: python -m mypy
23
24
  - run: python tools/check_release.py
@@ -0,0 +1,29 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ tests:
14
+ name: Python ${{ matrix.python-version }}
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ python-version: ["3.11", "3.12", "3.13", "3.14"]
20
+ steps:
21
+ - name: Set up Python and CI dependencies
22
+ uses: MartinPdeS/MPSActions/actions/setup-python@0f5927acf88b25b5d253421e508387897096a2cc
23
+ with:
24
+ python-version: "${{ matrix.python-version }}"
25
+ install-command: >-
26
+ python -m pip install --upgrade pip && python -m pip install -e ".[testing]"
27
+ - run: python -m pytest -q
28
+ env:
29
+ MPLBACKEND: Agg
@@ -9,8 +9,8 @@
9
9
  "license": "MIT",
10
10
  "upload_type": "software",
11
11
  "access_right": "open",
12
- "version": "0.16.0",
13
- "publication_date": "2026-09-23",
12
+ "version": "0.17.0",
13
+ "publication_date": "2026-10-13",
14
14
  "keywords": [
15
15
  "optical fibers",
16
16
  "guided modes",
@@ -6,6 +6,8 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.17.0] - 2026-10-13
10
+
9
11
  ## [0.16.0] - 2026-09-23
10
12
 
11
13
  ### Fixed
@@ -149,7 +151,8 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
149
151
 
150
152
  - Established the current tagged baseline for subsequent documented releases.
151
153
 
152
- [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.16.0...HEAD
154
+ [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.17.0...HEAD
155
+ [0.17.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.0
153
156
  [0.16.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.16.0
154
157
  [0.15.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.15.0
155
158
  [0.14.3]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.14.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: Guided-mode analysis and design for circular optical fibers.
5
5
  Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -689,6 +689,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
689
689
  Classifier: Programming Language :: Python :: 3.11
690
690
  Classifier: Programming Language :: Python :: 3.12
691
691
  Classifier: Programming Language :: Python :: 3.13
692
+ Classifier: Programming Language :: Python :: 3.14
692
693
  Classifier: Programming Language :: Python :: Implementation :: CPython
693
694
  Classifier: Development Status :: 4 - Beta
694
695
  Classifier: Topic :: Scientific/Engineering :: Physics
@@ -708,22 +709,22 @@ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
708
709
  Requires-Dist: coverage~=7.6; extra == "testing"
709
710
  Requires-Dist: ruff<1,>=0.8; extra == "testing"
710
711
  Requires-Dist: matplotlib>=3.8; extra == "testing"
711
- Requires-Dist: mypy<2,>=1.15; extra == "testing"
712
+ Requires-Dist: mypy<3,>=1.15; extra == "testing"
712
713
  Provides-Extra: plotting
713
714
  Requires-Dist: matplotlib>=3.8; extra == "plotting"
714
715
  Provides-Extra: benchmarking
715
716
  Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
716
717
  Provides-Extra: documentation
717
718
  Requires-Dist: matplotlib>=3.8; extra == "documentation"
718
- Requires-Dist: numpydoc==1.10.0; extra == "documentation"
719
+ Requires-Dist: numpydoc==1.11.0; extra == "documentation"
719
720
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
720
- Requires-Dist: sphinx-gallery==0.21.0; extra == "documentation"
721
+ Requires-Dist: sphinx-gallery==0.22.1; extra == "documentation"
721
722
  Requires-Dist: sphinx-design<1,>=0.6; extra == "documentation"
722
723
  Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "documentation"
723
- Requires-Dist: pydata-sphinx-theme==0.17.1; extra == "documentation"
724
+ Requires-Dist: pydata-sphinx-theme==0.22.0; extra == "documentation"
724
725
  Provides-Extra: dev
725
726
  Requires-Dist: ruff<1,>=0.8; extra == "dev"
726
- Requires-Dist: mypy<2,>=1.15; extra == "dev"
727
+ Requires-Dist: mypy<3,>=1.15; extra == "dev"
727
728
  Dynamic: license-file
728
729
 
729
730
  .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.png
@@ -1049,7 +1050,7 @@ Or run the complete local check target:
1049
1050
 
1050
1051
  make check
1051
1052
 
1052
- Tests run on Python 3.11 through 3.13 in GitHub Actions. Bug reports and
1053
+ Tests run on Python 3.11 through 3.14 in GitHub Actions. Bug reports and
1053
1054
  feature proposals are welcome through the
1054
1055
  `issue tracker <https://github.com/MartinPdeS/PyFiberModes/issues>`_.
1055
1056
 
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.16.0'
22
- __version_tuple__ = version_tuple = (0, 16, 0)
21
+ __version__ = version = '0.17.0'
22
+ __version_tuple__ = version_tuple = (0, 17, 0)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.16.0
3
+ Version: 0.17.0
4
4
  Summary: Guided-mode analysis and design for circular optical fibers.
5
5
  Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -689,6 +689,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
689
689
  Classifier: Programming Language :: Python :: 3.11
690
690
  Classifier: Programming Language :: Python :: 3.12
691
691
  Classifier: Programming Language :: Python :: 3.13
692
+ Classifier: Programming Language :: Python :: 3.14
692
693
  Classifier: Programming Language :: Python :: Implementation :: CPython
693
694
  Classifier: Development Status :: 4 - Beta
694
695
  Classifier: Topic :: Scientific/Engineering :: Physics
@@ -708,22 +709,22 @@ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
708
709
  Requires-Dist: coverage~=7.6; extra == "testing"
709
710
  Requires-Dist: ruff<1,>=0.8; extra == "testing"
710
711
  Requires-Dist: matplotlib>=3.8; extra == "testing"
711
- Requires-Dist: mypy<2,>=1.15; extra == "testing"
712
+ Requires-Dist: mypy<3,>=1.15; extra == "testing"
712
713
  Provides-Extra: plotting
713
714
  Requires-Dist: matplotlib>=3.8; extra == "plotting"
714
715
  Provides-Extra: benchmarking
715
716
  Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
716
717
  Provides-Extra: documentation
717
718
  Requires-Dist: matplotlib>=3.8; extra == "documentation"
718
- Requires-Dist: numpydoc==1.10.0; extra == "documentation"
719
+ Requires-Dist: numpydoc==1.11.0; extra == "documentation"
719
720
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
720
- Requires-Dist: sphinx-gallery==0.21.0; extra == "documentation"
721
+ Requires-Dist: sphinx-gallery==0.22.1; extra == "documentation"
721
722
  Requires-Dist: sphinx-design<1,>=0.6; extra == "documentation"
722
723
  Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "documentation"
723
- Requires-Dist: pydata-sphinx-theme==0.17.1; extra == "documentation"
724
+ Requires-Dist: pydata-sphinx-theme==0.22.0; extra == "documentation"
724
725
  Provides-Extra: dev
725
726
  Requires-Dist: ruff<1,>=0.8; extra == "dev"
726
- Requires-Dist: mypy<2,>=1.15; extra == "dev"
727
+ Requires-Dist: mypy<3,>=1.15; extra == "dev"
727
728
  Dynamic: license-file
728
729
 
729
730
  .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.png
@@ -1049,7 +1050,7 @@ Or run the complete local check target:
1049
1050
 
1050
1051
  make check
1051
1052
 
1052
- Tests run on Python 3.11 through 3.13 in GitHub Actions. Bug reports and
1053
+ Tests run on Python 3.11 through 3.14 in GitHub Actions. Bug reports and
1053
1054
  feature proposals are welcome through the
1054
1055
  `issue tracker <https://github.com/MartinPdeS/PyFiberModes/issues>`_.
1055
1056
 
@@ -8,16 +8,16 @@ pytest-benchmark<6,>=5
8
8
 
9
9
  [dev]
10
10
  ruff<1,>=0.8
11
- mypy<2,>=1.15
11
+ mypy<3,>=1.15
12
12
 
13
13
  [documentation]
14
14
  matplotlib>=3.8
15
- numpydoc==1.10.0
15
+ numpydoc==1.11.0
16
16
  sphinx>=5.1.1
17
- sphinx-gallery==0.21.0
17
+ sphinx-gallery==0.22.1
18
18
  sphinx-design<1,>=0.6
19
19
  sphinx-rtd-theme==3.1.0
20
- pydata-sphinx-theme==0.17.1
20
+ pydata-sphinx-theme==0.22.0
21
21
 
22
22
  [plotting]
23
23
  matplotlib>=3.8
@@ -29,4 +29,4 @@ pytest-json-report~=1.5
29
29
  coverage~=7.6
30
30
  ruff<1,>=0.8
31
31
  matplotlib>=3.8
32
- mypy<2,>=1.15
32
+ mypy<3,>=1.15
@@ -321,7 +321,7 @@ Or run the complete local check target:
321
321
 
322
322
  make check
323
323
 
324
- Tests run on Python 3.11 through 3.13 in GitHub Actions. Bug reports and
324
+ Tests run on Python 3.11 through 3.14 in GitHub Actions. Bug reports and
325
325
  feature proposals are welcome through the
326
326
  `issue tracker <https://github.com/MartinPdeS/PyFiberModes/issues>`_.
327
327
 
@@ -1,6 +1,6 @@
1
1
  package:
2
2
  name: pyfibermodes
3
- version: 0.16.0
3
+ version: 0.17.0
4
4
 
5
5
  source:
6
6
  path: ../
@@ -53,7 +53,7 @@ test:
53
53
  - pytest>=0.6
54
54
  - pytest-cov>=2.0
55
55
  - pytest-json-report==1.5.0
56
- - coverage==7.6.1
56
+ - coverage >=7.10,<8
57
57
  commands:
58
58
  - python -m pytest
59
59
  source_files:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyFiberModes"
7
- version = "0.16.0"
7
+ version = "0.17.0"
8
8
  description = "Guided-mode analysis and design for circular optical fibers."
9
9
  license = {file = "LICENSE"}
10
10
  readme = "README.rst"
@@ -17,6 +17,7 @@ classifiers = [
17
17
  'Programming Language :: Python :: 3.11',
18
18
  'Programming Language :: Python :: 3.12',
19
19
  'Programming Language :: Python :: 3.13',
20
+ 'Programming Language :: Python :: 3.14',
20
21
  'Programming Language :: Python :: Implementation :: CPython',
21
22
  'Development Status :: 4 - Beta',
22
23
  'Topic :: Scientific/Engineering :: Physics',
@@ -65,7 +66,7 @@ testing = [
65
66
  "coverage ~=7.6",
66
67
  "ruff>=0.8,<1",
67
68
  "matplotlib>=3.8",
68
- "mypy>=1.15,<2",
69
+ "mypy>=1.15,<3",
69
70
  ]
70
71
 
71
72
  plotting = [
@@ -79,17 +80,17 @@ benchmarking = [
79
80
 
80
81
  documentation = [
81
82
  "matplotlib>=3.8",
82
- "numpydoc ==1.10.0",
83
+ "numpydoc ==1.11.0",
83
84
  "sphinx >=5.1.1",
84
- "sphinx-gallery ==0.21.0",
85
+ "sphinx-gallery ==0.22.1",
85
86
  "sphinx-design >=0.6,<1",
86
87
  "sphinx-rtd-theme ==3.1.0",
87
- "pydata-sphinx-theme ==0.17.1",
88
+ "pydata-sphinx-theme ==0.22.0",
88
89
  ]
89
90
 
90
91
  dev = [
91
92
  "ruff>=0.8,<1",
92
- "mypy>=1.15,<2",
93
+ "mypy>=1.15,<3",
93
94
  ]
94
95
 
95
96
  [tool.ruff]
@@ -110,3 +111,7 @@ files = [
110
111
  "PyFiberModes/solver/protocols.py",
111
112
  "PyFiberModes/solver/results.py",
112
113
  ]
114
+
115
+ # Include runtime resources when building wheels from a source archive without Git.
116
+ [tool.setuptools.package-data]
117
+ PyFiberModes = ["fiber_files/*.yaml"]
@@ -1,28 +0,0 @@
1
- name: Tests
2
-
3
- on:
4
- push:
5
- branches: [master]
6
- pull_request:
7
- branches: [master]
8
-
9
- permissions:
10
- contents: read
11
-
12
- jobs:
13
- tests:
14
- name: Python ${{ matrix.python-version }}
15
- runs-on: ubuntu-latest
16
- strategy:
17
- fail-fast: false
18
- matrix:
19
- python-version: ["3.11", "3.12", "3.13"]
20
- steps:
21
- - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
22
- - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
23
- with:
24
- python-version: ${{ matrix.python-version }}
25
- - run: python -m pip install --upgrade pip && python -m pip install -e ".[testing]"
26
- - run: python -m pytest -q
27
- env:
28
- MPLBACKEND: Agg
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes