PyOptik 1.4.1.post0__tar.gz → 1.6.0.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.
Files changed (165) hide show
  1. pyoptik-1.4.1.post0/.github/workflows/coverage.yml → pyoptik-1.6.0.post0/.github/workflows/deploy_coverage.yml +11 -6
  2. pyoptik-1.6.0.post0/.github/workflows/deploy_documentation.yml +57 -0
  3. pyoptik-1.6.0.post0/.github/workflows/deploy_workflow.yml +30 -0
  4. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PKG-INFO +8 -7
  5. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/__init__.py +4 -2
  6. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/_version.py +2 -2
  7. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/base_class.py +1 -1
  8. pyoptik-1.6.0.post0/PyOptik/material.py +61 -0
  9. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/sellmeier_class.py +2 -2
  10. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/tabulated_class.py +2 -2
  11. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik.egg-info/PKG-INFO +8 -7
  12. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik.egg-info/SOURCES.txt +2 -2
  13. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/README.rst +7 -6
  14. {pyoptik-1.4.1.post0/docs/source/gallery → pyoptik-1.6.0.post0/docs/examples}/plot_bk7.py +2 -2
  15. {pyoptik-1.4.1.post0/docs/source/gallery → pyoptik-1.6.0.post0/docs/examples}/plot_sf5.py +2 -2
  16. {pyoptik-1.4.1.post0/docs/source/gallery → pyoptik-1.6.0.post0/docs/examples}/plot_silica.py +2 -2
  17. {pyoptik-1.4.1.post0/docs/source/gallery → pyoptik-1.6.0.post0/docs/examples}/plot_silver.py +2 -2
  18. {pyoptik-1.4.1.post0/docs/source/gallery → pyoptik-1.6.0.post0/docs/examples}/plot_water.py +2 -2
  19. pyoptik-1.6.0.post0/tests/test_usual_material.py +16 -0
  20. pyoptik-1.4.1.post0/.github/workflows/deploy_workflow.yml +0 -41
  21. pyoptik-1.4.1.post0/PyOptik/material.py +0 -129
  22. pyoptik-1.4.1.post0/docs/deprecated/experiment_material.py +0 -110
  23. pyoptik-1.4.1.post0/tests/test_usual_material.py +0 -25
  24. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/.github/dependabot.yml +0 -0
  25. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/.gitignore +0 -0
  26. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/.readthedocs.yml +0 -0
  27. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/LICENSE +0 -0
  28. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/__main__.py +0 -0
  29. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/__init__.py +0 -0
  30. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/BAK1.yml +0 -0
  31. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/BK7.yml +0 -0
  32. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/SF5.yml +0 -0
  33. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/ZBLAN.yml +0 -0
  34. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/__init__.py +0 -0
  35. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/argon.yml +0 -0
  36. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/crown.yml +0 -0
  37. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/default.py +0 -0
  38. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/flint.yml +0 -0
  39. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/fluorine_doped_silica_1%.yml +0 -0
  40. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/fluorine_doped_silica_2%.yml +0 -0
  41. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/fused_silica.yml +0 -0
  42. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/germanium.yml +0 -0
  43. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/lithium_niobate.yml +0 -0
  44. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/polystyren.yml +0 -0
  45. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/silica.yml +0 -0
  46. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/silicon.yml +0 -0
  47. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/soda_lime_glass.yml +0 -0
  48. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/sellmeier/water.yml +0 -0
  49. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/__init__.py +0 -0
  50. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/aluminium.yml +0 -0
  51. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/calcium.yml +0 -0
  52. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/copper.yml +0 -0
  53. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/default.py +0 -0
  54. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/gold.yml +0 -0
  55. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/iron.yml +0 -0
  56. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/nickel.yml +0 -0
  57. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/silver.yml +0 -0
  58. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/sodium.yml +0 -0
  59. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/data/tabulated/zinc.yml +0 -0
  60. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/directories.py +0 -0
  61. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik/utils.py +0 -0
  62. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik.egg-info/dependency_links.txt +0 -0
  63. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik.egg-info/requires.txt +0 -0
  64. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/PyOptik.egg-info/top_level.txt +0 -0
  65. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/Makefile +0 -0
  66. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/examples/README.rst +0 -0
  67. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/examples/create_sellmeier_file.py +0 -0
  68. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/examples/create_tabulated_file.py +0 -0
  69. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/examples/download_yml_file.py +0 -0
  70. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/images/example_bk7.png +0 -0
  71. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/images/logo.png +0 -0
  72. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/make.bat +0 -0
  73. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/_static/default.css +0 -0
  74. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/code.rst +0 -0
  75. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/conf.py +0 -0
  76. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/add_material.ipynb +0 -0
  77. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/add_material.py +0 -0
  78. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/add_material.rst +0 -0
  79. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/add_material_codeobj.pickle +0 -0
  80. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_sellmeier_file.ipynb +0 -0
  81. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_sellmeier_file.py +0 -0
  82. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_sellmeier_file.py.md5 +0 -0
  83. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_sellmeier_file.rst +0 -0
  84. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_sellmeier_file_codeobj.pickle +0 -0
  85. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_tabulated_file.ipynb +0 -0
  86. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_tabulated_file.py +0 -0
  87. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_tabulated_file.py.md5 +0 -0
  88. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_tabulated_file.rst +0 -0
  89. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/create_tabulated_file_codeobj.pickle +0 -0
  90. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/download_yml_file.ipynb +0 -0
  91. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/download_yml_file.py +0 -0
  92. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/download_yml_file.py.md5 +0 -0
  93. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/download_yml_file.rst +0 -0
  94. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/download_yml_file_codeobj.pickle +0 -0
  95. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/get_values.ipynb +0 -0
  96. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/get_values.py +0 -0
  97. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/get_values.rst +0 -0
  98. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/get_values_codeobj.pickle +0 -0
  99. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_create_sellmeier_file_001.png +0 -0
  100. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_create_tabulated_file_001.png +0 -0
  101. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_download_yml_file_001.png +0 -0
  102. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_bk7_001.png +0 -0
  103. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_sellmeier_0_001.png +0 -0
  104. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_sellmeier_1_001.png +0 -0
  105. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_sf5_001.png +0 -0
  106. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_silica_001.png +0 -0
  107. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_silver_001.png +0 -0
  108. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/sphx_glr_plot_water_001.png +0 -0
  109. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_add_material_thumb.png +0 -0
  110. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_create_sellmeier_file_thumb.png +0 -0
  111. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_create_tabulated_file_thumb.png +0 -0
  112. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_download_yml_file_thumb.png +0 -0
  113. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_get_values_thumb.png +0 -0
  114. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_bk7_thumb.png +0 -0
  115. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_0_thumb.png +0 -0
  116. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_sellmeier_1_thumb.png +0 -0
  117. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_sf5_thumb.png +0 -0
  118. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_silica_thumb.png +0 -0
  119. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_silver_thumb.png +0 -0
  120. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/images/thumb/sphx_glr_plot_water_thumb.png +0 -0
  121. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/index.rst +0 -0
  122. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_bk7.ipynb +0 -0
  123. {pyoptik-1.4.1.post0/docs/examples → pyoptik-1.6.0.post0/docs/source/gallery}/plot_bk7.py +0 -0
  124. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_bk7.py.md5 +0 -0
  125. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_bk7.rst +0 -0
  126. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_bk7_codeobj.pickle +0 -0
  127. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_0.ipynb +0 -0
  128. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_0.py +0 -0
  129. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_0.py.md5 +0 -0
  130. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_0.rst +0 -0
  131. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_0_codeobj.pickle +0 -0
  132. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_1.ipynb +0 -0
  133. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_1.py +0 -0
  134. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_1.py.md5 +0 -0
  135. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_1.rst +0 -0
  136. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sellmeier_1_codeobj.pickle +0 -0
  137. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sf5.ipynb +0 -0
  138. {pyoptik-1.4.1.post0/docs/examples → pyoptik-1.6.0.post0/docs/source/gallery}/plot_sf5.py +0 -0
  139. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sf5.py.md5 +0 -0
  140. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sf5.rst +0 -0
  141. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_sf5_codeobj.pickle +0 -0
  142. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silica.ipynb +0 -0
  143. {pyoptik-1.4.1.post0/docs/examples → pyoptik-1.6.0.post0/docs/source/gallery}/plot_silica.py +0 -0
  144. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silica.py.md5 +0 -0
  145. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silica.rst +0 -0
  146. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silica_codeobj.pickle +0 -0
  147. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silver.ipynb +0 -0
  148. {pyoptik-1.4.1.post0/docs/examples → pyoptik-1.6.0.post0/docs/source/gallery}/plot_silver.py +0 -0
  149. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silver.py.md5 +0 -0
  150. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silver.rst +0 -0
  151. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_silver_codeobj.pickle +0 -0
  152. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_water.ipynb +0 -0
  153. {pyoptik-1.4.1.post0/docs/examples → pyoptik-1.6.0.post0/docs/source/gallery}/plot_water.py +0 -0
  154. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_water.py.md5 +0 -0
  155. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_water.rst +0 -0
  156. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/plot_water_codeobj.pickle +0 -0
  157. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/gallery/sg_execution_times.rst +0 -0
  158. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/index.rst +0 -0
  159. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/docs/source/references.rst +0 -0
  160. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/pyproject.toml +0 -0
  161. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/setup.cfg +0 -0
  162. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/tests/__init__.py +0 -0
  163. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/tests/test_sellmeier.py +0 -0
  164. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/tests/test_tabulated.py +0 -0
  165. {pyoptik-1.4.1.post0 → pyoptik-1.6.0.post0}/tests/test_utils.py +0 -0
