PyFiberModes 0.17.2__tar.gz → 0.17.4__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 (176) hide show
  1. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/workflows/deploy_PyPi.yml +4 -4
  2. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/workflows/deploy_anaconda.yml +4 -4
  3. pyfibermodes-0.17.4/.github/workflows/deploy_documentation.yml +40 -0
  4. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.gitignore +1 -0
  5. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.zenodo.json +2 -2
  6. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/CHANGELOG.md +7 -1
  7. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/CONTRIBUTING.md +2 -0
  8. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/Makefile +11 -1
  9. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PKG-INFO +3 -8
  10. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/_version.py +2 -2
  11. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes.egg-info/PKG-INFO +3 -8
  12. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes.egg-info/SOURCES.txt +3 -0
  13. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes.egg-info/requires.txt +1 -6
  14. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/README.rst +1 -1
  15. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/conda.recipe/meta.yaml +1 -1
  16. pyfibermodes-0.17.4/docs/redirect.html +12 -0
  17. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/_static/default.css +0 -12
  18. pyfibermodes-0.17.4/docs/source/_static/favicon.png +0 -0
  19. pyfibermodes-0.17.4/docs/source/_static/favicon.svg +1 -0
  20. pyfibermodes-0.17.4/docs/source/_static/logo.svg +1 -0
  21. pyfibermodes-0.17.4/docs/source/conf.py +55 -0
  22. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/index.rst +1 -1
  23. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/pyproject.toml +2 -7
  24. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tools/release_tag.py +8 -1
  25. pyfibermodes-0.17.2/.github/workflows/deploy_documentation.yml +0 -19
  26. pyfibermodes-0.17.2/docs/source/_static/favicon.png +0 -0
  27. pyfibermodes-0.17.2/docs/source/conf.py +0 -197
  28. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.coveragerc +0 -0
  29. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/dependabot.yml +0 -0
  30. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/workflows/deploy_coverage.yml +0 -0
  31. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/workflows/quality.yml +0 -0
  32. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/.github/workflows/tests.yml +0 -0
  33. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/CITATION.cff +0 -0
  34. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/LICENSE +0 -0
  35. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/MANIFEST.in +0 -0
  36. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/__init__.py +0 -0
  37. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/analysis.py +0 -0
  38. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/coordinates.py +0 -0
  39. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/directories.py +0 -0
  40. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/exceptions.py +0 -0
  41. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/factory.py +0 -0
  42. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber.py +0 -0
  43. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
  44. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
  45. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
  46. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
  47. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
  48. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
  49. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
  50. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
  51. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
  52. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
  53. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
  54. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
  55. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/HP630.yaml +0 -0
  56. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
  57. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
  58. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
  59. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
  60. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
  61. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
  62. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/field.py +0 -0
  63. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/fundamentals.py +0 -0
  64. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/loader.py +0 -0
  65. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/materials.py +0 -0
  66. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/mode.py +0 -0
  67. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/mode_instances.py +0 -0
  68. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/models.py +0 -0
  69. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/optimization.py +0 -0
  70. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/plotting.py +0 -0
  71. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/propagation.py +0 -0
  72. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/services.py +0 -0
  73. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/__init__.py +0 -0
  74. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/base_solver.py +0 -0
  75. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/multilayer/__init__.py +0 -0
  76. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
  77. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/protocols.py +0 -0
  78. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/results.py +0 -0
  79. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/three_layer/__init__.py +0 -0
  80. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
  81. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/two_layer/__init__.py +0 -0
  82. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
  83. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
  84. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/source.py +0 -0
  85. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes/stepindex.py +0 -0
  86. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes.egg-info/dependency_links.txt +0 -0
  87. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/PyFiberModes.egg-info/top_level.txt +0 -0
  88. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/benchmarks/README.md +0 -0
  89. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/benchmarks/test_field_performance.py +0 -0
  90. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/Makefile +0 -0
  91. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/README.rst +0 -0
  92. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/SMF28/README.rst +0 -0
  93. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/SMF28/plot_smf28.py +0 -0
  94. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -0
  95. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -0
  96. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/analysis/README.rst +0 -0
  97. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -0
  98. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/analysis/plot_guided_mode_discovery.py +0 -0
  99. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -0
  100. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/README.rst +0 -0
  101. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_U_vs_V.py +0 -0
  102. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_comparison_solvers.py +0 -0
  103. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_dispersion.py +0 -0
  104. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_effective_index.py +0 -0
  105. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_fiber_LP_modes.py +0 -0
  106. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_group_index.py +0 -0
  107. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_mode_field.py +0 -0
  108. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_mode_field_1.py +0 -0
  109. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_mode_field_2.py +0 -0
  110. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/basic/plot_neff_tapered_fiber.py +0 -0
  111. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/benchmarks/README.rst +0 -0
  112. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -0
  113. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -0
  114. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -0
  115. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/fields/README.rst +0 -0
  116. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/fields/plot_confinement_by_radius.py +0 -0
  117. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/fields/plot_polarization_rotation.py +0 -0
  118. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/fields/plot_vector_components.py +0 -0
  119. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/specialty_fibers/README.rst +0 -0
  120. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -0
  121. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -0
  122. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -0
  123. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/validation/README.rst +0 -0
  124. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/validation/plot_effective_index_bounds.py +0 -0
  125. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/validation/plot_field_area_convergence.py +0 -0
  126. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/examples/validation/plot_normalized_effective_index.py +0 -0
  127. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/make.bat +0 -0
  128. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/_static/logo.png +0 -0
  129. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/_static/thumbnail.png +0 -0
  130. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/api_policy.rst +0 -0
  131. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/architecture.rst +0 -0
  132. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/code/analysis.rst +0 -0
  133. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/code/fibers.rst +0 -0
  134. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/code/fields.rst +0 -0
  135. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/code/fundamentals.rst +0 -0
  136. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/code.rst +0 -0
  137. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/examples.rst +0 -0
  138. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/getting_started.rst +0 -0
  139. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/guide.rst +0 -0
  140. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/migration_guide.rst +0 -0
  141. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/performance.rst +0 -0
  142. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/public_api_contract.rst +0 -0
  143. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/references.rst +0 -0
  144. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/resources.rst +0 -0
  145. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/theory.rst +0 -0
  146. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/troubleshooting.rst +0 -0
  147. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/fibers.rst +0 -0
  148. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/fields.rst +0 -0
  149. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/index.rst +0 -0
  150. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/modes.rst +0 -0
  151. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/reproducibility.rst +0 -0
  152. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/sweeps.rst +0 -0
  153. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/user_guide/units.rst +0 -0
  154. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/docs/source/workflows.rst +0 -0
  155. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/pytest.ini +0 -0
  156. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/setup.cfg +0 -0
  157. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/__init__.py +0 -0
  158. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/api_snapshot.json +0 -0
  159. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/helpers.py +0 -0
  160. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_advanced_features.py +0 -0
  161. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_api.py +0 -0
  162. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_architecture.py +0 -0
  163. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_architecture_enhancements.py +0 -0
  164. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_coordinates.py +0 -0
  165. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_docstrings.py +0 -0
  166. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_fiber.py +0 -0
  167. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_field.py +0 -0
  168. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_file_loading.py +0 -0
  169. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_physics_regression.py +0 -0
  170. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_public_api.py +0 -0
  171. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_release_tools.py +0 -0
  172. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_three_layer_solver.py +0 -0
  173. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_two_layer_solver.py +0 -0
  174. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tests/test_validation.py +0 -0
  175. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/tools/check_release.py +0 -0
  176. {pyfibermodes-0.17.2 → pyfibermodes-0.17.4}/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:
