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.
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_PyPi.yml +4 -4
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_anaconda.yml +4 -4
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.zenodo.json +2 -2
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CHANGELOG.md +20 -1
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PKG-INFO +1 -1
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/_version.py +2 -2
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/PKG-INFO +1 -1
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/SOURCES.txt +3 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/conda.recipe/meta.yaml +1 -1
- pyfibermodes-0.17.3/docs/source/_static/layout.css +89 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/conf.py +2 -2
- pyfibermodes-0.17.3/docs/source/guide.rst +37 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/index.rst +4 -12
- pyfibermodes-0.17.3/docs/source/resources.rst +62 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/pyproject.toml +1 -1
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_public_api.py +5 -3
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tools/release_tag.py +8 -1
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.coveragerc +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/dependabot.yml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_coverage.yml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/deploy_documentation.yml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/quality.yml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.github/workflows/tests.yml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/.gitignore +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CITATION.cff +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/CONTRIBUTING.md +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/LICENSE +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/MANIFEST.in +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/Makefile +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/analysis.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/coordinates.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/directories.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/exceptions.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/factory.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/HP630.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/field.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fundamentals.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/loader.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/materials.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/mode.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/mode_instances.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/models.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/optimization.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/plotting.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/propagation.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/services.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/base_solver.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/multilayer/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/protocols.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/results.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/three_layer/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/source.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/stepindex.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/dependency_links.txt +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/requires.txt +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes.egg-info/top_level.txt +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/benchmarks/README.md +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/benchmarks/test_field_performance.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/Makefile +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_guided_mode_discovery.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_U_vs_V.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_comparison_solvers.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_dispersion.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_effective_index.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_fiber_LP_modes.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_group_index.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field_1.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_mode_field_2.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/basic/plot_neff_tapered_fiber.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_confinement_by_radius.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_polarization_rotation.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_vector_components.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/README.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_effective_index_bounds.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_field_area_convergence.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_normalized_effective_index.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/make.bat +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/default.css +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/favicon.png +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/logo.png +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/_static/thumbnail.png +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/api_policy.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/architecture.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/analysis.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fibers.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fields.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code/fundamentals.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/code.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/examples.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/getting_started.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/migration_guide.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/performance.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/public_api_contract.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/references.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/theory.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/troubleshooting.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/fibers.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/fields.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/index.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/modes.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/reproducibility.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/sweeps.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/user_guide/units.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/source/workflows.rst +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/pytest.ini +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/setup.cfg +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/__init__.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/api_snapshot.json +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/helpers.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_advanced_features.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_api.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_architecture.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_architecture_enhancements.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_coordinates.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_docstrings.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_fiber.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_field.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_file_loading.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_physics_regression.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_release_tools.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_three_layer_solver.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_two_layer_solver.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tests/test_validation.py +0 -0
- {pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/tools/check_release.py +0 -0
- {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
|
-
-
|
|
15
|
-
|
|
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
|
-
-
|
|
15
|
-
|
|
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:
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 17,
|
|
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.
|
|
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
|
|
@@ -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": "
|
|
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
|
-
|
|
16
|
-
|
|
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
|
|
27
|
-
|
|
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
|
|
@@ -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 "
|
|
78
|
-
assert "
|
|
79
|
-
assert "
|
|
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(
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/fiber_files/test_multimode_fiber.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/multilayer/effective_index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/PyFiberModes/solver/two_layer/effective_index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_coupled_mode_exchange.py
RENAMED
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/analysis/plot_guided_mode_discovery.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_field_grid_scaling.py
RENAMED
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/benchmarks/plot_modal_cache_speedup.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_confinement_by_radius.py
RENAMED
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/fields/plot_polarization_rotation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_effective_index_bounds.py
RENAMED
|
File without changes
|
{pyfibermodes-0.17.0 → pyfibermodes-0.17.3}/docs/examples/validation/plot_field_area_convergence.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|