PyFiberModes 0.17.0__tar.gz → 0.17.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 (171) hide show
  1. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_PyPi.yml +4 -4
  2. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_anaconda.yml +4 -4
  3. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.zenodo.json +2 -2
  4. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CHANGELOG.md +20 -1
  5. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PKG-INFO +1 -1
  6. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/_version.py +2 -2
  7. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/PKG-INFO +1 -1
  8. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/SOURCES.txt +3 -0
  9. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/conda.recipe/meta.yaml +1 -1
  10. pyfibermodes-0.17.3/docs/source/_static/layout.css +89 -0
  11. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/conf.py +2 -2
  12. pyfibermodes-0.17.3/docs/source/guide.rst +37 -0
  13. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/index.rst +4 -12
  14. pyfibermodes-0.17.3/docs/source/resources.rst +62 -0
  15. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/pyproject.toml +1 -1
  16. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_public_api.py +5 -3
  17. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tools/release_tag.py +8 -1
  18. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.coveragerc +0 -0
  19. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/dependabot.yml +0 -0
  20. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_coverage.yml +0 -0
  21. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_documentation.yml +0 -0
  22. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/quality.yml +0 -0
  23. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/tests.yml +0 -0
  24. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.gitignore +0 -0
  25. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CITATION.cff +0 -0
  26. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CONTRIBUTING.md +0 -0
  27. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/LICENSE +0 -0
  28. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/MANIFEST.in +0 -0
  29. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/Makefile +0 -0
  30. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/__init__.py +0 -0
  31. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/analysis.py +0 -0
  32. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/coordinates.py +0 -0
  33. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/directories.py +0 -0
  34. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/exceptions.py +0 -0
  35. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/factory.py +0 -0
  36. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber.py +0 -0
  37. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
  38. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
  39. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
  40. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
  41. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
  42. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
  43. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
  44. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
  45. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
  46. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
  47. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
  48. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
  49. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/HP630.yaml +0 -0
  50. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
  51. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
  52. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
  53. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
  54. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
  55. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
  56. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/field.py +0 -0
  57. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fundamentals.py +0 -0
  58. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/loader.py +0 -0
  59. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/materials.py +0 -0
  60. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/mode.py +0 -0
  61. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/mode_instances.py +0 -0
  62. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/models.py +0 -0
  63. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/optimization.py +0 -0
  64. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/plotting.py +0 -0
  65. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/propagation.py +0 -0
  66. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/services.py +0 -0
  67. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/__init__.py +0 -0
  68. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/base_solver.py +0 -0
  69. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/multilayer/__init__.py +0 -0
  70. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
  71. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/protocols.py +0 -0
  72. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/results.py +0 -0
  73. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/three_layer/__init__.py +0 -0
  74. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
  75. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/__init__.py +0 -0
  76. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
  77. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
  78. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/source.py +0 -0
  79. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/stepindex.py +0 -0
  80. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/dependency_links.txt +0 -0
  81. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/requires.txt +0 -0
  82. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/top_level.txt +0 -0
  83. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/README.rst +0 -0
  84. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/benchmarks/README.md +0 -0
  85. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/benchmarks/test_field_performance.py +0 -0
  86. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/Makefile +0 -0
  87. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/README.rst +0 -0
  88. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/README.rst +0 -0
  89. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28.py +0 -0
  90. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -0
  91. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -0
  92. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/README.rst +0 -0
  93. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -0
  94. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_guided_mode_discovery.py +0 -0
  95. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -0
  96. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/README.rst +0 -0
  97. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_U_vs_V.py +0 -0
  98. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_comparison_solvers.py +0 -0
  99. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_dispersion.py +0 -0
  100. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_effective_index.py +0 -0
  101. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_fiber_LP_modes.py +0 -0
  102. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_group_index.py +0 -0
  103. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field.py +0 -0
  104. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field_1.py +0 -0
  105. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field_2.py +0 -0
  106. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_neff_tapered_fiber.py +0 -0
  107. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/README.rst +0 -0
  108. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -0
  109. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -0
  110. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -0
  111. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/README.rst +0 -0
  112. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_confinement_by_radius.py +0 -0
  113. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_polarization_rotation.py +0 -0
  114. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_vector_components.py +0 -0
  115. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/README.rst +0 -0
  116. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -0
  117. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -0
  118. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -0
  119. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/README.rst +0 -0
  120. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_effective_index_bounds.py +0 -0
  121. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_field_area_convergence.py +0 -0
  122. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_normalized_effective_index.py +0 -0
  123. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/make.bat +0 -0
  124. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/default.css +0 -0
  125. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/favicon.png +0 -0
  126. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/logo.png +0 -0
  127. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/thumbnail.png +0 -0
  128. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/api_policy.rst +0 -0
  129. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/architecture.rst +0 -0
  130. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/analysis.rst +0 -0
  131. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fibers.rst +0 -0
  132. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fields.rst +0 -0
  133. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fundamentals.rst +0 -0
  134. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code.rst +0 -0
  135. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/examples.rst +0 -0
  136. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/getting_started.rst +0 -0
  137. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/migration_guide.rst +0 -0
  138. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/performance.rst +0 -0
  139. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/public_api_contract.rst +0 -0
  140. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/references.rst +0 -0
  141. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/theory.rst +0 -0
  142. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/troubleshooting.rst +0 -0
  143. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/fibers.rst +0 -0
  144. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/fields.rst +0 -0
  145. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/index.rst +0 -0
  146. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/modes.rst +0 -0
  147. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/reproducibility.rst +0 -0
  148. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/sweeps.rst +0 -0
  149. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/units.rst +0 -0
  150. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/workflows.rst +0 -0
  151. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/pytest.ini +0 -0
  152. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/setup.cfg +0 -0
  153. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/__init__.py +0 -0
  154. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/api_snapshot.json +0 -0
  155. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/helpers.py +0 -0
  156. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_advanced_features.py +0 -0
  157. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_api.py +0 -0
  158. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_architecture.py +0 -0
  159. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_architecture_enhancements.py +0 -0
  160. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_coordinates.py +0 -0
  161. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_docstrings.py +0 -0
  162. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_fiber.py +0 -0
  163. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_field.py +0 -0
  164. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_file_loading.py +0 -0
  165. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_physics_regression.py +0 -0
  166. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_release_tools.py +0 -0
  167. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_three_layer_solver.py +0 -0
  168. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_two_layer_solver.py +0 -0
  169. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_validation.py +0 -0
  170. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tools/check_release.py +0 -0
  171. {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tools/next_release_version.py +0 -0
@@ -11,12 +11,12 @@ jobs:
11
11
  validate-release:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
15
- with:
16
- fetch-depth: 0
17
- - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
14
+ - name: Set up Python for release validation
15
+ uses: MartinPdeS/MPSActions/actions/setup-python@0f5927acf88b25b5d253421e508387897096a2cc
18
16
  with:
19
17
  python-version: "3.11"
18
+ install-command: "true"
19
+ fetch-depth: 0
20
20
  - run: python tools/check_release.py --version "${GITHUB_REF_NAME}"
21
21
 
22
22
  publish:
@@ -11,12 +11,12 @@ jobs:
11
11
  validate-release:
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
- - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
15
- with:
16
- fetch-depth: 0
17
- - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1
14
+ - name: Set up Python for release validation
15
+ uses: MartinPdeS/MPSActions/actions/setup-python@0f5927acf88b25b5d253421e508387897096a2cc
18
16
  with:
19
17
  python-version: "3.11"
18
+ install-command: "true"
19
+ fetch-depth: 0
20
20
  - run: python tools/check_release.py --version "${GITHUB_REF_NAME}"
21
21
 
22
22
  publish:
@@ -9,8 +9,8 @@
9
9
  "license": "MIT",
10
10
  "upload_type": "software",
11
11
  "access_right": "open",
12
- "version": "0.17.0",
13
- "publication_date": "2026-10-13",
12
+ "version": "0.17.3",
13
+ "publication_date": "2026-10-16",
14
14
  "keywords": [
15
15
  "optical fibers",
16
16
  "guided modes",
@@ -6,6 +6,22 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.17.3] - 2026-10-16
10
+
11
+ ## [0.17.2] - 2026-10-13
12
+
13
+ ### Fixed
14
+
15
+ - Updated the documentation navigation regression test for the new Resources
16
+ grouping.
17
+
18
+ ## [0.17.1] - 2026-10-13
19
+
20
+ ### Changed
21
+
22
+ - Reorganized the documentation navigation into Start, Guide, Examples, API,
23
+ and Resources sections.
24
+
9
25
  ## [0.17.0] - 2026-10-13
10
26
 
11
27
  ## [0.16.0] - 2026-09-23
@@ -151,7 +167,10 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
151
167
 
152
168
  - Established the current tagged baseline for subsequent documented releases.
153
169
 
154
- [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.17.0...HEAD
170
+ [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.17.3...HEAD
171
+ [0.17.3]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.3
172
+ [0.17.2]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.2
173
+ [0.17.1]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.1
155
174
  [0.17.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.0
156
175
  [0.16.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.16.0
157
176
  [0.15.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.15.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.17.0
3
+ Version: 0.17.3
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
@@ -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.17.0'
22
- __version_tuple__ = version_tuple = (0, 17, 0)
21
+ __version__ = version = '0.17.3'
22
+ __version_tuple__ = version_tuple = (0, 17, 3)
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.17.0
3
+ Version: 0.17.3
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
@@ -120,16 +120,19 @@ docs/source/code.rst
120
120
  docs/source/conf.py
121
121
  docs/source/examples.rst
122
122
  docs/source/getting_started.rst
123
+ docs/source/guide.rst
123
124
  docs/source/index.rst
124
125
  docs/source/migration_guide.rst
125
126
  docs/source/performance.rst
126
127
  docs/source/public_api_contract.rst
127
128
  docs/source/references.rst
129
+ docs/source/resources.rst
128
130
  docs/source/theory.rst
129
131
  docs/source/troubleshooting.rst
130
132
  docs/source/workflows.rst
131
133
  docs/source/_static/default.css
132
134
  docs/source/_static/favicon.png
135
+ docs/source/_static/layout.css
133
136
  docs/source/_static/logo.png
134
137
  docs/source/_static/thumbnail.png
135
138
  docs/source/code/analysis.rst
@@ -1,6 +1,6 @@
1
1
  package:
2
2
  name: pyfibermodes
3
- version: 0.17.0
3
+ version: 0.17.3
4
4
 
5
5
  source:
6
6
  path: ../
@@ -0,0 +1,89 @@
1
+ html {
2
+ --documentation-sidebar-width: 16rem;
3
+ --pst-sidebar-secondary: 15rem;
4
+ }
5
+
6
+ .bd-page-width {
7
+ max-width: none;
8
+ }
9
+
10
+ .bd-container .bd-container__inner {
11
+ width: 100%;
12
+ }
13
+
14
+ .bd-main .bd-content .bd-article-container {
15
+ flex: 1 1 0;
16
+ min-width: 0;
17
+ max-width: none;
18
+ padding: clamp(1rem, 2.5vw, 3rem);
19
+ }
20
+
21
+ .bd-main .bd-content .bd-article-container .bd-article {
22
+ max-width: 78rem;
23
+ margin-inline: auto;
24
+ padding: 0;
25
+ font-size: 1.025rem;
26
+ line-height: 1.65;
27
+ overflow-wrap: break-word;
28
+ }
29
+
30
+ @media (min-width: 960px) {
31
+ .bd-sidebar-primary,
32
+ .bd-sidebar-primary.pst-squeeze {
33
+ --pst-sidebar-primary-width: var(--documentation-sidebar-width);
34
+ flex: 0 0 var(--documentation-sidebar-width);
35
+ width: var(--documentation-sidebar-width);
36
+ }
37
+
38
+ #pst-primary-sidebar .pst-sidebar-collapse {
39
+ display: none;
40
+ }
41
+ }
42
+
43
+ @media (min-width: 768px) {
44
+ #pst-header .navbar-nav {
45
+ gap: 0.3rem;
46
+ }
47
+
48
+ #pst-header .navbar-nav .nav-item {
49
+ position: relative;
50
+ }
51
+
52
+ #pst-header .navbar-nav > .nav-item:not(:last-child)::after {
53
+ position: absolute;
54
+ top: 50%;
55
+ right: -0.15rem;
56
+ height: 1rem;
57
+ border-right: 1px solid var(--pst-color-border);
58
+ content: "";
59
+ transform: translateY(-50%);
60
+ pointer-events: none;
61
+ }
62
+
63
+ #pst-header .navbar-nav .nav-link {
64
+ padding: 0.65rem 0.8rem;
65
+ border-radius: 0.4rem;
66
+ font-size: 1.05rem;
67
+ font-weight: 600;
68
+ }
69
+ }
70
+
71
+ @media (min-width: 1200px) {
72
+ #pst-header .navbar-brand {
73
+ box-sizing: border-box;
74
+ flex: 0 0 var(--documentation-sidebar-width);
75
+ width: var(--documentation-sidebar-width);
76
+ }
77
+
78
+ #pst-header .navbar-brand img.logo__image {
79
+ width: 4rem;
80
+ height: 4rem;
81
+ object-fit: contain;
82
+ }
83
+
84
+ #pst-header .navbar-brand .logo__title {
85
+ font-size: 2rem;
86
+ line-height: 1;
87
+ letter-spacing: -0.035em;
88
+ }
89
+ }
@@ -138,7 +138,7 @@ html_theme_options.update(
138
138
  "icon": "fa-brands fa-python",
139
139
  },