@@ -0,0 +1,40 @@
1
+ name: Publish documentation
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ tags: ["v*"]
7
+
8
+ permissions:
9
+ contents: write
10
+ pages: write
11
+ id-token: write
12
+
13
+ jobs:
14
+ documentation:
15
+ uses: MartinPdeS/MPSActions/.github/workflows/publish_documentation.yml@a01969bc5af90666281f9d37acffdf6a4629763a
16
+ with:
17
+ python-version: "3.11"
18
+ package-name: PyFiberModes
19
+ apt-package: xvfb jq
20
+
21
+ maintain_documentation:
22
+ needs: documentation
23
+ if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')) }}
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: Install documentation landing page
27
+ uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
28
+ with:
29
+ ref: documentation_page
30
+ fetch-depth: 0
31
+ - run: |
32
+ set -Eeuo pipefail
33
+ git show "${GITHUB_SHA}:docs/redirect.html" > index.html
34
+ test -s docs/latest/index.html
35
+ git config user.name "github-actions[bot]"
36
+ git config user.email "github-actions[bot]@users.noreply.github.com"
37
+ git add index.html
38
+ if git diff --cached --quiet; then exit 0; fi
39
+ git commit -m "Update documentation landing page [skip ci]"
40
+ git push origin HEAD:documentation_page
@@ -34,6 +34,7 @@
34
34
  # But ignore docs/build inside docs and code