@@ -1,11 +1,14 @@
1
- # .github/workflows/coverage.yml
1
+ # .github/workflows/deploy_coverage.yml
2
2
  name: Coverage
3
3
 
4
4
  on:
5
- pull_request:
6
- branches: "master"
7
5
  push:
8
- branches: "master"
6
+ branches: [ "master" ]
7
+ tags:
8
+ - '*'
9
+ pull_request:
10
+ branches: [ "master" ]
11
+
9
12
 
10
13
  jobs:
11
14
  coverage:
@@ -14,14 +17,14 @@ jobs:
14
17
  permissions:
15
18
  pull-requests: write
16
19
  contents: write
20
+
17
21
  steps:
18
- - name: "Set-up: Python ${{ env.cp_python_version }}"
22
+ - name: "Set-up: Python 3.10"
19
23
  uses: actions/setup-python@v4
20
24
  id: cp310
21
25
  with:
22
26
  python-version: "3.10"
23
27
 
24
-
25
28
  - name: "Install: Dependencies for headless server"
26
29
  shell: bash
27
30
  run: |
@@ -42,8 +45,10 @@ jobs:
42
45
  pytest
43
46
 
44
47
  - name: Coverage comment
48
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
45
49
  uses: py-cov-action/python-coverage-comment-action@v3
