PyFiberModes 1.0.0__tar.gz → 1.0.2__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-1.0.0 → pyfibermodes-1.0.2}/.zenodo.json +2 -2
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/CHANGELOG.md +7 -1
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PKG-INFO +6 -3
- pyfibermodes-1.0.2/PyFiberModes/_version.py +5 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes.egg-info/PKG-INFO +6 -3
- pyfibermodes-1.0.2/PyFiberModes.egg-info/SOURCES.txt +83 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes.egg-info/requires.txt +5 -1
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/README.rst +1 -1
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/pyproject.toml +13 -8
- pyfibermodes-1.0.2/tests/test_release_tools.py +32 -0
- pyfibermodes-1.0.0/.coveragerc +0 -22
- pyfibermodes-1.0.0/.github/dependabot.yml +0 -10
- pyfibermodes-1.0.0/.github/workflows/deploy_coverage.yml +0 -21
- pyfibermodes-1.0.0/.github/workflows/deploy_documentation.yml +0 -20
- pyfibermodes-1.0.0/.github/workflows/deploy_release.yml +0 -35
- pyfibermodes-1.0.0/.github/workflows/quality.yml +0 -21
- pyfibermodes-1.0.0/.github/workflows/tests.yml +0 -19
- pyfibermodes-1.0.0/.gitignore +0 -44
- pyfibermodes-1.0.0/CONTRIBUTING.md +0 -9
- pyfibermodes-1.0.0/Makefile +0 -61
- pyfibermodes-1.0.0/PyFiberModes/_version.py +0 -34
- pyfibermodes-1.0.0/PyFiberModes.egg-info/SOURCES.txt +0 -173
- pyfibermodes-1.0.0/benchmarks/README.md +0 -11
- pyfibermodes-1.0.0/benchmarks/test_field_performance.py +0 -33
- pyfibermodes-1.0.0/conda.recipe/meta.yaml +0 -66
- pyfibermodes-1.0.0/docs/Makefile +0 -19
- pyfibermodes-1.0.0/docs/examples/README.rst +0 -8
- pyfibermodes-1.0.0/docs/examples/SMF28/README.rst +0 -6
- pyfibermodes-1.0.0/docs/examples/SMF28/plot_smf28.py +0 -27
- pyfibermodes-1.0.0/docs/examples/SMF28/plot_smf28_dispersion_vs_wavelength.py +0 -40
- pyfibermodes-1.0.0/docs/examples/SMF28/plot_smf28_group_index_vs_wavelength.py +0 -40
- pyfibermodes-1.0.0/docs/examples/analysis/README.rst +0 -6
- pyfibermodes-1.0.0/docs/examples/analysis/plot_coupled_mode_exchange.py +0 -23
- pyfibermodes-1.0.0/docs/examples/analysis/plot_guided_mode_discovery.py +0 -23
- pyfibermodes-1.0.0/docs/examples/analysis/plot_structured_wavelength_sweep.py +0 -28
- pyfibermodes-1.0.0/docs/examples/basic/README.rst +0 -6
- pyfibermodes-1.0.0/docs/examples/basic/plot_U_vs_V.py +0 -49
- pyfibermodes-1.0.0/docs/examples/basic/plot_comparison_solvers.py +0 -55
- pyfibermodes-1.0.0/docs/examples/basic/plot_dispersion.py +0 -51
- pyfibermodes-1.0.0/docs/examples/basic/plot_effective_index.py +0 -46
- pyfibermodes-1.0.0/docs/examples/basic/plot_fiber_LP_modes.py +0 -52
- pyfibermodes-1.0.0/docs/examples/basic/plot_group_index.py +0 -51
- pyfibermodes-1.0.0/docs/examples/basic/plot_mode_field.py +0 -48
- pyfibermodes-1.0.0/docs/examples/basic/plot_mode_field_1.py +0 -38
- pyfibermodes-1.0.0/docs/examples/basic/plot_mode_field_2.py +0 -50
- pyfibermodes-1.0.0/docs/examples/basic/plot_neff_tapered_fiber.py +0 -68
- pyfibermodes-1.0.0/docs/examples/benchmarks/README.rst +0 -7
- pyfibermodes-1.0.0/docs/examples/benchmarks/plot_component_batching_speedup.py +0 -34
- pyfibermodes-1.0.0/docs/examples/benchmarks/plot_field_grid_scaling.py +0 -29
- pyfibermodes-1.0.0/docs/examples/benchmarks/plot_modal_cache_speedup.py +0 -29
- pyfibermodes-1.0.0/docs/examples/fields/README.rst +0 -7
- pyfibermodes-1.0.0/docs/examples/fields/plot_confinement_by_radius.py +0 -29
- pyfibermodes-1.0.0/docs/examples/fields/plot_polarization_rotation.py +0 -28
- pyfibermodes-1.0.0/docs/examples/fields/plot_vector_components.py +0 -25
- pyfibermodes-1.0.0/docs/examples/specialty_fibers/README.rst +0 -7
- pyfibermodes-1.0.0/docs/examples/specialty_fibers/plot_refractive_index_profile.py +0 -27
- pyfibermodes-1.0.0/docs/examples/specialty_fibers/plot_specialty_fiber_catalog.py +0 -34
- pyfibermodes-1.0.0/docs/examples/specialty_fibers/plot_specialty_mode_indices.py +0 -26
- pyfibermodes-1.0.0/docs/examples/validation/README.rst +0 -7
- pyfibermodes-1.0.0/docs/examples/validation/plot_effective_index_bounds.py +0 -26
- pyfibermodes-1.0.0/docs/examples/validation/plot_field_area_convergence.py +0 -27
- pyfibermodes-1.0.0/docs/examples/validation/plot_normalized_effective_index.py +0 -32
- pyfibermodes-1.0.0/docs/make.bat +0 -35
- pyfibermodes-1.0.0/docs/redirect.html +0 -12
- pyfibermodes-1.0.0/docs/source/_static/default.css +0 -43
- pyfibermodes-1.0.0/docs/source/_static/favicon.png +0 -0
- pyfibermodes-1.0.0/docs/source/_static/logo.png +0 -0
- pyfibermodes-1.0.0/docs/source/_static/thumbnail.png +0 -0
- pyfibermodes-1.0.0/docs/source/api_policy.rst +0 -64
- pyfibermodes-1.0.0/docs/source/architecture.rst +0 -42
- pyfibermodes-1.0.0/docs/source/code/analysis.rst +0 -38
- pyfibermodes-1.0.0/docs/source/code/fibers.rst +0 -15
- pyfibermodes-1.0.0/docs/source/code/fields.rst +0 -11
- pyfibermodes-1.0.0/docs/source/code/fundamentals.rst +0 -22
- pyfibermodes-1.0.0/docs/source/code.rst +0 -45
- pyfibermodes-1.0.0/docs/source/conf.py +0 -41
- pyfibermodes-1.0.0/docs/source/examples.rst +0 -73
- pyfibermodes-1.0.0/docs/source/getting_started.rst +0 -73
- pyfibermodes-1.0.0/docs/source/guide.rst +0 -37
- pyfibermodes-1.0.0/docs/source/index.rst +0 -50
- pyfibermodes-1.0.0/docs/source/migration_guide.rst +0 -121
- pyfibermodes-1.0.0/docs/source/performance.rst +0 -20
- pyfibermodes-1.0.0/docs/source/public_api_contract.rst +0 -174
- pyfibermodes-1.0.0/docs/source/references.rst +0 -12
- pyfibermodes-1.0.0/docs/source/resources.rst +0 -62
- pyfibermodes-1.0.0/docs/source/theory.rst +0 -64
- pyfibermodes-1.0.0/docs/source/troubleshooting.rst +0 -33
- pyfibermodes-1.0.0/docs/source/user_guide/fibers.rst +0 -83
- pyfibermodes-1.0.0/docs/source/user_guide/fields.rst +0 -77
- pyfibermodes-1.0.0/docs/source/user_guide/index.rst +0 -24
- pyfibermodes-1.0.0/docs/source/user_guide/modes.rst +0 -76
- pyfibermodes-1.0.0/docs/source/user_guide/reproducibility.rst +0 -53
- pyfibermodes-1.0.0/docs/source/user_guide/sweeps.rst +0 -109
- pyfibermodes-1.0.0/docs/source/user_guide/units.rst +0 -59
- pyfibermodes-1.0.0/docs/source/workflows.rst +0 -35
- pyfibermodes-1.0.0/pytest.ini +0 -21
- pyfibermodes-1.0.0/tests/__init__.py +0 -1
- pyfibermodes-1.0.0/tests/api_snapshot.json +0 -72
- pyfibermodes-1.0.0/tests/helpers.py +0 -13
- pyfibermodes-1.0.0/tests/test_release_tools.py +0 -66
- pyfibermodes-1.0.0/tools/check_release.py +0 -88
- pyfibermodes-1.0.0/tools/next_release_version.py +0 -55
- pyfibermodes-1.0.0/tools/release_tag.py +0 -136
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/CITATION.cff +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/LICENSE +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/MANIFEST.in +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/__init__.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/_coordinates.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/_fiber.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/_field.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/analysis.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/coordinates.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/directories.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/exceptions.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/factory.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/1550BHP.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/DCF13.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/DCF1300S_20.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/DCF1300S_26.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/DCF1300S_33.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/DCF1300S_42.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/F2028M12.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/F2028M21.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/F2028M24.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/F2058G1.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/F2058L1.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/HI1060.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/HP630.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/SM1950.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/SMF28.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/test_fiber.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fiber_files/test_multimode_fiber.yaml +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/field.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/fundamentals.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/loader.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/materials.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/mode.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/mode_instances.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/models.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/optimization.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/plotting.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/propagation.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/services.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/__init__.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/base_solver.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/multilayer/__init__.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/multilayer/effective_index.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/protocols.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/results.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/three_layer/__init__.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/three_layer/cutoff.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/two_layer/__init__.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/two_layer/cutoff.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/solver/two_layer/effective_index.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/source.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/stepindex.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes/units.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes.egg-info/dependency_links.txt +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/PyFiberModes.egg-info/top_level.txt +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/setup.cfg +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_advanced_features.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_api.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_architecture.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_architecture_enhancements.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_coordinates.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_docstrings.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_fiber.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_field.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_file_loading.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_physics_regression.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_public_api.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_three_layer_solver.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_two_layer_solver.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_units.py +0 -0
- {pyfibermodes-1.0.0 → pyfibermodes-1.0.2}/tests/test_validation.py +0 -0
|
@@ -6,6 +6,10 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.0.2] - 2026-10-27
|
|
10
|
+
|
|
11
|
+
## [1.0.1] - 2026-10-27
|
|
12
|
+
|
|
9
13
|
## [1.0.0] - 2026-10-23
|
|
10
14
|
|
|
11
15
|
- Require TypedUnit/Pint quantities for physical inputs and return unit-bearing fiber, field, sweep, material, design and propagation results. Numerical solvers continue to operate in SI internally.
|
|
@@ -179,7 +183,9 @@ use [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
179
183
|
|
|
180
184
|
- Established the current tagged baseline for subsequent documented releases.
|
|
181
185
|
|
|
182
|
-
[Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v1.0.
|
|
186
|
+
[Unreleased]: https://github.com/MartinPdeS/PyFiberModes/compare/v1.0.2...HEAD
|
|
187
|
+
[1.0.2]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v1.0.2
|
|
188
|
+
[1.0.1]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v1.0.1
|
|
183
189
|
[1.0.0]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v1.0.0
|
|
184
190
|
[0.17.7]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.7
|
|
185
191
|
[0.17.6]: https://github.com/MartinPdeS/PyFiberModes/releases/tag/v0.17.6
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyFiberModes
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
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
|
|
@@ -704,7 +704,10 @@ Requires-Dist: pint<0.26,>=0.24
|
|
|
704
704
|
Requires-Dist: pyyaml
|
|
705
705
|
Requires-Dist: numpy
|
|
706
706
|
Requires-Dist: scipy
|
|
707
|
+
Provides-Extra: release
|
|
708
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "release"
|
|
707
709
|
Provides-Extra: testing
|
|
710
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "testing"
|
|
708
711
|
Requires-Dist: pytest<10.0,>=7.4; extra == "testing"
|
|
709
712
|
Requires-Dist: pytest-cov<8,>=2; extra == "testing"
|
|
710
713
|
Requires-Dist: pytest-json-report~=1.5; extra == "testing"
|
|
@@ -717,7 +720,7 @@ Requires-Dist: matplotlib>=3.8; extra == "plotting"
|
|
|
717
720
|
Provides-Extra: benchmarking
|
|
718
721
|
Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
|
|
719
722
|
Provides-Extra: documentation
|
|
720
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
723
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "documentation"
|
|
721
724
|
Requires-Dist: matplotlib>=3.8; extra == "documentation"
|
|
722
725
|
Provides-Extra: dev
|
|
723
726
|
Requires-Dist: ruff<1,>=0.8; extra == "dev"
|
|
@@ -1069,7 +1072,7 @@ Releases and changelog
|
|
|
1069
1072
|
|
|
1070
1073
|
User-visible changes are recorded in
|
|
1071
1074
|
`CHANGELOG.md <https://github.com/MartinPdeS/PyFiberModes/blob/master/CHANGELOG.md>`_.
|
|
1072
|
-
Release helpers keep the Python package, Conda recipe,
|
|
1075
|
+
Release helpers keep the Python package, Conda recipe, checked-in version,
|
|
1073
1076
|
Zenodo metadata, changelog, and annotated Git tag synchronized.
|
|
1074
1077
|
|
|
1075
1078
|
.. code-block:: bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyFiberModes
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
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
|
|
@@ -704,7 +704,10 @@ Requires-Dist: pint<0.26,>=0.24
|
|
|
704
704
|
Requires-Dist: pyyaml
|
|
705
705
|
Requires-Dist: numpy
|
|
706
706
|
Requires-Dist: scipy
|
|
707
|
+
Provides-Extra: release
|
|
708
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "release"
|
|
707
709
|
Provides-Extra: testing
|
|
710
|
+
Requires-Dist: martinpdes-maintenance==0.2.2; extra == "testing"
|
|
708
711
|
Requires-Dist: pytest<10.0,>=7.4; extra == "testing"
|
|
709
712
|
Requires-Dist: pytest-cov<8,>=2; extra == "testing"
|
|
710
713
|
Requires-Dist: pytest-json-report~=1.5; extra == "testing"
|
|
@@ -717,7 +720,7 @@ Requires-Dist: matplotlib>=3.8; extra == "plotting"
|
|
|
717
720
|
Provides-Extra: benchmarking
|
|
718
721
|
Requires-Dist: pytest-benchmark<6,>=5; extra == "benchmarking"
|
|
719
722
|
Provides-Extra: documentation
|
|
720
|
-
Requires-Dist: MartinPdeS-docs<0.
|
|
723
|
+
Requires-Dist: MartinPdeS-docs<0.5,>=0.4.0; extra == "documentation"
|
|
721
724
|
Requires-Dist: matplotlib>=3.8; extra == "documentation"
|
|
722
725
|
Provides-Extra: dev
|
|
723
726
|
Requires-Dist: ruff<1,>=0.8; extra == "dev"
|
|
@@ -1069,7 +1072,7 @@ Releases and changelog
|
|
|
1069
1072
|
|
|
1070
1073
|
User-visible changes are recorded in
|
|
1071
1074
|
`CHANGELOG.md <https://github.com/MartinPdeS/PyFiberModes/blob/master/CHANGELOG.md>`_.
|
|
1072
|
-
Release helpers keep the Python package, Conda recipe,
|
|
1075
|
+
Release helpers keep the Python package, Conda recipe, checked-in version,
|
|
1073
1076
|
Zenodo metadata, changelog, and annotated Git tag synchronized.
|
|
1074
1077
|
|
|
1075
1078
|
.. code-block:: bash
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
.zenodo.json
|
|
2
|
+
CHANGELOG.md
|
|
3
|
+
CITATION.cff
|
|
4
|
+
LICENSE
|
|
5
|
+
MANIFEST.in
|
|
6
|
+
README.rst
|
|
7
|
+
pyproject.toml
|
|
8
|
+
PyFiberModes/__init__.py
|
|
9
|
+
PyFiberModes/_coordinates.py
|
|
10
|
+
PyFiberModes/_fiber.py
|
|
11
|
+
PyFiberModes/_field.py
|
|
12
|
+
PyFiberModes/_version.py
|
|
13
|
+
PyFiberModes/analysis.py
|
|
14
|
+
PyFiberModes/coordinates.py
|
|
15
|
+
PyFiberModes/directories.py
|
|
16
|
+
PyFiberModes/exceptions.py
|
|
17
|
+
PyFiberModes/factory.py
|
|
18
|
+
PyFiberModes/fiber.py
|
|
19
|
+
PyFiberModes/field.py
|
|
20
|
+
PyFiberModes/fundamentals.py
|
|
21
|
+
PyFiberModes/loader.py
|
|
22
|
+
PyFiberModes/materials.py
|
|
23
|
+
PyFiberModes/mode.py
|
|
24
|
+
PyFiberModes/mode_instances.py
|
|
25
|
+
PyFiberModes/models.py
|
|
26
|
+
PyFiberModes/optimization.py
|
|
27
|
+
PyFiberModes/plotting.py
|
|
28
|
+
PyFiberModes/propagation.py
|
|
29
|
+
PyFiberModes/services.py
|
|
30
|
+
PyFiberModes/source.py
|
|
31
|
+
PyFiberModes/stepindex.py
|
|
32
|
+
PyFiberModes/units.py
|
|
33
|
+
PyFiberModes.egg-info/PKG-INFO
|
|
34
|
+
PyFiberModes.egg-info/SOURCES.txt
|
|
35
|
+
PyFiberModes.egg-info/dependency_links.txt
|
|
36
|
+
PyFiberModes.egg-info/requires.txt
|
|
37
|
+
PyFiberModes.egg-info/top_level.txt
|
|
38
|
+
PyFiberModes/fiber_files/1550BHP.yaml
|
|
39
|
+
PyFiberModes/fiber_files/DCF13.yaml
|
|
40
|
+
PyFiberModes/fiber_files/DCF1300S_20.yaml
|
|
41
|
+
PyFiberModes/fiber_files/DCF1300S_26.yaml
|
|
42
|
+
PyFiberModes/fiber_files/DCF1300S_33.yaml
|
|
43
|
+
PyFiberModes/fiber_files/DCF1300S_42.yaml
|
|
44
|
+
PyFiberModes/fiber_files/F2028M12.yaml
|
|
45
|
+
PyFiberModes/fiber_files/F2028M21.yaml
|
|
46
|
+
PyFiberModes/fiber_files/F2028M24.yaml
|
|
47
|
+
PyFiberModes/fiber_files/F2058G1.yaml
|
|
48
|
+
PyFiberModes/fiber_files/F2058L1.yaml
|
|
49
|
+
PyFiberModes/fiber_files/HI1060.yaml
|
|
50
|
+
PyFiberModes/fiber_files/HP630.yaml
|
|
51
|
+
PyFiberModes/fiber_files/SM1950.yaml
|
|
52
|
+
PyFiberModes/fiber_files/SMF28.yaml
|
|
53
|
+
PyFiberModes/fiber_files/fluorine_doped_1%_capillary.yaml
|
|
54
|
+
PyFiberModes/fiber_files/fluorine_doped_2%_capillary.yaml
|
|
55
|
+
PyFiberModes/fiber_files/test_fiber.yaml
|
|
56
|
+
PyFiberModes/fiber_files/test_multimode_fiber.yaml
|
|
57
|
+
PyFiberModes/solver/__init__.py
|
|
58
|
+
PyFiberModes/solver/base_solver.py
|
|
59
|
+
PyFiberModes/solver/protocols.py
|
|
60
|
+
PyFiberModes/solver/results.py
|
|
61
|
+
PyFiberModes/solver/multilayer/__init__.py
|
|
62
|
+
PyFiberModes/solver/multilayer/effective_index.py
|
|
63
|
+
PyFiberModes/solver/three_layer/__init__.py
|
|
64
|
+
PyFiberModes/solver/three_layer/cutoff.py
|
|
65
|
+
PyFiberModes/solver/two_layer/__init__.py
|
|
66
|
+
PyFiberModes/solver/two_layer/cutoff.py
|
|
67
|
+
PyFiberModes/solver/two_layer/effective_index.py
|
|
68
|
+
tests/test_advanced_features.py
|
|
69
|
+
tests/test_api.py
|
|
70
|
+
tests/test_architecture.py
|
|
71
|
+
tests/test_architecture_enhancements.py
|
|
72
|
+
tests/test_coordinates.py
|
|
73
|
+
tests/test_docstrings.py
|
|
74
|
+
tests/test_fiber.py
|
|
75
|
+
tests/test_field.py
|
|
76
|
+
tests/test_file_loading.py
|
|
77
|
+
tests/test_physics_regression.py
|
|
78
|
+
tests/test_public_api.py
|
|
79
|
+
tests/test_release_tools.py
|
|
80
|
+
tests/test_three_layer_solver.py
|
|
81
|
+
tests/test_two_layer_solver.py
|
|
82
|
+
tests/test_units.py
|
|
83
|
+
tests/test_validation.py
|
|
@@ -13,13 +13,17 @@ ruff<1,>=0.8
|
|
|
13
13
|
mypy<3,>=1.15
|
|
14
14
|
|
|
15
15
|
[documentation]
|
|
16
|
-
MartinPdeS-docs<0.
|
|
16
|
+
MartinPdeS-docs<0.5,>=0.4.0
|
|
17
17
|
matplotlib>=3.8
|
|
18
18
|
|
|
19
19
|
[plotting]
|
|
20
20
|
matplotlib>=3.8
|
|
21
21
|
|
|
22
|
+
[release]
|
|
23
|
+
martinpdes-maintenance==0.2.2
|
|
24
|
+
|
|
22
25
|
[testing]
|
|
26
|
+
martinpdes-maintenance==0.2.2
|
|
23
27
|
pytest<10.0,>=7.4
|
|
24
28
|
pytest-cov<8,>=2
|
|
25
29
|
pytest-json-report~=1.5
|
|
@@ -343,7 +343,7 @@ Releases and changelog
|
|
|
343
343
|
|
|
344
344
|
User-visible changes are recorded in
|
|
345
345
|
`CHANGELOG.md <https://github.com/MartinPdeS/PyFiberModes/blob/master/CHANGELOG.md>`_.
|
|
346
|
-
Release helpers keep the Python package, Conda recipe,
|
|
346
|
+
Release helpers keep the Python package, Conda recipe, checked-in version,
|
|
347
347
|
Zenodo metadata, changelog, and annotated Git tag synchronized.
|
|
348
348
|
|
|
349
349
|
.. code-block:: bash
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["setuptools>=40.8.0", "wheel"
|
|
2
|
+
requires = ["setuptools>=40.8.0", "wheel"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "PyFiberModes"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.2"
|
|
8
8
|
description = "Guided-mode analysis and design for circular optical fibers."
|
|
9
9
|
license = {file = "LICENSE"}
|
|
10
10
|
readme = "README.rst"
|
|
@@ -55,12 +55,9 @@ packages = {find = {where = ["."], include = ["PyFiberModes*"]}}
|
|
|
55
55
|
include-package-data = true
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
[tool.setuptools_scm]
|
|
59
|
-
version_scheme = "only-version"
|
|
60
|
-
local_scheme = "no-local-version"
|
|
61
|
-
|
|
62
58
|
[project.optional-dependencies]
|
|
63
|
-
|
|
59
|
+
release = ["martinpdes-maintenance==0.2.2"]
|
|
60
|
+
testing = ["martinpdes-maintenance==0.2.2",
|
|
64
61
|
"pytest >=7.4,<10.0",
|
|
65
62
|
"pytest-cov >=2,<8",
|
|
66
63
|
"pytest-json-report ~=1.5",
|
|
@@ -80,7 +77,7 @@ benchmarking = [
|
|
|
80
77
|
|
|
81
78
|
|
|
82
79
|
documentation = [
|
|
83
|
-
"MartinPdeS-docs>=0.
|
|
80
|
+
"MartinPdeS-docs>=0.4.0,<0.5",
|
|
84
81
|
"matplotlib>=3.8",
|
|
85
82
|
]
|
|
86
83
|
|
|
@@ -111,3 +108,11 @@ files = [
|
|
|
111
108
|
# Include runtime resources when building wheels from a source archive without Git.
|
|
112
109
|
[tool.setuptools.package-data]
|
|
113
110
|
PyFiberModes = ["fiber_files/*.yaml"]
|
|
111
|
+
|
|
112
|
+
[tool.mps-maintenance]
|
|
113
|
+
version-file = "PyFiberModes/_version.py"
|
|
114
|
+
version-method = "literal"
|
|
115
|
+
conda-recipe = "conda.recipe/meta.yaml"
|
|
116
|
+
zenodo = ".zenodo.json"
|
|
117
|
+
changelog = "CHANGELOG.md"
|
|
118
|
+
repository = "MartinPdeS/PyFiberModes"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
from martinpdes_maintenance import cli
|
|
5
|
+
import yaml
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
ROOT = Path(__file__).resolve().parents[1]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_release_metadata_is_synchronized_and_changelog_has_current_version():
|
|
12
|
+
assert cli.main(["--root", str(ROOT), "check"]) == 0
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_citation_and_zenodo_metadata_agree():
|
|
16
|
+
citation = yaml.safe_load((ROOT / "CITATION.cff").read_text(encoding="utf-8"))
|
|
17
|
+
zenodo = json.loads((ROOT / ".zenodo.json").read_text(encoding="utf-8"))
|
|
18
|
+
assert citation["title"] == "PyFiberModes"
|
|
19
|
+
assert citation["license"] == zenodo["license"] == "MIT"
|
|
20
|
+
assert citation["repository-code"] == "https://github.com/MartinPdeS/PyFiberModes"
|
|
21
|
+
assert citation["authors"][0]["family-names"] in zenodo["creators"][0]["name"]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_release_changelog_rolls_unreleased_entries_forward():
|
|
25
|
+
text = (
|
|
26
|
+
"# Changelog\n\n## [Unreleased]\n\n### Added\n\n- Feature.\n\n"
|
|
27
|
+
"[Unreleased]: https://example.test/compare/v1.0.0...HEAD\n"
|
|
28
|
+
)
|
|
29
|
+
updated = cli.update_changelog(text, "1.1.0", "2026-10-25", "MartinPdeS/PyFiberModes")
|
|
30
|
+
assert "## [Unreleased]\n\n## [1.1.0]" in updated
|
|
31
|
+
assert "compare/v1.1.0...HEAD" in updated
|
|
32
|
+
assert "[1.1.0]:" in updated
|
pyfibermodes-1.0.0/.coveragerc
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# .coveragerc
|
|
2
|
-
[run]
|
|
3
|
-
source = PyFiberModes
|
|
4
|
-
branch = True
|
|
5
|
-
relative_files = True
|
|
6
|
-
parallel = True
|
|
7
|
-
omit =
|
|
8
|
-
**/__init__.py
|
|
9
|
-
PyFiberModes/_version.py
|
|
10
|
-
PyFiberModes/directories.py
|
|
11
|
-
PyFiberModes/**/__main__.py
|
|
12
|
-
|
|
13
|
-
[report]
|
|
14
|
-
skip_covered = True
|
|
15
|
-
show_missing = True
|
|
16
|
-
precision = 2
|
|
17
|
-
|
|
18
|
-
[html]
|
|
19
|
-
directory = htmlcov
|
|
20
|
-
|
|
21
|
-
[xml]
|
|
22
|
-
output = coverage.xml
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
name: Publish coverage
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [master]
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: write
|
|
11
|
-
pull-requests: write
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
coverage:
|
|
15
|
-
uses: MartinPdeS/MPSActions/.github/workflows/publish_coverage.yml@v2
|
|
16
|
-
with:
|
|
17
|
-
python-version: "3.11"
|
|
18
|
-
apt-package: xvfb
|
|
19
|
-
coverage-package: PyFiberModes
|
|
20
|
-
secrets:
|
|
21
|
-
_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
name: Publish documentation
|
|
2
|
-
'on':
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- master
|
|
6
|
-
pull_request:
|
|
7
|
-
branches:
|
|
8
|
-
- master
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
jobs:
|
|
12
|
-
documentation:
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
uses: MartinPdeS/MPSActions/.github/workflows/build_documentation.yml@v2
|
|
16
|
-
with:
|
|
17
|
-
python-version: '3.11'
|
|
18
|
-
package-name: PyFiberModes
|
|
19
|
-
apt-package: xvfb jq
|
|
20
|
-
debug: true
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: Publish release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags: ["v*"]
|
|
6
|
-
|
|
7
|
-
permissions:
|
|
8
|
-
contents: read
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
release:
|
|
12
|
-
permissions:
|
|
13
|
-
contents: write
|
|
14
|
-
pages: write
|
|
15
|
-
id-token: write
|
|
16
|
-
uses: MartinPdeS/MPSActions/.github/workflows/publish_release.yml@v2
|
|
17
|
-
with:
|
|
18
|
-
documentation: true
|
|
19
|
-
documentation_package_name: PyFiberModes
|
|
20
|
-
documentation_python_version: "3.11"
|
|
21
|
-
documentation_apt_package: xvfb jq
|
|
22
|
-
documentation_retain_versions: 5
|
|
23
|
-
debug: true
|
|
24
|
-
pypi_package_type: pure
|
|
25
|
-
pypi_python_version: "3.11"
|
|
26
|
-
pypi_test_command: 'python -c "import PyFiberModes"'
|
|
27
|
-
release_validation_command: 'python tools/check_release.py --version "${GITHUB_REF_NAME}"'
|
|
28
|
-
conda_python_versions: '["3.14"]'
|
|
29
|
-
conda_os_list: '["ubuntu-latest"]'
|
|
30
|
-
conda_package_name: pyfibermodes
|
|
31
|
-
conda_recipe_path: conda.recipe
|
|
32
|
-
conda_test_import: PyFiberModes
|
|
33
|
-
secrets:
|
|
34
|
-
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
35
|
-
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
name: Quality
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [master]
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
quality:
|
|
14
|
-
uses: MartinPdeS/MPSActions/.github/workflows/run_quality.yml@v2
|
|
15
|
-
with:
|
|
16
|
-
install-command: >-
|
|
17
|
-
python -m pip install --upgrade pip && python -m pip install -e ".[dev]"
|
|
18
|
-
quality-command: |
|
|
19
|
-
python -m ruff check PyFiberModes tests tools
|
|
20
|
-
python -m mypy
|
|
21
|
-
python tools/check_release.py
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
name: Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [master]
|
|
8
|
-
|
|
9
|
-
permissions:
|
|
10
|
-
contents: read
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
tests:
|
|
14
|
-
uses: MartinPdeS/MPSActions/.github/workflows/run_tests.yml@v2
|
|
15
|
-
with:
|
|
16
|
-
python-versions: '["3.11", "3.12", "3.13", "3.14"]'
|
|
17
|
-
install-command: >-
|
|
18
|
-
python -m pip install --upgrade pip && python -m pip install -e ".[testing]"
|
|
19
|
-
test-command: python -m pytest -q
|
pyfibermodes-1.0.0/.gitignore
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# Ignore all
|
|
3
|
-
/*
|
|
4
|
-
|
|
5
|
-
# Except ...
|
|
6
|
-
!.github
|
|
7
|
-
!PyFiberModes
|
|
8
|
-
!development
|
|
9
|
-
!docs
|
|
10
|
-
!tests
|
|
11
|
-
!benchmarks/
|
|
12
|
-
!benchmarks/**
|
|
13
|
-
!.flake8
|
|
14
|
-
!.gitignore
|
|
15
|
-
!.pre-commit-config.yaml
|
|
16
|
-
!LICENSE
|
|
17
|
-
!conda.recipe
|
|
18
|
-
!conda.recipe/meta.yaml
|
|
19
|
-
!pyproject.toml
|
|
20
|
-
!README.rst
|
|
21
|
-
!CONTRIBUTING.md
|
|
22
|
-
!/Makefile
|
|
23
|
-
!tools
|
|
24
|
-
!tools/*.py
|
|
25
|
-
!notebook.ipynb
|
|
26
|
-
!CMakeLists.txt
|
|
27
|
-
!pytest.ini
|
|
28
|
-
!.coveragerc
|
|
29
|
-
!.zenodo.json
|
|
30
|
-
!CITATION.cff
|
|
31
|
-
!CHANGELOG.md
|
|
32
|
-
!MANIFEST.in
|
|
33
|
-
|
|
34
|
-
# But ignore docs/build inside docs and code
|
|
35
|
-
docs/build/
|
|
36
|
-
docs/source/gallery/
|
|
37
|
-
docs/source/sg_execution_times.rst
|
|
38
|
-
|
|
39
|
-
# Compiled files in the project
|
|
40
|
-
*__pycache__*
|
|
41
|
-
*.DS_Store*
|
|
42
|
-
*.so*
|
|
43
|
-
*.a*
|
|
44
|
-
!Makefile
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Contributing to PyFiberModes
|
|
2
|
-
|
|
3
|
-
Use Python 3.11 or newer. Install development dependencies with `python -m pip install -e ".[testing,documentation]"`, then run `python -m pytest`.
|
|
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
|
-
|
|
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.
|
|
8
|
-
|
|
9
|
-
The Conda recipe is at `conda.recipe/meta.yaml`. Do not commit generated documentation, virtual environments, build artefacts, or caches.
|
pyfibermodes-1.0.0/Makefile
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
.DEFAULT_GOAL := help
|
|
2
|
-
|
|
3
|
-
PYTHON ?= python3
|
|
4
|
-
SPHINXOPTS ?=
|
|
5
|
-
DOCS_BUILD_DIR ?= docs/build
|
|
6
|
-
TAG_VERSION ?= $(or $(VERSION),$(filter v%,$(MAKECMDGOALS)))
|
|
7
|
-
RELEASE_KIND := $(filter major minor patch,$(MAKECMDGOALS))
|
|
8
|
-
|
|
9
|
-
.PHONY: help docs docs-install test quality check release-check tag release major minor patch
|
|
10
|
-
|
|
11
|
-
help:
|
|
12
|
-
@echo "PyFiberModes development commands"
|
|
13
|
-
@echo ""
|
|
14
|
-
@echo " make docs Build documentation and execute gallery examples"
|
|
15
|
-
@echo " make docs-install Install the documentation dependencies"
|
|
16
|
-
@echo " make test Run the test suite"
|
|
17
|
-
@echo " make quality Run static quality checks"
|
|
18
|
-
@echo " make check Run tests, quality, and release checks"
|
|
19
|
-
@echo " make release-check Check version metadata consistency"
|
|
20
|
-
@echo " make tag VERSION=vX.Y.Z Create a release commit and annotated tag"
|
|
21
|
-
@echo " make release patch Create and push the next patch release"
|
|
22
|
-
@echo " make release minor Create and push the next minor release"
|
|
23
|
-
@echo " make release major Create and push the next major release"
|
|
24
|
-
|
|
25
|
-
ifneq ($(filter tag,$(MAKECMDGOALS)),)
|
|
26
|
-
ifneq ($(strip $(TAG_VERSION)),)
|
|
27
|
-
.PHONY: $(TAG_VERSION)
|
|
28
|
-
$(TAG_VERSION):
|
|
29
|
-
@:
|
|
30
|
-
endif
|
|
31
|
-
endif
|
|
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
|
-
|
|
39
|
-
test:
|
|
40
|
-
MPLBACKEND=Agg $(PYTHON) -m pytest
|
|
41
|
-
|
|
42
|
-
quality:
|
|
43
|
-
$(PYTHON) -m ruff check PyFiberModes tests tools
|
|
44
|
-
$(PYTHON) -m mypy
|
|
45
|
-
|
|
46
|
-
release-check:
|
|
47
|
-
$(PYTHON) tools/check_release.py $(if $(VERSION),--version $(VERSION),)
|
|
48
|
-
|
|
49
|
-
check: quality test release-check
|
|
50
|
-
|
|
51
|
-
tag:
|
|
52
|
-
$(PYTHON) tools/release_tag.py "$(TAG_VERSION)"
|
|
53
|
-
|
|
54
|
-
release:
|
|
55
|
-
@test "$(words $(RELEASE_KIND))" -eq 1 || { echo "usage: make release [patch|minor|major]" >&2; exit 2; }
|
|
56
|
-
@set -eu; release_tag="$$($(PYTHON) tools/next_release_version.py $(RELEASE_KIND))"; \
|
|
57
|
-
$(PYTHON) tools/release_tag.py "$$release_tag"; \
|
|
58
|
-
git push origin HEAD "refs/tags/$$release_tag"
|
|
59
|
-
|
|
60
|
-
major minor patch:
|
|
61
|
-
@:
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '1.0.0'
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 0, 0)
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = None
|