PyOptik 1.8.3.post0__tar.gz → 1.8.5.post0__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.
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PKG-INFO +13 -11
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/_version.py +2 -2
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/material_bank.py +143 -58
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik.egg-info/PKG-INFO +13 -11
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik.egg-info/SOURCES.txt +2 -2
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik.egg-info/requires.txt +8 -6
- pyoptik-1.8.5.post0/development/dev_0.py +13 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/utils/build_library.py +1 -1
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/conf.py +0 -2
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/build_library.ipynb +1 -1
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/build_library.py +1 -1
- pyoptik-1.8.5.post0/docs/source/gallery/utils/build_library.py.md5 +1 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/build_library.rst +2 -2
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/build_library_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/sg_execution_times.rst +5 -5
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/meta.yaml +10 -7
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/pyproject.toml +20 -18
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/tests/test_usual_material.py +1 -1
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/tests/test_utils.py +0 -2
- pyoptik-1.8.3.post0/development/dev_0.py +0 -6
- pyoptik-1.8.3.post0/docs/source/gallery/utils/build_library.py.md5 +0 -1
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.github/dependabot.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.github/workflows/deploy_anaconda.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.github/workflows/deploy_coverage.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.github/workflows/deploy_documentation.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.github/workflows/deploy_workflow.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.gitignore +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/.readthedocs.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/LICENSE +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/__init__.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/__main__.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/__init__.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/classics.yml +0 -0
- pyoptik-1.8.3.post0/PyOptik/data/glasses.yml → pyoptik-1.8.5.post0/PyOptik/data/dielectrics.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/metals.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/minimal.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/organics.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/others.yml +0 -0
- pyoptik-1.8.3.post0/PyOptik/data/plastics.yml → pyoptik-1.8.5.post0/PyOptik/data/polymers.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/BAK1.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/BK7.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/SF5.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/ZBLAN.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/air.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/argon.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/crown.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/flint.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/fused_silica.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/germanium.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/lithium_niobate.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/polystyren.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/silicon.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/soda_lime_glass.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/sellmeier/water.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/aluminium.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/calcium.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/copper.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/gold.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/iron.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/nickel.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/silver.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/sodium.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/data/tabulated/zinc.yml +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/directories.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/material/__init__.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/material/base_class.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/material/sellmeier_class.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/material/tabulated_class.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/units.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik/utils.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik.egg-info/dependency_links.txt +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/PyOptik.egg-info/top_level.txt +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/README.rst +4 -4
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/Makefile +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/README.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/sellmeier/README.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/sellmeier/plot_bk7.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/sellmeier/plot_silica.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/sellmeier/plot_water.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/tabulated/README.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/tabulated/plot_sf5.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/tabulated/plot_silver.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/utils/README.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/utils/create_sellmeier_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/utils/create_tabulated_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/examples/utils/download_yml_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/images/example_bk7.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/images/logo.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/make.bat +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/_static/default.css +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/code.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/index.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_bk7_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_silica_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_water_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_bk7_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_silica_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_water_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/index.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_bk7.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_bk7.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_bk7.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_bk7.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_bk7_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_silica.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_silica.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_silica.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_silica.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_silica_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_water.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_water.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_water.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_water.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/plot_water_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/sellmeier/sg_execution_times.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_sf5_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_silver_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_sf5_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_silver_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/index.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_sf5.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_sf5.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_sf5.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_sf5.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_sf5_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_silver.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_silver.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_silver.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_silver.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/plot_silver_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/tabulated/sg_execution_times.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_sellmeier_file.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_sellmeier_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_sellmeier_file.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_sellmeier_file.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_sellmeier_file_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_tabulated_file.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_tabulated_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_tabulated_file.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_tabulated_file.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/create_tabulated_file_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/download_yml_file.ipynb +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/download_yml_file.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/download_yml_file.py.md5 +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/download_yml_file.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/download_yml_file_codeobj.pickle +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/sphx_glr_create_sellmeier_file_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/sphx_glr_create_tabulated_file_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/sphx_glr_download_yml_file_001.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_build_library_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_sellmeier_file_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_tabulated_file_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_download_yml_file_thumb.png +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/index.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/index.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/references.rst +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/setup.cfg +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/tests/__init__.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/tests/test_sellmeier.py +0 -0
- {pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/tests/test_tabulated.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyOptik
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.5.post0
|
|
4
4
|
Summary: A package for refractive index values.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -36,12 +36,14 @@ Classifier: Intended Audience :: Science/Research
|
|
|
36
36
|
Requires-Python: >=3.10
|
|
37
37
|
Description-Content-Type: text/x-rst
|
|
38
38
|
License-File: LICENSE
|
|
39
|
-
Requires-Dist: pint
|
|
40
|
-
Requires-Dist: pydantic
|
|
41
|
-
Requires-Dist: numpy
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
39
|
+
Requires-Dist: pint~=0.24
|
|
40
|
+
Requires-Dist: pydantic~=2.9
|
|
41
|
+
Requires-Dist: numpy~=1.26
|
|
42
|
+
Requires-Dist: matplotlib~=3.8
|
|
43
|
+
Requires-Dist: requests~=2.31
|
|
44
|
+
Requires-Dist: pyyaml~=6.0
|
|
45
|
+
Requires-Dist: MPSPlots~=1.5.1
|
|
46
|
+
Requires-Dist: tabulate~=0.9
|
|
45
47
|
Provides-Extra: testing
|
|
46
48
|
Requires-Dist: pytest>=0.6; extra == "testing"
|
|
47
49
|
Requires-Dist: pytest-cov>=2.0; extra == "testing"
|
|
@@ -274,10 +276,6 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
274
276
|
:alt: PyPi version
|
|
275
277
|
:target: https://pypistats.org/packages/pyoptik
|
|
276
278
|
|
|
277
|
-
.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
|
|
278
|
-
:alt: Anaconda downloads
|
|
279
|
-
:target: https://anaconda.org/martinpdes/pyoptik
|
|
280
|
-
|
|
281
279
|
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
282
280
|
:alt: Unittest coverage
|
|
283
281
|
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
@@ -285,3 +283,7 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
285
283
|
.. |anaconda| image:: https://anaconda.org/martinpdes/pyoptik/badges/version.svg
|
|
286
284
|
:alt: Anaconda version
|
|
287
285
|
:target: https://anaconda.org/martinpdes/pyoptik
|
|
286
|
+
|
|
287
|
+
.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
|
|
288
|
+
:alt: Anaconda downloads
|
|
289
|
+
:target: https://anaconda.org/martinpdes/pyoptik
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '1.8.
|
|
16
|
-
__version_tuple__ = version_tuple = (1, 8,
|
|
15
|
+
__version__ = version = '1.8.5.post0'
|
|
16
|
+
__version_tuple__ = version_tuple = (1, 8, 5)
|
|
@@ -8,6 +8,7 @@ import yaml
|
|
|
8
8
|
import logging
|
|
9
9
|
from pathlib import Path
|
|
10
10
|
from typing import List, Union, Optional, Tuple
|
|
11
|
+
from enum import Enum
|
|
11
12
|
from PyOptik.directories import data_path
|
|
12
13
|
from PyOptik.material.sellmeier_class import SellmeierMaterial
|
|
13
14
|
from PyOptik.material.tabulated_class import TabulatedMaterial
|
|
@@ -15,6 +16,9 @@ from PyOptik.utils import download_yml_file
|
|
|
15
16
|
from tabulate import tabulate
|
|
16
17
|
from dataclasses import dataclass
|
|
17
18
|
|
|
19
|
+
class MaterialType(Enum):
|
|
20
|
+
SELLMEIER = "sellmeier"
|
|
21
|
+
TABULATED = "tabulated"
|
|
18
22
|
|
|
19
23
|
@dataclass(frozen=True, slots=True)
|
|
20
24
|
class _MaterialBank():
|
|
@@ -53,9 +57,12 @@ class _MaterialBank():
|
|
|
53
57
|
If a material is not found in either the Sellmeier or Tabulated material lists.
|
|
54
58
|
"""
|
|
55
59
|
|
|
60
|
+
only_tabulated: bool = False
|
|
61
|
+
only_sellmeier: bool = False
|
|
62
|
+
|
|
56
63
|
def __getattr__(self, material_name: str) -> Union[SellmeierMaterial, TabulatedMaterial]:
|
|
57
64
|
"""
|
|
58
|
-
Retrieve a material by name dynamically at the class level.
|
|
65
|
+
Retrieve a material by name dynamically at the class level, respecting filter options.
|
|
59
66
|
|
|
60
67
|
Parameters
|
|
61
68
|
----------
|
|
@@ -69,37 +76,123 @@ class _MaterialBank():
|
|
|
69
76
|
|
|
70
77
|
Raises
|
|
71
78
|
------
|
|
72
|
-
|
|
73
|
-
If the material is not found in
|
|
79
|
+
AttributeError
|
|
80
|
+
If the material is not found in the filtered or unfiltered lists.
|
|
74
81
|
"""
|
|
75
|
-
|
|
82
|
+
# Apply the filtering logic based on class-level attributes
|
|
83
|
+
if self.only_sellmeier and material_name in self.sellmeier:
|
|
76
84
|
return SellmeierMaterial(filename=material_name)
|
|
77
|
-
|
|
78
|
-
if material_name in self.tabulated:
|
|
85
|
+
elif self.only_tabulated and material_name in self.tabulated:
|
|
79
86
|
return TabulatedMaterial(filename=material_name)
|
|
87
|
+
elif not self.only_sellmeier and not self.only_tabulated:
|
|
88
|
+
# If no filter is set, check in both lists
|
|
89
|
+
if material_name in self.sellmeier:
|
|
90
|
+
return SellmeierMaterial(filename=material_name)
|
|
91
|
+
elif material_name in self.tabulated:
|
|
92
|
+
return TabulatedMaterial(filename=material_name)
|
|
80
93
|
|
|
81
94
|
raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{material_name}'")
|
|
82
95
|
|
|
83
|
-
def get(self,
|
|
84
|
-
|
|
96
|
+
def get(self, material_name: str) -> Union[SellmeierMaterial, TabulatedMaterial]:
|
|
97
|
+
"""
|
|
98
|
+
Retrieve a material by name, respecting filter options.
|
|
85
99
|
|
|
86
|
-
|
|
87
|
-
|
|
100
|
+
Parameters
|
|
101
|
+
----------
|
|
102
|
+
material_name : str
|
|
103
|
+
The name of the material to retrieve.
|
|
104
|
+
|
|
105
|
+
Returns
|
|
106
|
+
-------
|
|
107
|
+
Union[SellmeierMaterial, TabulatedMaterial]
|
|
108
|
+
An instance of the material if found.
|
|
109
|
+
|
|
110
|
+
Raises
|
|
111
|
+
------
|
|
112
|
+
AttributeError
|
|
113
|
+
If the material is not found in the filtered or unfiltered lists.
|
|
114
|
+
"""
|
|
115
|
+
return self.__getattr__(material_name)
|
|
116
|
+
|
|
117
|
+
@classmethod
|
|
118
|
+
def set_filter(cls, only_tabulated: bool = False, only_sellmeier: bool = False) -> None:
|
|
119
|
+
"""
|
|
120
|
+
Set the filter for the MaterialBank.
|
|
121
|
+
|
|
122
|
+
Parameters
|
|
123
|
+
----------
|
|
124
|
+
only_tabulated : bool
|
|
125
|
+
If True, restricts retrieval to tabulated materials only.
|
|
126
|
+
only_sellmeier : bool
|
|
127
|
+
If True, restricts retrieval to sellmeier materials only.
|
|
128
|
+
|
|
129
|
+
Raises
|
|
130
|
+
------
|
|
131
|
+
ValueError
|
|
132
|
+
If both only_tabulated and only_sellmeier are set to True.
|
|
133
|
+
"""
|
|
134
|
+
if only_tabulated and only_sellmeier:
|
|
135
|
+
raise ValueError("Cannot set both 'only_tabulated' and 'only_sellmeier' to True.")
|
|
136
|
+
|
|
137
|
+
cls.only_tabulated = only_tabulated
|
|
138
|
+
cls.only_sellmeier = only_sellmeier
|
|
139
|
+
|
|
140
|
+
def _list_materials(self, material_type: MaterialType) -> List[str]:
|
|
141
|
+
"""
|
|
142
|
+
Helper method to list materials of a specific type.
|
|
143
|
+
|
|
144
|
+
Parameters
|
|
145
|
+
----------
|
|
146
|
+
material_type : MaterialType
|
|
147
|
+
The type of materials to list (MaterialType.SELLMEIER or MaterialType.TABULATED).
|
|
148
|
+
|
|
149
|
+
Returns
|
|
150
|
+
-------
|
|
151
|
+
List[str]
|
|
152
|
+
A list of material names of the specified type.
|
|
153
|
+
"""
|
|
154
|
+
directory = data_path / material_type.value
|
|
88
155
|
return [
|
|
89
|
-
os.path.splitext(f)[0] for f in os.listdir(
|
|
156
|
+
os.path.splitext(f)[0] for f in os.listdir(directory) if os.path.isfile(directory / f) and f.endswith('.yml')
|
|
90
157
|
]
|
|
91
158
|
|
|
159
|
+
@property
|
|
160
|
+
def sellmeier(self) -> List[str]:
|
|
161
|
+
"""
|
|
162
|
+
List all available Sellmeier materials.
|
|
163
|
+
|
|
164
|
+
Returns
|
|
165
|
+
-------
|
|
166
|
+
List[str]
|
|
167
|
+
A list of all Sellmeier material names.
|
|
168
|
+
"""
|
|
169
|
+
return self._list_materials(MaterialType.SELLMEIER)
|
|
170
|
+
|
|
92
171
|
@property
|
|
93
172
|
def tabulated(self) -> List[str]:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
173
|
+
"""
|
|
174
|
+
List all available Tabulated materials.
|
|
175
|
+
|
|
176
|
+
Returns
|
|
177
|
+
-------
|
|
178
|
+
List[str]
|
|
179
|
+
A list of all Tabulated material names.
|
|
180
|
+
"""
|
|
181
|
+
return self._list_materials(MaterialType.TABULATED)
|
|
97
182
|
|
|
98
183
|
@property
|
|
99
184
|
def all(self) -> List[str]:
|
|
185
|
+
"""
|
|
186
|
+
List all available materials, including both Sellmeier and Tabulated materials.
|
|
187
|
+
|
|
188
|
+
Returns
|
|
189
|
+
-------
|
|
190
|
+
List[str]
|
|
191
|
+
A combined list of all Sellmeier and Tabulated material names.
|
|
192
|
+
"""
|
|
100
193
|
return self.sellmeier + self.tabulated
|
|
101
194
|
|
|
102
|
-
def
|
|
195
|
+
def print_available(cls) -> None:
|
|
103
196
|
"""
|
|
104
197
|
Prints out all the available Sellmeier and Tabulated materials in a tabulated format.
|
|
105
198
|
"""
|
|
@@ -121,49 +214,41 @@ class _MaterialBank():
|
|
|
121
214
|
print(tabulate(table_data, headers=headers, tablefmt="grid"))
|
|
122
215
|
|
|
123
216
|
@classmethod
|
|
124
|
-
def
|
|
217
|
+
def add_material_to_bank(cls, filename: str, url: str, material_type: MaterialType) -> None:
|
|
125
218
|
"""
|
|
126
|
-
Add a
|
|
219
|
+
Add a material to the material bank.
|
|
127
220
|
|
|
128
|
-
Downloads a YAML file containing the
|
|
129
|
-
in the
|
|
221
|
+
Downloads a YAML file containing the material data from a specified URL and stores it
|
|
222
|
+
in the specified materials directory.
|
|
130
223
|
|
|
131
224
|
Parameters
|
|
132
225
|
----------
|
|
133
226
|
filename : str
|
|
134
|
-
The name of the file to be saved in the
|
|
227
|
+
The name of the file to be saved in the material bank.
|
|
135
228
|
url : str
|
|
136
229
|
The URL from where the material file is downloaded.
|
|
230
|
+
material_type : MaterialType
|
|
231
|
+
The type of material (MaterialType.SELLMEIER or MaterialType.TABULATED).
|
|
137
232
|
|
|
138
233
|
Returns
|
|
139
234
|
-------
|
|
140
235
|
None
|
|
141
236
|
"""
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
@classmethod
|
|
145
|
-
def add_tabulated_to_bank(cls, filename: str, url: str) -> None:
|
|
146
|
-
"""
|
|
147
|
-
Add a Tabulated material to the material bank.
|
|
237
|
+
if material_type not in [MaterialType.SELLMEIER, MaterialType.TABULATED]:
|
|
238
|
+
raise ValueError("Invalid material type. Please choose MaterialType.SELLMEIER or MaterialType.TABULATED.")
|
|
148
239
|
|
|
149
|
-
|
|
150
|
-
in the Tabulated materials directory.
|
|
240
|
+
return download_yml_file(filename=filename, url=url, location=data_path / material_type.value)
|
|
151
241
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
filename
|
|
155
|
-
The name of the file to be saved in the Tabulated material bank.
|
|
156
|
-
url : str
|
|
157
|
-
The URL from where the material file is downloaded.
|
|
242
|
+
@classmethod
|
|
243
|
+
def add_sellmeier_to_bank(cls, filename: str, url: str) -> None:
|
|
244
|
+
return cls.add_material_to_bank(filename, url, MaterialType.SELLMEIER)
|
|
158
245
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"""
|
|
163
|
-
return download_yml_file(filename=filename, url=url, location=data_path / 'tabulated')
|
|
246
|
+
@classmethod
|
|
247
|
+
def add_tabulated_to_bank(cls, filename: str, url: str) -> None:
|
|
248
|
+
return cls.add_material_to_bank(filename, url, MaterialType.TABULATED)
|
|
164
249
|
|
|
165
250
|
@classmethod
|
|
166
|
-
def remove_item(cls, filename: str, location: str = 'any') -> None:
|
|
251
|
+
def remove_item(cls, filename: str, location: Union[str, MaterialType] = 'any') -> None:
|
|
167
252
|
"""
|
|
168
253
|
Remove a file associated with a given element name from the specified location.
|
|
169
254
|
|
|
@@ -171,8 +256,8 @@ class _MaterialBank():
|
|
|
171
256
|
----------
|
|
172
257
|
filename : str
|
|
173
258
|
The name of the file to remove, without the '.yml' suffix.
|
|
174
|
-
location : str
|
|
175
|
-
The location to search for the file, either 'sellmeier', 'tabulated',
|
|
259
|
+
location : Union[str, MaterialType]
|
|
260
|
+
The location to search for the file, either 'sellmeier', 'tabulated', 'any', or a MaterialType enum (default is 'any').
|
|
176
261
|
|
|
177
262
|
Raises
|
|
178
263
|
------
|
|
@@ -181,6 +266,9 @@ class _MaterialBank():
|
|
|
181
266
|
ValueError
|
|
182
267
|
If an invalid location is provided.
|
|
183
268
|
"""
|
|
269
|
+
if isinstance(location, MaterialType):
|
|
270
|
+
location = location.value
|
|
271
|
+
|
|
184
272
|
location = location.lower()
|
|
185
273
|
|
|
186
274
|
if location not in ['any', 'sellmeier', 'tabulated']:
|
|
@@ -196,7 +284,7 @@ class _MaterialBank():
|
|
|
196
284
|
if tabulated_file.exists():
|
|
197
285
|
tabulated_file.unlink()
|
|
198
286
|
|
|
199
|
-
def clean_data_files(self, regex: str, location: str = 'any') -> None:
|
|
287
|
+
def clean_data_files(self, regex: str, location: Union[str, MaterialType] = 'any') -> None:
|
|
200
288
|
"""
|
|
201
289
|
Remove all files matching the given regex from the specified location.
|
|
202
290
|
|
|
@@ -204,7 +292,7 @@ class _MaterialBank():
|
|
|
204
292
|
----------
|
|
205
293
|
regex : str
|
|
206
294
|
The regex pattern to match the filenames (without the '.yml' suffix).
|
|
207
|
-
location : str
|
|
295
|
+
location : Union[str, MaterialType]
|
|
208
296
|
The location to search for files, either 'sellmeier', 'tabulated', or 'any' (default is 'any').
|
|
209
297
|
|
|
210
298
|
Raises
|
|
@@ -212,15 +300,17 @@ class _MaterialBank():
|
|
|
212
300
|
ValueError
|
|
213
301
|
If an invalid location is provided.
|
|
214
302
|
"""
|
|
215
|
-
|
|
216
|
-
|
|
303
|
+
if isinstance(location, MaterialType):
|
|
304
|
+
location = location.value
|
|
217
305
|
|
|
218
|
-
# Normalize the location parameter
|
|
219
306
|
location = location.lower()
|
|
220
307
|
|
|
221
308
|
if location not in ['any', 'sellmeier', 'tabulated']:
|
|
222
309
|
raise ValueError("Invalid location. Please choose 'sellmeier', 'tabulated', or 'any'.")
|
|
223
310
|
|
|
311
|
+
# Compile the regex pattern
|
|
312
|
+
pattern = re.compile(regex)
|
|
313
|
+
|
|
224
314
|
# Function to remove matching files in a given directory
|
|
225
315
|
def remove_matching_files(directory: Path):
|
|
226
316
|
for file in directory.glob("*.yml"):
|
|
@@ -236,7 +326,6 @@ class _MaterialBank():
|
|
|
236
326
|
if location in ['any', 'tabulated']:
|
|
237
327
|
remove_matching_files(data_path / 'tabulated')
|
|
238
328
|
|
|
239
|
-
|
|
240
329
|
def build_library(self, library: Union[str, List[str]] = 'classics', remove_previous: bool = False) -> None:
|
|
241
330
|
"""
|
|
242
331
|
Downloads and saves materials data from the specified URLs.
|
|
@@ -363,15 +452,11 @@ class _MaterialBank():
|
|
|
363
452
|
data_str = "\n".join(" ".join(map(str, row)) for row in data)
|
|
364
453
|
|
|
365
454
|
# Create the data dictionary for YAML
|
|
366
|
-
yaml_data = {
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
'data': data_str,
|
|
372
|
-
}
|
|
373
|
-
]
|
|
374
|
-
}
|
|
455
|
+
yaml_data = {}
|
|
456
|
+
yaml_data['REFERENCES'] = reference
|
|
457
|
+
yaml_data['DATA'] = [
|
|
458
|
+
dict(type='tabulated nk', data=data_str)
|
|
459
|
+
]
|
|
375
460
|
|
|
376
461
|
# Add comments if provided
|
|
377
462
|
if comments:
|
|
@@ -386,4 +471,4 @@ class _MaterialBank():
|
|
|
386
471
|
|
|
387
472
|
logging.info(f"Tabulated nk data saved to {file_path}")
|
|
388
473
|
|
|
389
|
-
MaterialBank = _MaterialBank()
|
|
474
|
+
MaterialBank = _MaterialBank()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyOptik
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.5.post0
|
|
4
4
|
Summary: A package for refractive index values.
|
|
5
5
|
Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -36,12 +36,14 @@ Classifier: Intended Audience :: Science/Research
|
|
|
36
36
|
Requires-Python: >=3.10
|
|
37
37
|
Description-Content-Type: text/x-rst
|
|
38
38
|
License-File: LICENSE
|
|
39
|
-
Requires-Dist: pint
|
|
40
|
-
Requires-Dist: pydantic
|
|
41
|
-
Requires-Dist: numpy
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
39
|
+
Requires-Dist: pint~=0.24
|
|
40
|
+
Requires-Dist: pydantic~=2.9
|
|
41
|
+
Requires-Dist: numpy~=1.26
|
|
42
|
+
Requires-Dist: matplotlib~=3.8
|
|
43
|
+
Requires-Dist: requests~=2.31
|
|
44
|
+
Requires-Dist: pyyaml~=6.0
|
|
45
|
+
Requires-Dist: MPSPlots~=1.5.1
|
|
46
|
+
Requires-Dist: tabulate~=0.9
|
|
45
47
|
Provides-Extra: testing
|
|
46
48
|
Requires-Dist: pytest>=0.6; extra == "testing"
|
|
47
49
|
Requires-Dist: pytest-cov>=2.0; extra == "testing"
|
|
@@ -274,10 +276,6 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
274
276
|
:alt: PyPi version
|
|
275
277
|
:target: https://pypistats.org/packages/pyoptik
|
|
276
278
|
|
|
277
|
-
.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
|
|
278
|
-
:alt: Anaconda downloads
|
|
279
|
-
:target: https://anaconda.org/martinpdes/pyoptik
|
|
280
|
-
|
|
281
279
|
.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
|
|
282
280
|
:alt: Unittest coverage
|
|
283
281
|
:target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
|
|
@@ -285,3 +283,7 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
|
|
|
285
283
|
.. |anaconda| image:: https://anaconda.org/martinpdes/pyoptik/badges/version.svg
|
|
286
284
|
:alt: Anaconda version
|
|
287
285
|
:target: https://anaconda.org/martinpdes/pyoptik
|
|
286
|
+
|
|
287
|
+
.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
|
|
288
|
+
:alt: Anaconda downloads
|
|
289
|
+
:target: https://anaconda.org/martinpdes/pyoptik
|
|
@@ -23,12 +23,12 @@ PyOptik.egg-info/requires.txt
|
|
|
23
23
|
PyOptik.egg-info/top_level.txt
|
|
24
24
|
PyOptik/data/__init__.py
|
|
25
25
|
PyOptik/data/classics.yml
|
|
26
|
-
PyOptik/data/
|
|
26
|
+
PyOptik/data/dielectrics.yml
|
|
27
27
|
PyOptik/data/metals.yml
|
|
28
28
|
PyOptik/data/minimal.yml
|
|
29
29
|
PyOptik/data/organics.yml
|
|
30
30
|
PyOptik/data/others.yml
|
|
31
|
-
PyOptik/data/
|
|
31
|
+
PyOptik/data/polymers.yml
|
|
32
32
|
PyOptik/data/sellmeier/BAK1.yml
|
|
33
33
|
PyOptik/data/sellmeier/BK7.yml
|
|
34
34
|
PyOptik/data/sellmeier/SF5.yml
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import yaml
|
|
2
|
+
from PyOptik import MaterialBank
|
|
3
|
+
|
|
4
|
+
# MaterialBank.build_library('classics')
|
|
5
|
+
# MaterialBank.only_sellmeier = True
|
|
6
|
+
|
|
7
|
+
MaterialBank.set_filter(only_sellmeier=False)
|
|
8
|
+
|
|
9
|
+
# mater = MaterialBank.gold
|
|
10
|
+
|
|
11
|
+
# MaterialBank.print_available()
|
|
12
|
+
|
|
13
|
+
print(MaterialBank.all)
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"outputs": [],
|
|
24
24
|
"source": [
|
|
25
|
-
"from PyOptik import MaterialBank\n\n# Build the 'others' material library and remove previously downloaded files\nMaterialBank.build_library('glasses', remove_previous=True)\n\n# Print all the available materials (Sellmeier and Tabulated)\nMaterialBank.
|
|
25
|
+
"from PyOptik import MaterialBank\n\n# Build the 'others' material library and remove previously downloaded files\nMaterialBank.build_library('glasses', remove_previous=True)\n\n# Print all the available materials (Sellmeier and Tabulated)\nMaterialBank.print_available()"
|
|
26
26
|
]
|
|
27
27
|
}
|
|
28
28
|
],
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
42ef02d2687ccf6fb165da8831dbf098
|
|
@@ -50,7 +50,7 @@ Import necessary modules
|
|
|
50
50
|
MaterialBank.build_library('glasses', remove_previous=True)
|
|
51
51
|
|
|
52
52
|
# Print all the available materials (Sellmeier and Tabulated)
|
|
53
|
-
MaterialBank.
|
|
53
|
+
MaterialBank.print_available()
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
@@ -124,7 +124,7 @@ Import necessary modules
|
|
|
124
124
|
|
|
125
125
|
.. rst-class:: sphx-glr-timing
|
|
126
126
|
|
|
127
|
-
**Total running time of the script:** (0 minutes
|
|
127
|
+
**Total running time of the script:** (0 minutes 11.472 seconds)
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
.. _sphx_glr_download_gallery_utils_build_library.py:
|
{pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/build_library_codeobj.pickle
RENAMED
|
Binary file
|
{pyoptik-1.8.3.post0 → pyoptik-1.8.5.post0}/docs/source/gallery/utils/sg_execution_times.rst
RENAMED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
Computation times
|
|
8
8
|
=================
|
|
9
|
-
**00:11.
|
|
9
|
+
**00:11.472** total execution time for **gallery_utils** files:
|
|
10
10
|
|
|
11
11
|
+---------------------------------------------------------------------------------------+-----------+--------+
|
|
12
|
-
| :ref:`sphx_glr_gallery_utils_build_library.py` (``build_library.py``) | 00:
|
|
12
|
+
| :ref:`sphx_glr_gallery_utils_build_library.py` (``build_library.py``) | 00:11.472 | 0.0 MB |
|
|
13
13
|
+---------------------------------------------------------------------------------------+-----------+--------+
|
|
14
|
-
| :ref:`
|
|
14
|
+
| :ref:`sphx_glr_gallery_utils_create_sellmeier_file.py` (``create_sellmeier_file.py``) | 00:00.000 | 0.0 MB |
|
|
15
15
|
+---------------------------------------------------------------------------------------+-----------+--------+
|
|
16
|
-
| :ref:`
|
|
16
|
+
| :ref:`sphx_glr_gallery_utils_create_tabulated_file.py` (``create_tabulated_file.py``) | 00:00.000 | 0.0 MB |
|
|
17
17
|
+---------------------------------------------------------------------------------------+-----------+--------+
|
|
18
|
-
| :ref:`
|
|
18
|
+
| :ref:`sphx_glr_gallery_utils_download_yml_file.py` (``download_yml_file.py``) | 00:00.000 | 0.0 MB |
|
|
19
19
|
+---------------------------------------------------------------------------------------+-----------+--------+
|
|
@@ -25,12 +25,12 @@ requirements:
|
|
|
25
25
|
- martinpdes::mpsplots
|
|
26
26
|
run:
|
|
27
27
|
- martinpdes::mpsplots
|
|
28
|
-
- pyyaml
|
|
29
|
-
- requests
|
|
30
|
-
- matplotlib
|
|
31
|
-
- numpy
|
|
32
|
-
- pydantic
|
|
33
|
-
- tabulate
|
|
28
|
+
- pyyaml ~=6.0
|
|
29
|
+
- requests ~=2.31
|
|
30
|
+
- matplotlib ~=3.8
|
|
31
|
+
- numpy ~=1.26
|
|
32
|
+
- pydantic ~=2.9
|
|
33
|
+
- tabulate ~=0.9
|
|
34
34
|
|
|
35
35
|
about:
|
|
36
36
|
home: https://github.com/MartinPdeS/PyOptik
|
|
@@ -40,7 +40,10 @@ about:
|
|
|
40
40
|
dev_url: https://github.com/MartinPdeS/PyOptik
|
|
41
41
|
doc_url: https://pyoptik.readthedocs.io
|
|
42
42
|
license_file: LICENSE
|
|
43
|
-
|
|
43
|
+
keywords:
|
|
44
|
+
- optics
|
|
45
|
+
- refractive index
|
|
46
|
+
- material
|
|
44
47
|
|
|
45
48
|
test:
|
|
46
49
|
imports:
|
|
@@ -23,12 +23,14 @@ classifiers = [
|
|
|
23
23
|
keywords = ["refracive index", "optics"]
|
|
24
24
|
|
|
25
25
|
dependencies = [
|
|
26
|
-
"pint",
|
|
27
|
-
"pydantic
|
|
28
|
-
"numpy",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
26
|
+
"pint ~=0.24",
|
|
27
|
+
"pydantic ~=2.9",
|
|
28
|
+
"numpy ~=1.26",
|
|
29
|
+
"matplotlib ~=3.8",
|
|
30
|
+
"requests ~=2.31",
|
|
31
|
+
"pyyaml ~=6.0",
|
|
32
|
+
"MPSPlots ~=1.5.1",
|
|
33
|
+
"tabulate ~=0.9",
|
|
32
34
|
]
|
|
33
35
|
|
|
34
36
|
[tool.setuptools]
|
|
@@ -43,21 +45,21 @@ local_scheme = "no-local-version"
|
|
|
43
45
|
|
|
44
46
|
[project.optional-dependencies]
|
|
45
47
|
testing = [
|
|
46
|
-
"pytest>=0.6",
|
|
47
|
-
"pytest-cov>=2.0",
|
|
48
|
-
"pytest-json-report==1.5.0",
|
|
49
|
-
"mypy>=0.910",
|
|
50
|
-
"flake8>=3.9",
|
|
51
|
-
"tox>=3.24",
|
|
52
|
-
"coverage==6.5.0"
|
|
48
|
+
"pytest >=0.6",
|
|
49
|
+
"pytest-cov >=2.0",
|
|
50
|
+
"pytest-json-report ==1.5.0",
|
|
51
|
+
"mypy >=0.910",
|
|
52
|
+
"flake8 >=3.9",
|
|
53
|
+
"tox >=3.24",
|
|
54
|
+
"coverage ==6.5.0"
|
|
53
55
|
]
|
|
54
56
|
|
|
55
57
|
documentation = [
|
|
56
|
-
"numpydoc==1.6.0",
|
|
57
|
-
"sphinx>=5.1.1",
|
|
58
|
-
"sphinx-gallery==0.15.0",
|
|
59
|
-
"sphinx-rtd-theme==2.0.0",
|
|
60
|
-
"pydata-sphinx-theme==0.14.1",
|
|
58
|
+
"numpydoc ==1.6.0",
|
|
59
|
+
"sphinx >=5.1.1",
|
|
60
|
+
"sphinx-gallery ==0.15.0",
|
|
61
|
+
"sphinx-rtd-theme ==2.0.0",
|
|
62
|
+
"pydata-sphinx-theme ==0.14.1",
|
|
61
63
|
]
|
|
62
64
|
|
|
63
65
|
[tool.pytest.ini_options]
|
|
@@ -11,7 +11,7 @@ def test_usual_material(material_name):
|
|
|
11
11
|
"""
|
|
12
12
|
material_instance = getattr(MaterialBank, material_name)
|
|
13
13
|
|
|
14
|
-
MaterialBank.
|
|
14
|
+
MaterialBank.print_available()
|
|
15
15
|
|
|
16
16
|
assert isinstance(material_instance, (SellmeierMaterial, TabulatedMaterial)), f"{material_name} instantiation failed."
|
|
17
17
|
|