46
50
  with:
51
+ GITHUB_PR_RUN_ID: ${{ github.event.workflow_run.id }}
47
52
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48
53
  MINIMUM_GREEN: 90
49
54
  MINIMUM_ORANGE: 50
@@ -0,0 +1,57 @@
1
+ # .github/workflows/deploy_documentation.yml
2
+ name: Documentation
3
+
4
+ on:
5
+ push:
6
+ branches: [ "master" ]
7
+ tags:
8
+ - '*'
9
+ pull_request:
10
+ branches: [ "master" ]
11
+
12
+ jobs:
13
+ documentation:
14
+ name: Run the documentation building tools
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ pull-requests: write
18
+ contents: write
19
+
20
+ steps:
21
+ - name: "Set-up: Python 3.10"
22
+ uses: actions/setup-python@v4
23
+ id: cp310
24
+ with:
25
+ python-version: "3.10"
26
+
27
+ - name: "Install: Dependencies for headless server"
28
+ shell: bash
29
+ run: |
30
+ sudo apt-get update
31
+ sudo apt-get install libgl1-mesa-glx xvfb
32
+
33
+ - name: "Checkout requirements and files for testing"
34
+ uses: actions/checkout@v4
35
+ with:
36
+ fetch-depth: 0
37
+ submodules: true
38
+
39
+ - name: Install everything, run the tests, produce the .coverage file
40
+ run: |
41
+ python -m pip install wheel build
42
+ python -m build --wheel
43
+ python -m pip install .[documentation]
44
+
45
+ - name: "Build: documentation"
46
+ shell: bash
47
+ run: |
48
+ make -C docs html
49
+
50
+ - name: "Upload: GitHub Pages"
51
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
52
+ uses: crazy-max/ghaction-github-pages@v3
53
+ with:
54
+ target_branch: gh-pages
55
+ build_dir: docs/build/html
56
+ env:
57
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,30 @@
1
+ name: Deploy Wheel
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ tags:
7
+ - '*'
8
+ pull_request:
9
+ branches: [ "master" ]
10
+
11
+ permissions:
12
+ contents: write
13
+
14
+ jobs:
15
+ build_pure_python:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: MartinPdeS/MPSActions/build_pure_python_package@master
19
+ with:
20
+ python-version: '3.10'
21
+
22
+ publish_wheel:
23
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
24
+ needs: [build_pure_python]
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: MartinPdeS/MPSActions/publish_pypi@master
28
+ with:
29
+ python-version: "3.10"
30
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyOptik
3
- Version: 1.4.1.post0
3
+ Version: 1.6.0.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
@@ -88,10 +88,10 @@ After installing PyOptik, you can easily access material properties:
88
88
 