140
140
  ],
141
- "navbar_align": "left",
141
+ "navbar_align": "content",
142
142
  "navbar_end": ["version-switcher", "theme-switcher", "navbar-icon-links"],
143
143
  "show_prev_next": False,
144
144
  "show_version_warning_banner": True,
@@ -191,7 +191,7 @@ epub_title = project
191
191
 
192
192
  html_static_path = ["_static"]
193
193
  templates_path = ["_templates"]
194
- html_css_files = ["default.css"]
194
+ html_css_files = ["default.css", "layout.css"]
195
195
  epub_exclude_files = ["search.html"]
196
196
 
197
197
  # -
@@ -0,0 +1,37 @@
1
+ Guide
2
+ =====
3
+
4
+ Learn the fundamentals of fiber modeling, then follow a workflow suited to
5
+ your calculation.
6
+
7
+ .. grid:: 1 1 3 3
8
+ :gutter: 2
9
+
10
+ .. grid-item-card:: User guide
11
+ :link: user_guide/index
12
+ :link-type: doc
13
+
14
+ Work through fiber definitions, modes, fields, units, and parameter
15
+ sweeps.
16
+
17
+ .. grid-item-card:: Workflows
18
+ :link: workflows
19
+ :link-type: doc
20
+
21
+ Choose a practical path for characterization, field analysis, design,
22
+ or coupled-mode propagation.
23
+
24
+ .. grid-item-card:: Theory
25
+ :link: theory
26
+ :link-type: doc
27
+
28
+ Review the mode families, normalized frequency, and numerical
29
+ conventions behind the calculations.
30
+
31
+ .. toctree::
32
+ :hidden:
33
+ :maxdepth: 2
34
+
35
+ user_guide/index
36
+ workflows
37
+ theory
@@ -12,19 +12,11 @@
12
12
  :maxdepth: 2