35
35
  docs/build/
36
36
  docs/source/gallery/
37
+ docs/source/sg_execution_times.rst
37
38
 
38
39
  # Compiled files in the project
39
40
  *__pycache__*
@@ -9,8 +9,8 @@
9
9
  "license": "MIT",
10
10
  "upload_type": "software",
11
11
  "access_right": "open",
12
- "version": "0.17.2",
13
- "publication_date": "2026-10-13",
12
+ "version": "0.17.4",
13
+ "publication_date": "2026-10-20",
14
14
  "keywords": [
15
15
  "optical fibers",
16
16
  "guided modes",
@@ -6,6 +6,10 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.17.4] - 2026-10-20
10
+
11
+ ## [0.17.3] - 2026-10-16
12
+
9
13
  ## [0.17.2] - 2026-10-13
10
14
 
11
15
  ### Fixed
@@ -165,7 +169,9 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
165
169
 
166
170
  - Established the current tagged baseline for subsequent documented releases.
167
171
 
168
- [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.17.2...HEAD
172
+ [Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v0.17.4...HEAD
173
+ [0.17.4]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.4
174
+ [0.17.3]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.3
169
175
  [0.17.2]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.2
170
176
  [0.17.1]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.1
171
177
  [0.17.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.0
@@ -2,6 +2,8 @@
2
2
 
3
3
  Use Python 3.11 or newer. Install development dependencies with `python -m pip install -e ".[testing,documentation]"`, then run `python -m pytest`.
4
4
 
5
+ Build the documentation with `make docs`. The configuration and layout come from the published `MartinPdeS-docs` package. Run `make docs-install` first if documentation dependencies are missing; use `make docs PYTHON=/path/to/python` to select an environment. Gallery examples execute during the build.
6
+
5
7
  Releases use semantic version tags. Run `make patch`, `make minor`, or `make major` from a clean `master` checkout; the command creates the release commit, tags it, and pushes both. Publishing workflows run only for `v*` tags.
6
8
 
7
9
  The Conda recipe is at `conda.recipe/meta.yaml`. Do not commit generated documentation, virtual environments, build artefacts, or caches.
@@ -1,14 +1,18 @@
1
1
  .DEFAULT_GOAL := help
2
2
 
3
3
  PYTHON ?= python3
4
+ SPHINXOPTS ?=
5
+ DOCS_BUILD_DIR ?= docs/build
4
6
  TAG_VERSION ?= $(or $(VERSION),$(filter v%,$(MAKECMDGOALS)))
5
7
  RELEASE_KIND := $(filter major minor patch,$(MAKECMDGOALS))
6
8
 
7
- .PHONY: help test quality check release-check tag release major minor patch
9
+ .PHONY: help docs docs-install test quality check release-check tag release major minor patch
8
10
 
9
11
  help:
10
12
  @echo "PyFiberModes development commands"
11
13
  @echo ""
14
+ @echo " make docs Build documentation and execute gallery examples"
15
+ @echo " make docs-install Install the documentation dependencies"
12
16
  @echo " make test Run the test suite"
13
17
  @echo " make quality Run static quality checks"
14
18
  @echo " make check Run tests, quality, and release checks"
@@ -26,6 +30,12 @@ $(TAG_VERSION):
26
30
  endif
27
31
  endif
28
32
 
33
+ docs-install:
34
+ $(PYTHON) -m pip install -e ".[documentation]"
35
+
36
+ docs:
37
+ MPLBACKEND=Agg $(PYTHON) -m sphinx -M html docs/source "$(DOCS_BUILD_DIR)" $(SPHINXOPTS)
38
+
29
39
  test:
30
40
  MPLBACKEND=Agg $(PYTHON) -m pytest
31
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyFiberModes
3
- Version: 0.17.2
3
+ Version: 0.17.4
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
@@ -715,19 +715,14 @@ Requires-Dist: matplotlib>=3.8; extra == "plotting"
715
715
  Provides-Extra: benchmarking
716
716
  Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
717
717
  Provides-Extra: documentation
718
+ Requires-Dist: MartinPdeS-docs<0.2,>=0.1.4; extra == "documentation"
718
719
  Requires-Dist: matplotlib>=3.8; extra == "documentation"
719
- Requires-Dist: numpydoc==1.11.0; extra == "documentation"
720
- Requires-Dist: sphinx>=5.1.1; extra == "documentation"
721
- Requires-Dist: sphinx-gallery==0.22.1; extra == "documentation"
722
- Requires-Dist: sphinx-design<1,>=0.6; extra == "documentation"
723
- Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "documentation"
724
- Requires-Dist: pydata-sphinx-theme==0.22.0; extra == "documentation"
725
720
  Provides-Extra: dev
726
721
  Requires-Dist: ruff<1,>=0.8; extra == "dev"
727
722
  Requires-Dist: mypy<3,>=1.15; extra == "dev"
728
723
  Dynamic: license-file
729
724
 
730
- .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.png
725
+ .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.svg
731
726
  :width: 620
732
727
  :align: center
733
728
  :alt: PyFiberModes logo
@@ -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.2'
22
- __version_tuple__ = version_tuple = (0, 17, 2)
21
+ __version__ = version = '0.17.4'
22
+ __version_tuple__ = version_tuple = (0, 17, 4)
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.2
3
+ Version: 0.17.4
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
@@ -715,19 +715,14 @@ Requires-Dist: matplotlib>=3.8; extra == "plotting"
715
715
  Provides-Extra: benchmarking
716
716
  Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
717
717
  Provides-Extra: documentation
718
+ Requires-Dist: MartinPdeS-docs<0.2,>=0.1.4; extra == "documentation"
718
719
  Requires-Dist: matplotlib>=3.8; extra == "documentation"
719
- Requires-Dist: numpydoc==1.11.0; extra == "documentation"
720
- Requires-Dist: sphinx>=5.1.1; extra == "documentation"
721
- Requires-Dist: sphinx-gallery==0.22.1; extra == "documentation"
722
- Requires-Dist: sphinx-design<1,>=0.6; extra == "documentation"
723
- Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "documentation"
724
- Requires-Dist: pydata-sphinx-theme==0.22.0; extra == "documentation"
725
720
  Provides-Extra: dev
726
721
  Requires-Dist: ruff<1,>=0.8; extra == "dev"
727
722
  Requires-Dist: mypy<3,>=1.15; extra == "dev"
728
723
  Dynamic: license-file
729
724
 
730
- .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.png
725
+ .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.svg
731
726
  :width: 620
732
727
  :align: center
733
728
  :alt: PyFiberModes logo
@@ -78,6 +78,7 @@ benchmarks/test_field_performance.py
78
78
  conda.recipe/meta.yaml
79
79
  docs/Makefile
80
80
  docs/make.bat
81
+ docs/redirect.html
81
82
  docs/examples/README.rst
82
83
  docs/examples/SMF28/README.rst
83
84
  docs/examples/SMF28/plot_smf28.py
@@ -132,7 +133,9 @@ docs/source/troubleshooting.rst
132
133
  docs/source/workflows.rst
133
134
  docs/source/_static/default.css
134
135
  docs/source/_static/favicon.png
136
+ docs/source/_static/favicon.svg
135
137
  docs/source/_static/logo.png
138
+ docs/source/_static/logo.svg
136
139
  docs/source/_static/thumbnail.png
137
140
  docs/source/code/analysis.rst
138
141
  docs/source/code/fibers.rst
@@ -11,13 +11,8 @@ ruff<1,>=0.8
11
11
  mypy<3,>=1.15
12
12
 
13
13
  [documentation]
14
+ MartinPdeS-docs<0.2,>=0.1.4
14
15
  matplotlib>=3.8
15
- numpydoc==1.11.0
16
- sphinx>=5.1.1
17
- sphinx-gallery==0.22.1
18
- sphinx-design<1,>=0.6
19
- sphinx-rtd-theme==3.1.0
20
- pydata-sphinx-theme==0.22.0
21
16
 
22
17
  [plotting]
23
18
  matplotlib>=3.8
@@ -1,4 +1,4 @@
1
- .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.png
1
+ .. image:: https://raw.githubusercontent.com/MartinPdeS/PyFiberModes/master/docs/source/_static/logo.svg
2
2
  :width: 620
3
3
  :align: center
4
4
  :alt: PyFiberModes logo
@@ -1,6 +1,6 @@
1
1
  package:
2
2
  name: pyfibermodes
3
- version: 0.17.2
3
+ version: 0.17.4
4
4
 
5
5
  source:
6
6
  path: ../
@@ -0,0 +1,12 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="refresh" content="0; url=docs/latest/index.html">
6
+ <link rel="canonical" href="docs/latest/index.html">
7
+ <title>PyFiberModes documentation</title>
8
+ </head>
9
+ <body>
10
+ <p>Opening the <a href="docs/latest/index.html">PyFiberModes documentation</a>.</p>
11
+ </body>
12
+ </html>
@@ -29,18 +29,6 @@ div.highlight a {
29
29
  box-shadow: 0 0.8rem 1.8rem rgb(14 34 90 / 16%);
30
30
  }
31
31
 
32
- .navbar-brand img,
33
- .bd-header .navbar-brand img {
34
- max-height: 3rem;
35
- }
36
-
37
32
  .bd-content img[alt="PyFiberModes logo"] {
38
33
  filter: drop-shadow(0 0.7rem 1rem rgb(20 217 255 / 20%));
39
34
  }
40
-
41
- /* Keep desktop navigation labels compact and on a single line. */
42
- @media (min-width: 960px) {
43
- .bd-header .navbar-nav .nav-link {
44
- white-space: nowrap;
45
- }
46
- }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><defs><linearGradient id="r" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#8cecff"/><stop offset=".5" stop-color="#16a8d0"/><stop offset="1" stop-color="#172c68"/></linearGradient><radialGradient id="c" cx="35%" cy="32%"><stop stop-color="#d9fbff"/><stop offset="1" stop-color="#08759d"/></radialGradient><radialGradient id="v" cx="35%" cy="32%"><stop stop-color="#f1edff"/><stop offset="1" stop-color="#3c277e"/></radialGradient></defs><rect width="128" height="128" rx="28" fill="#071632"/><circle cx="64" cy="64" r="48" fill="#071632" stroke="url(#r)" stroke-width="10"/><ellipse cx="52" cy="64" rx="23" ry="34" fill="url(#c)"/><ellipse cx="76" cy="64" rx="23" ry="34" fill="url(#v)" opacity=".92"/><circle cx="64" cy="64" r="7" fill="#fff" opacity=".85"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 560 130" role="img" aria-labelledby="t"><title id="t">PyFiberModes</title><defs><linearGradient id="r" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#8cecff"/><stop offset=".5" stop-color="#16a8d0"/><stop offset="1" stop-color="#172c68"/></linearGradient><radialGradient id="c" cx="35%" cy="32%"><stop stop-color="#d9fbff"/><stop offset=".2" stop-color="#31d5ed"/><stop offset="1" stop-color="#08759d"/></radialGradient><radialGradient id="v" cx="35%" cy="32%"><stop stop-color="#f1edff"/><stop offset=".2" stop-color="#a88cff"/><stop offset="1" stop-color="#3c277e"/></radialGradient><filter id="s"><feDropShadow dx="0" dy="7" stdDeviation="5" flood-color="#07152e" flood-opacity=".7"/></filter></defs><g filter="url(#s)"><circle cx="98" cy="65" r="55" fill="#071632" stroke="url(#r)" stroke-width="11"/><ellipse cx="82" cy="65" rx="27" ry="39" fill="url(#c)"/><ellipse cx="113" cy="65" rx="27" ry="39" fill="url(#v)" opacity=".92"/><circle cx="98" cy="65" r="8" fill="#fff" opacity=".8"/><path d="M40 65H20M156 65h20" stroke="#efa31e" stroke-width="10" stroke-linecap="round"/></g><text x="205" y="82" fill="#10244b" font-family="Arial,sans-serif" font-size="42" font-weight="700">PyFiberModes</text></svg>
@@ -0,0 +1,55 @@
1
+ """PyFiberModes documentation, using the shared MartinPdeS-docs theme."""
2
+
3
+ import os
4
+ from pathlib import Path
5
+ import sys
6
+ import tomllib
7
+
8
+ from martinpdes_docs import configure
9
+
10
+
11
+ ROOT = Path(__file__).resolve().parents[2]
12
+ # Gallery examples and autodoc must describe this checkout.
13
+ sys.path.insert(0, str(ROOT))
14
+
15
+ examples_sections = [
16
+ "basic",
17
+ "SMF28",
18
+ "specialty_fibers",
19
+ "fields",
20
+ "analysis",
21
+ "validation",
22
+ "benchmarks",
23
+ ]
24
+
25
+ globals().update(
26
+ configure(
27
+ project="PyFiberModes",
28
+ package="PyFiberModes",
29
+ repository="MartinPdeS/PyFiberModes",
30
+ logo="_static/logo.svg",
31
+ favicon="_static/favicon.svg",
32
+ version=os.getenv("tag", "latest"),
33
+ html_theme_options={
34
+ "logo": {"text": "", "image": "_static/logo.svg"},
35
+ },
36
+ sphinx_gallery_conf={
37
+ "examples_dirs": [f"../examples/{name}" for name in examples_sections],
38
+ "gallery_dirs": [f"gallery/{name}" for name in examples_sections],
39
+ "default_thumb_file": str(
40
+ Path(__file__).resolve().parent / "_static" / "favicon.png"
41
+ ),
42
+ "within_subsection_order": "FileNameSortKey",
43
+ "abort_on_example_error": True,
44
+ },
45
+ )
46
+ )
47
+
48
+ extensions += ["sphinx.ext.mathjax", "sphinx.ext.autosectionlabel"]
49
+ autodoc_default_options["members"] = True
50
+ html_context["doc_path"] = "docs/source"
51
+ html_context["default_mode"] = "dark"
52
+
53
+ # Keep page substitutions independent of importing the numerical package.
54
+ metadata = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
55
+ version = release = metadata["project"]["version"]
@@ -1,6 +1,6 @@
1
1
  **Date**: |today|, **Version**: |version|
2
2
 
3
- .. image:: _static/logo.png
3
+ .. image:: _static/logo.svg
4
4
  :width: 620
5
5
  :align: center
6
6
  :alt: PyFiberModes logo
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "PyFiberModes"
7
- version = "0.17.2"
7
+ version = "0.17.4"
8
8
  description = "Guided-mode analysis and design for circular optical fibers."
9
9
  license = {file = "LICENSE"}
10
10
  readme = "README.rst"
@@ -79,13 +79,8 @@ benchmarking = [
79
79
 
80
80
 
81
81
  documentation = [
82
+ "MartinPdeS-docs>=0.1.4,<0.2",
82
83
  "matplotlib>=3.8",
83
- "numpydoc ==1.11.0",
84
- "sphinx >=5.1.1",
85
- "sphinx-gallery ==0.22.1",
86
- "sphinx-design >=0.6,<1",
87
- "sphinx-rtd-theme ==3.1.0",
88
- "pydata-sphinx-theme ==0.22.0",
89
84
  ]
90
85
 
91
86
  dev = [
@@ -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
 
@@ -1,19 +0,0 @@
1
- name: Publish documentation
2
-
3
- on:
4
- push:
5
- branches: [master]
6
- tags: ["v*"]
7
-
8
- permissions:
9
- contents: write
10
- pages: write
11
- id-token: write
12
-
13
- jobs:
14
- documentation:
15
- uses: MartinPdeS/MPSActions/.github/workflows/publish_documentation.yml@v5
16
- with:
17
- python-version: "3.11"
18
- package-name: PyFiberModes
19
- apt-package: xvfb jq
@@ -1,197 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- import sys
5
- import os
6
- from sphinx_gallery.sorting import FileNameSortKey
7
- import matplotlib.pyplot as plt
8
- from pathlib import Path
9
- import PyFiberModes
10
- from PyFiberModes.directories import DOC_CSS_PATH
11
-
12
- package_name = "PyFiberModes"
13
- version = PyFiberModes.__version__
14
-
15
- current_dir = Path(".")
16
-
17
- sys.path.append(str(current_dir.resolve()))
18
-
19
-
20
- def setup(app):
21
- app.add_css_file(str(DOC_CSS_PATH))
22
-
23
-
24
- autodoc_mock_imports = [
25
- "numpy",
26
- "matplotlib",
27
- "numpydoc",
28
- ]
29
-
30
- project = package_name
31
- copyright = "2024, Martin Poinsinet de Sivry-Houle"
32
- author = "Martin Poinsinet de Sivry-Houle"
33
-
34
-
35
- extensions = [
36
- "sphinx.ext.mathjax",
37
- "sphinx_gallery.gen_gallery",
38
- "sphinx.ext.autodoc",
39
- "sphinx.ext.napoleon",
40
- "sphinx.ext.viewcode",
41
- "sphinx.ext.autosectionlabel",
42
- "sphinx.ext.intersphinx",
43
- "sphinx_design",
44
- ]
45
-
46
- # Napoleon settings for docstrings
47
- napoleon_google_docstring = False
48
- napoleon_numpy_docstring = True
49
-
50
- html_logo = "_static/thumbnail.png"
51
- html_favicon = "_static/favicon.png"
52
-
53
-
54
- def reset_mpl(gallery_conf, fname):
55
- plt.rcdefaults()
56
-
57
-
58
- examples_files = [
59
- "basic",
60
- "SMF28",
61
- "specialty_fibers",
62
- "fields",
63
- "analysis",
64
- "validation",
65
- "benchmarks",
66
- ]
67
-
68
- sphinx_gallery_conf = {
69
- "examples_dirs": ["../examples/" + f for f in examples_files],
70
- "gallery_dirs": ["gallery/" + f for f in examples_files],
71
- "image_scrapers": ("matplotlib"),
72
- "ignore_pattern": "/__",
73
- "filename_pattern": r".*\.py",
74
- "plot_gallery": True,
75
- "thumbnail_size": [600, 600],
76
- "download_all_examples": False,
77
- "reset_modules": reset_mpl,
78
- "line_numbers": False,
79
- "remove_config_comments": True,
80
- "capture_repr": ("_repr_html_", "__repr__"),
81
- "nested_sections": True,
82
- "within_subsection_order": FileNameSortKey,
83
- }
84
-
85
- autodoc_default_options = {
86
- "members": True,
87
- "members-order": "bysource",
88
- "undoc-members": False,
89
- "show-inheritance": True,
90
- }
91
-
92
- autosectionlabel_prefix_document = True
93
- numpydoc_show_class_members = False
94
- add_module_names = False
95
-
96
- source_suffix = ".rst"
97
- master_doc = "index"
98
- language = "en"
99
- highlight_language = "python3"
100
- html_theme = "pydata_sphinx_theme"
101
-
102
- # ``sphinx_gallery_conf`` intentionally contains the ``reset_mpl`` callback,
103
- # which cannot be pickled into Sphinx's environment cache.
104
- suppress_warnings = ["config.cache"]
105
-
106
- # -- Options for HTML output -------------------------------------------------
107
- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
108
-
109
- exclude_trees = []
110
- # default_role = "autolink"
111
- pygments_style = "sphinx"
112
-
113
- # -- Sphinx-gallery configuration --------------------------------------------
114
- major, minor = version[:2]
115
- binder_branch = f"v{major}.{minor}.x"
116
-
117
- html_theme_options = dict()
118
-
119
- html_theme_options["logo"] = dict(text=package_name, image="_static/thumbnail.png")
120
- html_theme_options["show_nav_level"] = 0
121
-
122
- html_theme_options.update(
123
- {
124
- "icon_links": [
125
- {
126
- "name": "GitHub",
127
- "url": f"https://github.com/MartinPdeS/{package_name}",
128
- "icon": "fa-brands fa-github",
129
- },
130
- {
131
- "name": "PyPI",
132
- "url": f"https://pypi.org/project/{package_name}/",
133
- "icon": "fa-solid fa-box",
134
- },
135
- {
136
- "name": "Anaconda",
137
- "url": f"https://anaconda.org/MartinPdeS/{package_name}",
138
- "icon": "fa-brands fa-python",
139
- },
140
- ],
141
- "navbar_align": "left",
142
- "navbar_end": ["version-switcher", "theme-switcher", "navbar-icon-links"],
143
- "show_prev_next": False,
144
- "show_version_warning_banner": True,
145
- # Footer
146
- "footer_start": ["copyright"],
147
- "footer_end": ["sphinx-version", "theme-version"],
148
- # Other
149
- "pygments_light_style": "default",
150
- "pygments_dark_style": "github-dark",
151
- }
152
- )
153
-
154
- current_version = os.getenv("tag", "latest")
155
-
156
- html_theme_options["switcher"] = dict(
157
- json_url=f"https://raw.githubusercontent.com/MartinPdeS/{package_name}/documentation_page/version_switcher.json",
158
- version_match=current_version,
159
- )
160
-
161
- htmlhelp_basename = f"{package_name}doc"
162
-
163
- latex_elements = {}
164
-
165
-
166
- latex_documents = [
167
- (
168
- master_doc,
169
- f"{package_name}.tex",
170
- f"{package_name} Documentation",
171
- "Martin Poinsinet de Sivry-Houle",
172
- "manual",
173
- ),
174
- ]
175
-
176
- man_pages = [(master_doc, "supymode", f"{package_name} Documentation", [author], 1)]
177
-
178
- texinfo_documents = [
179
- (
180
- master_doc,
181
- package_name,
182
- f"{package_name} Documentation",
183
- author,
184
- package_name,
185
- "One line description of project.",
186
- "Miscellaneous",
187
- ),
188
- ]
189
-
190
- epub_title = project
191
-
192
- html_static_path = ["_static"]
193
- templates_path = ["_templates"]
194
- html_css_files = ["default.css"]
195
- epub_exclude_files = ["search.html"]
196
-
197
- # -
File without changes