89
89
  .. code:: python
90
90
 
91
- from PyOptik import UsualMaterial
91
+ from PyOptik import Material
92
92
 
93
93
  # Access the refractive index of BK7 glass
94
- bk7 = UsualMaterial.BK7
94
+ bk7 = Material.BK7
95
95
  n = bk7.compute_refractive_index(0.55e-6)
96
96
  print(f"Refractive index at 0.55 µm: {n}")
97
97
 
@@ -104,13 +104,13 @@ Here is a quick example demonstrating how to use PyOptik to retrieve and plot th
104
104
  .. code:: python
105
105
 
106
106
  import numpy as np
107
- from PyOptik import UsualMaterial
107
+ from PyOptik import Material
108
108
 
109
109
  # Define wavelength range
110
110
  wavelengths = np.linspace(0.3e-6, 2.5e-6, 100)
111
111
 
112
112
  # Retrieve refractive index for BK7 glass
113
- bk7 = UsualMaterial.BK7
113
+ bk7 = Material.BK7
114
114
  n_values = bk7.compute_refractive_index(wavelengths)
115
115
 
116
116
  # Plot the results
@@ -178,8 +178,9 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
178
178
 
179
179
  .. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
180
180
 
181
- .. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
182
- :target: https://pyoptik.readthedocs.io/en/latest/
181
+ .. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg
182
+ :target: https://pyoptik.readthedocs.io/en/latest/code.html
183
+ :alt: Documentation Status
183
184
 
184
185
  .. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
185
186
  :target: https://badge.fury.io/py/pyoptik
@@ -6,6 +6,8 @@ except ImportError:
6
6
 
7
7
 
8
8
  from .utils import build_default_library
9
- from .material import UsualMaterial
9
+ from .material import Material
10
10
  from .tabulated_class import TabulatedMaterial
11
- from .sellmeier_class import SellmeierMaterial
11
+ from .sellmeier_class import SellmeierMaterial
12
+
13
+ Material = Material()
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.4.1.post0'
16
- __version_tuple__ = version_tuple = (1, 4, 1)
15
+ __version__ = version = '1.6.0.post0'
16
+ __version_tuple__ = version_tuple = (1, 6, 0)
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- class Material:
4
+ class BaseMaterial:
5
5
  def __str__(self) -> str:
6
6
  """
7
7
  Provides an informal string representation of the Material object.
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ from typing import Union
5
+ from PyOptik.sellmeier_class import SellmeierMaterial
6
+ from PyOptik.tabulated_class import TabulatedMaterial
7
+ from PyOptik import data
8
+
9
+ class staticproperty(property):
10
+ """
11
+ A descriptor that mimics the behavior of a @property but for class-level access.
12
+
13
+ This allows a method to be accessed like a static property without the need to instantiate the class.
14
+ """
15
+ def __get__(self, owner_self, owner_cls):
16
+ return self.fget()
17
+
18
+ class Material:
19
+ """
20
+ A class representing common materials available in the PyOptik library.
21
+
22
+ This class provides easy access to a predefined list of materials, either through static properties or
23
+ a dynamic getter method. Materials are categorized into Sellmeier and Tabulated materials.
24
+ """
25
+
26
+ all = [
27
+ 'silver',
28
+ 'gold',
29
+ 'aluminium',
30
+ 'copper',
31
+ 'zinc',
32
+ 'iron',
33
+ 'argon',
34
+ 'water',
35
+ 'silicon',
36
+ 'BK7',
37
+ 'fused_silica',
38
+ 'germanium',
39
+ 'polystyren'
40
+ ]
41
+
42
+ def __getattr__(self, material_name: str) -> Union[SellmeierMaterial, TabulatedMaterial]:
43
+ """
44
+ Retrieve a material by name.
45
+
46
+ Args:
47
+ material_name (str): The name of the material to retrieve.
48
+
49
+ Returns:
50
+ Union[SellmeierMaterial, TabulatedMaterial]: An instance of the material if found.
51
+
52
+ Raises:
53
+ FileNotFoundError: If the material is not found in either the Sellmeier or Tabulated lists.
54
+ """
55
+ if material_name in data.sellmeier.material_list:
56
+ return SellmeierMaterial(material_name)
57
+
58
+ if material_name in data.tabulated.material_list:
59
+ return TabulatedMaterial(material_name)
60
+
61
+ raise FileNotFoundError(f'Material: [{material_name}] could not be found.')
@@ -9,11 +9,11 @@ import yaml
9
9
  from PyOptik.directories import sellmeier_data_path
10
10
  import itertools
11
11
  import warnings
12
- from PyOptik.base_class import Material
12
+ from PyOptik.base_class import BaseMaterial
13
13
  from MPSPlots.styles import mps
14
14
 
15
15
  @dataclass
16
- class SellmeierMaterial(Material):
16
+ class SellmeierMaterial(BaseMaterial):
17
17
  filename: str
18
18
  coefficients: numpy.ndarray = field(init=False)
19
19
  wavelength_range: Optional[Tuple[float, float]] = field(init=False)
@@ -8,12 +8,12 @@ import yaml
8
8
  from scipy.interpolate import interp1d
9
9
  import warnings
10
10
  from PyOptik.directories import tabulated_data_path
11
- from PyOptik.base_class import Material
11
+ from PyOptik.base_class import BaseMaterial
12
12
  from MPSPlots.styles import mps
13
13
  import matplotlib.pyplot as plt
14
14
 
15
15
  @dataclass
16
- class TabulatedMaterial(Material):
16
+ class TabulatedMaterial(BaseMaterial):
17
17
  filename: str
18
18
  wavelength: numpy.ndarray = field(init=False)
19
19
  n_values: numpy.ndarray = field(init=False)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyOptik
3
- Version: 1.4.1.post0
3
+ Version: 1.6.0.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
@@ -88,10 +88,10 @@ After installing PyOptik, you can easily access material properties:
88
88
 
89
89
  .. code:: python
90
90
 
91
- from PyOptik import UsualMaterial
91
+ from PyOptik import Material
92
92
 
93
93
  # Access the refractive index of BK7 glass
94
- bk7 = UsualMaterial.BK7
94
+ bk7 = Material.BK7
95
95
  n = bk7.compute_refractive_index(0.55e-6)
96
96
  print(f"Refractive index at 0.55 µm: {n}")
97
97
 
@@ -104,13 +104,13 @@ Here is a quick example demonstrating how to use PyOptik to retrieve and plot th
104
104
  .. code:: python
105
105
 
106
106
  import numpy as np
107
- from PyOptik import UsualMaterial
107
+ from PyOptik import Material
108
108
 
109
109
  # Define wavelength range
110
110
  wavelengths = np.linspace(0.3e-6, 2.5e-6, 100)
111
111
 
112
112
  # Retrieve refractive index for BK7 glass
113
- bk7 = UsualMaterial.BK7
113
+ bk7 = Material.BK7
114
114
  n_values = bk7.compute_refractive_index(wavelengths)
115
115
 
116
116
  # Plot the results
@@ -178,8 +178,9 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
178
178
 
179
179
  .. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
180
180
 
181
- .. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
182
- :target: https://pyoptik.readthedocs.io/en/latest/
181
+ .. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg
182
+ :target: https://pyoptik.readthedocs.io/en/latest/code.html
183
+ :alt: Documentation Status
183
184
 
184
185
  .. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
185
186
  :target: https://badge.fury.io/py/pyoptik
@@ -4,7 +4,8 @@ LICENSE
4
4
  README.rst
5
5
  pyproject.toml
6
6
  .github/dependabot.yml
7
- .github/workflows/coverage.yml
7
+ .github/workflows/deploy_coverage.yml
8
+ .github/workflows/deploy_documentation.yml
8
9
  .github/workflows/deploy_workflow.yml
9
10
  PyOptik/__init__.py
10
11
  PyOptik/__main__.py
@@ -53,7 +54,6 @@ PyOptik/data/tabulated/sodium.yml
53
54
  PyOptik/data/tabulated/zinc.yml
54
55
  docs/Makefile
55
56
  docs/make.bat
56
- docs/deprecated/experiment_material.py
57
57
  docs/examples/README.rst
58
58
  docs/examples/create_sellmeier_file.py
59
59
  docs/examples/create_tabulated_file.py
@@ -30,10 +30,10 @@ After installing PyOptik, you can easily access material properties:
30
30
 
31
31
  .. code:: python
32
32
 
33
- from PyOptik import UsualMaterial
33
+ from PyOptik import Material
34
34
 
35
35
  # Access the refractive index of BK7 glass
36
- bk7 = UsualMaterial.BK7
36
+ bk7 = Material.BK7
37
37
  n = bk7.compute_refractive_index(0.55e-6)
38
38
  print(f"Refractive index at 0.55 µm: {n}")
39
39
 
@@ -46,13 +46,13 @@ Here is a quick example demonstrating how to use PyOptik to retrieve and plot th
46
46
  .. code:: python
47
47
 
48
48
  import numpy as np
49
- from PyOptik import UsualMaterial
49
+ from PyOptik import Material
50
50
 
51
51
  # Define wavelength range
52
52
  wavelengths = np.linspace(0.3e-6, 2.5e-6, 100)
53
53
 
54
54
  # Retrieve refractive index for BK7 glass
55
- bk7 = UsualMaterial.BK7
55
+ bk7 = Material.BK7
56
56
  n_values = bk7.compute_refractive_index(wavelengths)
57
57
 
58
58
  # Plot the results
@@ -120,8 +120,9 @@ As of 2024, PyOptik is still under development. If you would like to collaborate
120
120
 
121
121
  .. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
122
122
 
123
- .. |docs| image:: https://readthedocs.org/projects/pyoptik/badge/?version=latest
124
- :target: https://pyoptik.readthedocs.io/en/latest/
123
+ .. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg
124
+ :target: https://pyoptik.readthedocs.io/en/latest/code.html
125
+ :alt: Documentation Status
125
126
 
126
127
  .. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
127
128
  :target: https://badge.fury.io/py/pyoptik
@@ -7,10 +7,10 @@ This module demonstrates the usage of the PyOptik library to calculate and plot
7
7
  """
8
8
 
9
9
  import numpy
10
- from PyOptik import UsualMaterial
10
+ from PyOptik import Material
11
11
 
12
12
  # Initialize the material with the Sellmeier model
13
- material = UsualMaterial.get('BK7')
13
+ material = Material.BK7
14
14
 
15
15
  # Calculate refractive index at specific wavelengths
16
16
  RI = material.compute_refractive_index(wavelength=[1310e-9, 1550e-9])
@@ -7,10 +7,10 @@ This module demonstrates the usage of the PyOptik library to calculate and plot
7
7
  """
8
8
 
9
9
  import numpy
10
- from PyOptik import UsualMaterial
10
+ from PyOptik import Material
11
11
 
12
12
  # Initialize the material with the Sellmeier model
13
- material = UsualMaterial.get('SF5')
13
+ material = Material.SF5
14
14
 
15
15
  # Calculate refractive index at specific wavelengths
16
16
  RI = material.compute_refractive_index(wavelength=[1310e-9, 1550e-9])
@@ -7,10 +7,10 @@ This module demonstrates the usage of the PyOptik library to calculate and plot
7
7
  """
8
8
 
9
9
  import numpy
10
- from PyOptik import UsualMaterial
10
+ from PyOptik import Material
11
11
 
12
12
  # Initialize the material with the Sellmeier model
13
- material = UsualMaterial.fused_silica
13
+ material = Material.fused_silica
14
14
 
15
15
  # Calculate refractive index at specific wavelengths
16
16
  RI = material.compute_refractive_index(wavelength=[1310e-9, 1550e-9])
@@ -7,10 +7,10 @@ This module demonstrates the usage of the PyOptik library to calculate and plot
7
7
  """
8
8
 
9
9
  import numpy
10
- from PyOptik import UsualMaterial
10
+ from PyOptik import Material
11
11
 
12
12
  # Initialize the material with the Sellmeier model
13
- material = UsualMaterial.silver
13
+ material = Material.silver
14
14
 
15
15
  # Calculate refractive index at specific wavelengths
16
16
  RI = material.compute_refractive_index(wavelength=[1310e-9, 1550e-9])
@@ -7,10 +7,10 @@ This module demonstrates the usage of the PyOptik library to calculate and plot
7
7
  """
8
8
 
9
9
  import numpy
10
- from PyOptik import UsualMaterial
10
+ from PyOptik import Material
11
11
 
12
12
  # Initialize the material with the Sellmeier model
13
- material = UsualMaterial.water
13
+ material = Material.water
14
14
 
15
15
  # Calculate refractive index at specific wavelengths
16
16
  RI = material.compute_refractive_index(wavelength=[800e-9, 900e-9])
@@ -0,0 +1,16 @@
1
+ import pytest
2
+ from PyOptik import Material
3
+ from PyOptik.material import SellmeierMaterial, TabulatedMaterial
4
+
5
+ @pytest.mark.parametrize('material_name', Material.all, ids=lambda name: f'Test {name}')
6
+ def test_usual_material(material_name):
7
+ """
8
+ Test each usual material defined in UsualMaterial to ensure that it can be instantiated without errors.
9
+ """
10
+ material_instance = getattr(Material, material_name)
11
+
12
+ assert isinstance(material_instance, (SellmeierMaterial, TabulatedMaterial)), f"{material_name} instantiation failed."
13
+
14
+
15
+ if __name__ == "__main__":
16
+ pytest.main([__file__])
@@ -1,41 +0,0 @@
1
- name: Deploy
2
-
3
- on:
4
- push:
5
- branches: [ "master" ]
6
- tags:
7
- - '*'
8
- pull_request:
9
- branches: [ "master" ]
10
-
11
- permissions:
12
- contents: write
13
-
14
- jobs:
15
- build_pure_python:
16
- runs-on: ubuntu-latest
17
- steps:
18
- - uses: MartinPdeS/MPSActions/build_pure_python_package@master
19
- with:
20
- python-version: '3.10'
21
-
22
- publish_documentation:
23
- if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
24
- needs: [build_pure_python]
25
- runs-on: ubuntu-latest
26
- steps:
27
- - uses: MartinPdeS/MPSActions/publish_documentation@master
28
- with:
29
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30
- package-name: PyOptik
31
- python-version: "3.10" #no documentation for python 3.7 (pickle5 not present˘)
32
-
33
- publish_wheel:
34
- if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
35
- needs: [build_pure_python, publish_documentation]
36
- runs-on: ubuntu-latest
37
- steps:
38
- - uses: MartinPdeS/MPSActions/publish_pypi@master
39
- with:
40
- python-version: "3.10"
41
- password: ${{ secrets.PYPI_API_TOKEN }}
@@ -1,129 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- from typing import Union
5
- from PyOptik.sellmeier_class import SellmeierMaterial
6
- from PyOptik.tabulated_class import TabulatedMaterial
7
- from PyOptik import data
8
-
9
- class staticproperty(property):
10
- """
11
- A descriptor that mimics the behavior of a @property but for class-level access.
12
-
13
- This allows a method to be accessed like a static property without the need to instantiate the class.
14
- """
15
- def __get__(self, owner_self, owner_cls):
16
- return self.fget()
17
-
18
- class UsualMaterial:
19
- """
20
- A class representing common materials available in the PyOptik library.
21
-
22
- This class provides easy access to a predefined list of materials, either through static properties or
23
- a dynamic getter method. Materials are categorized into Sellmeier and Tabulated materials.
24
- """
25
-
26
- all_materials = [
27
- 'silver',
28
- 'gold',
29
- 'aluminium',
30
- 'copper',
31
- 'zinc',
32
- 'iron',
33
- 'argon',
34
- 'water',
35
- 'silicon',
36
- 'BK7',
37
- 'fused_silica',
38
- 'germanium',
39
- 'polystyren'
40
- ]
41
-
42
- @staticmethod
43
- def get(material_name: str) -> Union[SellmeierMaterial, TabulatedMaterial]:
44
- """
45
- Retrieve a material by name.
46
-
47
- Args:
48
- material_name (str): The name of the material to retrieve.
49
-
50
- Returns:
51
- Union[SellmeierMaterial, TabulatedMaterial]: An instance of the material if found.
52
-
53
- Raises:
54
- FileNotFoundError: If the material is not found in either the Sellmeier or Tabulated lists.
55
- """
56
- if material_name in data.sellmeier.material_list:
57
- return SellmeierMaterial(material_name)
58
-
59
- if material_name in data.tabulated.material_list:
60
- return TabulatedMaterial(material_name)
61
-
62
- raise FileNotFoundError(f'Material: [{material_name}] could not be found.')
63
-
64
- # Static properties for each material
65
-
66
- @staticproperty
67
- def silver() -> TabulatedMaterial:
68
- """Get the TabulatedMaterial instance for silver."""
69
- return TabulatedMaterial('silver')
70
-
71
- @staticproperty
72
- def gold() -> TabulatedMaterial:
73
- """Get the TabulatedMaterial instance for gold."""
74
- return TabulatedMaterial('gold')
75
-
76
- @staticproperty
77
- def aluminium() -> TabulatedMaterial:
78
- """Get the TabulatedMaterial instance for aluminium."""
79
- return TabulatedMaterial('aluminium')
80
-
81
- @staticproperty
82
- def copper() -> TabulatedMaterial:
83
- """Get the TabulatedMaterial instance for copper."""
84
- return TabulatedMaterial('copper')
85
-
86
- @staticproperty
87
- def zinc() -> TabulatedMaterial:
88
- """Get the TabulatedMaterial instance for zinc."""
89
- return TabulatedMaterial('zinc')
90
-
91
- @staticproperty
92
- def iron() -> TabulatedMaterial:
93
- """Get the TabulatedMaterial instance for iron."""
94
- return TabulatedMaterial('iron')
95
-
96
- @staticproperty
97
- def polystyren() -> SellmeierMaterial:
98
- """Get the SellmeierMaterial instance for polystyren."""
99
- return SellmeierMaterial('polystyren')
100
-
101
- @staticproperty
102
- def argon() -> SellmeierMaterial:
103
- """Get the SellmeierMaterial instance for argon."""
104
- return SellmeierMaterial('argon')
105
-
106
- @staticproperty
107
- def water() -> SellmeierMaterial:
108
- """Get the SellmeierMaterial instance for water."""
109
- return SellmeierMaterial('water')
110
-
111
- @staticproperty
112
- def silicon() -> SellmeierMaterial:
113
- """Get the SellmeierMaterial instance for silicon."""
114
- return SellmeierMaterial('silicon')
115
-
116
- @staticproperty
117
- def BK7() -> SellmeierMaterial:
118
- """Get the SellmeierMaterial instance for BK7."""
119
- return SellmeierMaterial('BK7')
120
-
121
- @staticproperty
122
- def fused_silica() -> SellmeierMaterial:
123
- """Get the SellmeierMaterial instance for fused_silica."""
124
- return SellmeierMaterial('fused_silica')
125
-
126
- @staticproperty
127
- def germanium() -> SellmeierMaterial:
128
- """Get the SellmeierMaterial instance for germanium."""
129
- return SellmeierMaterial('germanium')