13
13
  :hidden:
14
14
 
15
- Getting started <getting_started.rst>
16
- User guide <user_guide/index.rst>
17
- Theory <theory.rst>
18
- Architecture <architecture.rst>
19
- API policy <api_policy.rst>
20
- Public API contract <public_api_contract.rst>
21
- Migration <migration_guide.rst>
22
- Workflows <workflows.rst>
23
- Performance <performance.rst>
24
- Troubleshooting <troubleshooting.rst>
15
+ Start <getting_started.rst>
16
+ Guide <guide.rst>
25
17
  Examples <examples.rst>
26
- API reference <code.rst>
27
- References <references.rst>
18
+ API <code.rst>
19
+ Resources <resources.rst>
28
20
 
29
21
  Choose your path
30
22
  ----------------
@@ -0,0 +1,62 @@
1
+ Resources
2
+ =========
3
+
4
+ Find guidance on numerical reliability, compatibility, and the design of the
5
+ PyFiberModes public API.
6
+
7
+ .. grid:: 1 2 3 3
8
+ :gutter: 2
9
+
10
+ .. grid-item-card:: Architecture
11
+ :link: architecture
12
+ :link-type: doc
13
+
14
+ Understand the package structure and the roles of its main components.
15
+
16
+ .. grid-item-card:: API policy
17
+ :link: api_policy
18
+ :link-type: doc
19
+
20
+ Learn which imports are public and how compatibility is managed.
21
+
22
+ .. grid-item-card:: Public API contract
23
+ :link: public_api_contract
24
+ :link-type: doc
25
+
26
+ Review the supported names and guarantees of the public interface.
27
+
28
+ .. grid-item-card:: Migration guide
29
+ :link: migration_guide
30
+ :link-type: doc
31
+
32
+ Find user-facing changes and guidance for updating existing code.
33
+
34
+ .. grid-item-card:: Performance
35
+ :link: performance
36
+ :link-type: doc
37
+
38
+ Plan parameter grids, control memory use, and benchmark fairly.
39
+
40
+ .. grid-item-card:: Troubleshooting
41
+ :link: troubleshooting
42
+ :link-type: doc
43
+
44
+ Resolve installation and runtime issues.
45
+
46
+ .. grid-item-card:: References
47
+ :link: references
48
+ :link-type: doc
49
+
50
+ Consult the sources behind the implemented methods.
51
+
52
+ .. toctree::
53
+ :hidden:
54
+ :maxdepth: 1
55
+
56
+ architecture
57
+ api_policy
58
+ public_api_contract
59
+ migration_guide
60
+ performance
61
+ troubleshooting
62
+ references
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyFiberModes"
7
- version = "0.17.0"
7
+ version = "0.17.3"
8
8
  description = "Guided-mode analysis and design for circular optical fibers."
9
9
  license = {file = "LICENSE"}
10
10
  readme = "README.rst"
@@ -71,11 +71,13 @@ def test_compatibility_documents_are_published_in_navigation():
71
71
  """Keep the policy and migration guide visible in built documentation."""
72
72
  documentation = PROJECT_ROOT / "docs" / "source"
73
73
  navigation = (documentation / "index.rst").read_text(encoding="utf-8")
74
+ resources = (documentation / "resources.rst").read_text(encoding="utf-8")
74
75
  policy = (documentation / "api_policy.rst").read_text(encoding="utf-8")
75
76
  migration = (documentation / "migration_guide.rst").read_text(encoding="utf-8")
76
77
 
77
- assert "api_policy.rst" in navigation
78
- assert "public_api_contract.rst" in navigation
79
- assert "migration_guide.rst" in navigation
78
+ assert "Resources <resources.rst>" in navigation
79
+ assert ":link: api_policy" in resources
80
+ assert ":link: public_api_contract" in resources
81
+ assert ":link: migration_guide" in resources
80
82
  assert "at least two minor releases and six months" in policy
81
83
  assert "Unreleased" in migration
@@ -93,7 +93,14 @@ def create_release(tag: str, version: str) -> None:
93
93
  "git", "add", ".zenodo.json", "CHANGELOG.md", "conda.recipe/meta.yaml",
94
94
  "pyproject.toml", "PyFiberModes/_version.py",
95
95
  )
96
- run("git", "commit", "-m", f"Release {tag}")
96
+ run(
97
+ "git",
98
+ "commit",
99
+ "-m",
100
+ f"Release {tag}",
101
+ "-m",
102
+ "Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
103
+ )
97
104
  run("git", "tag", "-a", tag, "-m", f"Release {tag}")
98
105
 
99
106
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes