PyOptik 1.8.6.post0__tar.gz → 1.8.8.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 (160) hide show
  1. pyoptik-1.8.8.post0/.flake8 +11 -0
  2. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PKG-INFO +7 -8
  3. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/__main__.py +1 -1
  4. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/_version.py +2 -2
  5. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/directories.py +2 -0
  6. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/material/base_class.py +1 -0
  7. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/material/sellmeier_class.py +4 -3
  8. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/material/tabulated_class.py +8 -3
  9. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/material_bank.py +21 -18
  10. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/units.py +0 -5
  11. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/utils.py +0 -2
  12. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik.egg-info/PKG-INFO +7 -8
  13. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik.egg-info/SOURCES.txt +9 -7
  14. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik.egg-info/requires.txt +7 -7
  15. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.8.post0/docs/examples}/sellmeier/plot_bk7.py +1 -1
  16. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.8.post0/docs/examples}/sellmeier/plot_water.py +0 -1
  17. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.8.post0/docs/examples}/utils/build_library.py +2 -3
  18. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.8.post0/docs/examples}/utils/create_sellmeier_file.py +0 -1
  19. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/meta.yaml +0 -4
  20. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/pyproject.toml +10 -7
  21. pyoptik-1.8.8.post0/tests/__init__.py +0 -0
  22. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/tests/test_sellmeier.py +20 -3
  23. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/tests/test_tabulated.py +19 -1
  24. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/tests/test_usual_material.py +4 -1
  25. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/tests/test_utils.py +10 -1
  26. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.github/dependabot.yml +0 -0
  27. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.github/workflows/deploy_anaconda.yml +0 -0
  28. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.github/workflows/deploy_coverage.yml +0 -0
  29. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.github/workflows/deploy_documentation.yml +0 -0
  30. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.github/workflows/deploy_workflow.yml +0 -0
  31. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.gitignore +0 -0
  32. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/.readthedocs.yml +0 -0
  33. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/LICENSE +0 -0
  34. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/__init__.py +0 -0
  35. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/__init__.py +0 -0
  36. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/BAK1.yml +0 -0
  37. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/BK7.yml +0 -0
  38. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/SF5.yml +0 -0
  39. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/ZBLAN.yml +0 -0
  40. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/air.yml +0 -0
  41. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/argon.yml +0 -0
  42. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/crown.yml +0 -0
  43. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/flint.yml +0 -0
  44. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/fused_silica.yml +0 -0
  45. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/germanium.yml +0 -0
  46. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/lithium_niobate.yml +0 -0
  47. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/polystyren.yml +0 -0
  48. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/silicon.yml +0 -0
  49. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/soda_lime_glass.yml +0 -0
  50. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/sellmeier/water.yml +0 -0
  51. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/aluminium.yml +0 -0
  52. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/calcium.yml +0 -0
  53. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/copper.yml +0 -0
  54. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/gold.yml +0 -0
  55. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/iron.yml +0 -0
  56. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/nickel.yml +0 -0
  57. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/silver.yml +0 -0
  58. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/sodium.yml +0 -0
  59. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/data/tabulated/zinc.yml +0 -0
  60. {pyoptik-1.8.6.post0/tests → pyoptik-1.8.8.post0/PyOptik/libraries}/__init__.py +0 -0
  61. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/classics.yml +0 -0
  62. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/dielectrics.yml +0 -0
  63. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/metals.yml +0 -0
  64. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/minimal.yml +0 -0
  65. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/organics.yml +0 -0
  66. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/others.yml +0 -0
  67. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.8.post0/PyOptik/libraries}/polymers.yml +0 -0
  68. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik/material/__init__.py +0 -0
  69. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik.egg-info/dependency_links.txt +0 -0
  70. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/PyOptik.egg-info/top_level.txt +0 -0
  71. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/README.rst +0 -0
  72. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/development/dev_0.py +0 -0
  73. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/Makefile +0 -0
  74. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/README.rst +0 -0
  75. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/sellmeier/README.rst +0 -0
  76. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/sellmeier/plot_silica.py +0 -0
  77. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/tabulated/README.rst +0 -0
  78. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/tabulated/plot_sf5.py +0 -0
  79. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/tabulated/plot_silver.py +0 -0
  80. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/utils/README.rst +0 -0
  81. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/utils/create_tabulated_file.py +0 -0
  82. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/examples/utils/download_yml_file.py +0 -0
  83. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/images/example_bk7.png +0 -0
  84. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/images/logo.png +0 -0
  85. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/make.bat +0 -0
  86. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/_static/default.css +0 -0
  87. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/code.rst +0 -0
  88. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/conf.py +0 -0
  89. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/index.rst +0 -0
  90. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_bk7_001.png +0 -0
  91. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_silica_001.png +0 -0
  92. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_water_001.png +0 -0
  93. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_bk7_thumb.png +0 -0
  94. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_silica_thumb.png +0 -0
  95. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_water_thumb.png +0 -0
  96. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/index.rst +0 -0
  97. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_bk7.ipynb +0 -0
  98. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.8.post0/docs/source/gallery}/sellmeier/plot_bk7.py +0 -0
  99. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_bk7.py.md5 +0 -0
  100. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_bk7.rst +0 -0
  101. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_bk7_codeobj.pickle +0 -0
  102. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_silica.ipynb +0 -0
  103. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_silica.py +0 -0
  104. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_silica.py.md5 +0 -0
  105. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_silica.rst +0 -0
  106. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_silica_codeobj.pickle +0 -0
  107. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_water.ipynb +0 -0
  108. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.8.post0/docs/source/gallery}/sellmeier/plot_water.py +0 -0
  109. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_water.py.md5 +0 -0
  110. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_water.rst +0 -0
  111. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/plot_water_codeobj.pickle +0 -0
  112. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/sellmeier/sg_execution_times.rst +0 -0
  113. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_sf5_001.png +0 -0
  114. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_silver_001.png +0 -0
  115. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_sf5_thumb.png +0 -0
  116. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_silver_thumb.png +0 -0
  117. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/index.rst +0 -0
  118. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_sf5.ipynb +0 -0
  119. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_sf5.py +0 -0
  120. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_sf5.py.md5 +0 -0
  121. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_sf5.rst +0 -0
  122. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_sf5_codeobj.pickle +0 -0
  123. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_silver.ipynb +0 -0
  124. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_silver.py +0 -0
  125. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_silver.py.md5 +0 -0
  126. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_silver.rst +0 -0
  127. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/plot_silver_codeobj.pickle +0 -0
  128. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/tabulated/sg_execution_times.rst +0 -0
  129. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/build_library.ipynb +0 -0
  130. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.8.post0/docs/source/gallery}/utils/build_library.py +0 -0
  131. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/build_library.py.md5 +0 -0
  132. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/build_library.rst +0 -0
  133. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/build_library_codeobj.pickle +0 -0
  134. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_sellmeier_file.ipynb +0 -0
  135. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.8.post0/docs/source/gallery}/utils/create_sellmeier_file.py +0 -0
  136. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_sellmeier_file.py.md5 +0 -0
  137. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_sellmeier_file.rst +0 -0
  138. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_sellmeier_file_codeobj.pickle +0 -0
  139. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_tabulated_file.ipynb +0 -0
  140. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_tabulated_file.py +0 -0
  141. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_tabulated_file.py.md5 +0 -0
  142. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_tabulated_file.rst +0 -0
  143. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/create_tabulated_file_codeobj.pickle +0 -0
  144. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/download_yml_file.ipynb +0 -0
  145. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/download_yml_file.py +0 -0
  146. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/download_yml_file.py.md5 +0 -0
  147. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/download_yml_file.rst +0 -0
  148. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/download_yml_file_codeobj.pickle +0 -0
  149. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/sphx_glr_create_sellmeier_file_001.png +0 -0
  150. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/sphx_glr_create_tabulated_file_001.png +0 -0
  151. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/sphx_glr_download_yml_file_001.png +0 -0
  152. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_build_library_thumb.png +0 -0
  153. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_sellmeier_file_thumb.png +0 -0
  154. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_tabulated_file_thumb.png +0 -0
  155. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_download_yml_file_thumb.png +0 -0
  156. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/index.rst +0 -0
  157. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/gallery/utils/sg_execution_times.rst +0 -0
  158. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/index.rst +0 -0
  159. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/docs/source/references.rst +0 -0
  160. {pyoptik-1.8.6.post0 → pyoptik-1.8.8.post0}/setup.cfg +0 -0
@@ -0,0 +1,11 @@
1
+ [flake8]
2
+ max-line-length = 300
3
+ exclude =
4
+ .git
5
+ docs/build
6
+ docs/source/gallery
7
+ development
8
+
9
+ count = true
10
+ per-file-ignores =
11
+ __init__.py: F403, F401
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyOptik
3
- Version: 1.8.6.post0
3
+ Version: 1.8.8.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
@@ -45,19 +45,18 @@ Requires-Dist: pyyaml~=6.0
45
45
  Requires-Dist: MPSPlots~=1.5.1
46
46
  Requires-Dist: tabulate~=0.9
47
47
  Provides-Extra: testing
48
- Requires-Dist: pytest>=0.6; extra == "testing"
49
- Requires-Dist: pytest-cov>=2.0; extra == "testing"
50
- Requires-Dist: pytest-json-report==1.5.0; extra == "testing"
51
- Requires-Dist: mypy>=0.910; extra == "testing"
52
- Requires-Dist: flake8>=3.9; extra == "testing"
53
- Requires-Dist: tox>=3.24; extra == "testing"
54
- Requires-Dist: coverage==6.5.0; extra == "testing"
48
+ Requires-Dist: pytest<9.0,>=7.4; extra == "testing"
49
+ Requires-Dist: pytest-cov<6,>=2; extra == "testing"
50
+ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
51
+ Requires-Dist: coverage~=7.6; extra == "testing"
55
52
  Provides-Extra: documentation
56
53
  Requires-Dist: numpydoc==1.6.0; extra == "documentation"
57
54
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
58
55
  Requires-Dist: sphinx-gallery==0.15.0; extra == "documentation"
59
56
  Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "documentation"
60
57
  Requires-Dist: pydata-sphinx-theme==0.14.1; extra == "documentation"
58
+ Provides-Extra: dev
59
+ Requires-Dist: flake8==7.1.1; extra == "dev"
61
60
 
62
61
  PyOptik
63
62
  =======
@@ -4,4 +4,4 @@ import logging
4
4
 
5
5
  if __name__ == '__main__':
6
6
  logging.info('Building material library')
7
- MaterialBank.build_library('classics')
7
+ MaterialBank.build_library('classics')
@@ -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.6.post0'
16
- __version_tuple__ = version_tuple = (1, 8, 6)
15
+ __version__ = version = '1.8.8.post0'
16
+ __version_tuple__ = version_tuple = (1, 8, 8)
@@ -32,6 +32,8 @@ tabulated_data_path = root_path.joinpath('data/tabulated')
32
32
 
33
33
  data_path = root_path.joinpath('data')
34
34
 
35
+ libraries_path = root_path.joinpath('libraries')
36
+
35
37
 
36
38
  if __name__ == '__main__':
37
39
  for path_name in __all__:
@@ -6,6 +6,7 @@ from PyOptik.units import Quantity, meter
6
6
  import numpy
7
7
  import warnings
8
8
 
9
+
9
10
  class BaseMaterial:
10
11
  def __str__(self) -> str:
11
12
  """
@@ -18,6 +18,7 @@ config_dict = ConfigDict(
18
18
  arbitrary_types_allowed=True
19
19
  )
20
20
 
21
+
21
22
  @dataclass(config=config_dict, slots=True)
22
23
  class SellmeierMaterial(BaseMaterial):
23
24
  """
@@ -61,7 +62,6 @@ class SellmeierMaterial(BaseMaterial):
61
62
  with file_path.with_suffix('.yml').open('r') as file:
62
63
  parsed_yaml = yaml.safe_load(file)
63
64
 
64
-
65
65
  # Extract the formula type
66
66
  self.formula_type = int(parsed_yaml['DATA'][0]['type'].split()[-1])
67
67
 
@@ -104,7 +104,8 @@ class SellmeierMaterial(BaseMaterial):
104
104
  ValueError
105
105
  If the wavelength is outside the specified range or if an unsupported formula type is encountered.
106
106
  """
107
- is_scalar = numpy.isscalar(wavelength)
107
+ return_as_scalar = numpy.isscalar(wavelength.magnitude)
108
+
108
109
  wavelength = numpy.atleast_1d(wavelength)
109
110
  self._check_wavelength(wavelength)
110
111
 
@@ -137,7 +138,7 @@ class SellmeierMaterial(BaseMaterial):
137
138
  case _:
138
139
  raise ValueError(f"Unsupported formula type: {self.formula_type}")
139
140
 
140
- return n[0] if is_scalar else n
141
+ return n[0] if return_as_scalar else n
141
142
 
142
143
  @BaseMaterial.ensure_units
143
144
  def plot(self, wavelength: Optional[Quantity] = None) -> None:
@@ -72,7 +72,6 @@ class TabulatedMaterial(BaseMaterial):
72
72
  except (KeyError, IndexError, ValueError):
73
73
  raise ValueError(f"Invalid or missing data in YAML file {file_path}")
74
74
 
75
-
76
75
  self.wavelength_bound = [self.wavelength.min().magnitude, self.wavelength.max().magnitude] * micrometer
77
76
 
78
77
  # Extract reference
@@ -98,12 +97,18 @@ class TabulatedMaterial(BaseMaterial):
98
97
  ValueError
99
98
  If the wavelength is outside the tabulated range.
100
99
  """
100
+ return_as_scalar = numpy.isscalar(wavelength.magnitude)
101
+
102
+ wavelength = numpy.atleast_1d(wavelength)
103
+
101
104
  self._check_wavelength(wavelength)
102
105
 
103
106
  n_interp = numpy.interp(wavelength.to(meter).magnitude, self.wavelength.to(meter).magnitude, self.n_values)
104
107
  k_interp = numpy.interp(wavelength.to(meter).magnitude, self.wavelength.to(meter).magnitude, self.k_values)
105
108
 
106
- return n_interp + 1j * k_interp
109
+ index = n_interp + 1j * k_interp
110
+
111
+ return index[0] if return_as_scalar else index
107
112
 
108
113
  @BaseMaterial.ensure_units
109
114
  def plot(self, wavelength: Optional[Quantity] = None) -> None:
@@ -161,4 +166,4 @@ class TabulatedMaterial(BaseMaterial):
161
166
  f"\nTabulatedMaterial: '{self.filename}',\n"
162
167
  f"wavelength_range: [{self.wavelength.min()} µm, {self.wavelength.max()} µm],\n"
163
168
  f"reference: '{self.reference}')"
164
- )
169
+ )
@@ -9,17 +9,19 @@ import logging
9
9
  from pathlib import Path
10
10
  from typing import List, Union, Optional, Tuple
11
11
  from enum import Enum
12
- from PyOptik.directories import data_path
12
+ from PyOptik.directories import data_path, libraries_path
13
13
  from PyOptik.material.sellmeier_class import SellmeierMaterial
14
14
  from PyOptik.material.tabulated_class import TabulatedMaterial
15
15
  from PyOptik.utils import download_yml_file
16
16
  from tabulate import tabulate
17
17
  from dataclasses import dataclass
18
18
 
19
+
19
20
  class MaterialType(Enum):
20
21
  SELLMEIER = "sellmeier"
21
22
  TABULATED = "tabulated"
22
23
 
24
+
23
25
  @dataclass(frozen=True, slots=True)
24
26
  class _MaterialBank():
25
27
  """
@@ -45,7 +47,7 @@ class _MaterialBank():
45
47
 
46
48
  To add a new material to the Sellmeier bank:
47
49
 
48
- >>> material.add_sellmeier_to_bank("new_material.yml", "http://example.com/material.yml")
50
+ >>> material.add_sellmeier_to_bank("new_material.yml", "https://refractiveindex.info/database/data-nk/main/SiO2/Malitson.yml")
49
51
 
50
52
  To remove a material from the bank:
51
53
 
@@ -337,7 +339,7 @@ class _MaterialBank():
337
339
  remove_previous : bool
338
340
  If True, removes existing files before downloading new ones.
339
341
  """
340
- AVAILABLE_LIBRARIES = {'classics', 'glasses', 'metals', 'organics', 'others', 'minimal'}
342
+ AVAILABLE_LIBRARIES = [os.path.splitext(f)[0] for f in os.listdir(libraries_path) if f.endswith('.yml')]
341
343
 
342
344
  libraries_to_download = AVAILABLE_LIBRARIES if library == 'all' else set(numpy.atleast_1d(library))
343
345
 
@@ -346,12 +348,12 @@ class _MaterialBank():
346
348
 
347
349
  # Remove previous files if the flag is set
348
350
  if remove_previous:
349
- logging.info(f"Removing previous files from the library.")
351
+ logging.info("Removing previous files from the library.")
350
352
  self.clean_data_files(regex=".*", location="sellmeier") # Remove all sellmeier files
351
353
  self.clean_data_files(regex=".*", location="tabulated") # Remove all tabulated files
352
354
 
353
355
  for lib in libraries_to_download:
354
- file_path = data_path / lib
356
+ file_path = libraries_path / lib
355
357
  with open(file_path.with_suffix('.yml'), 'r') as file:
356
358
  data_dict = yaml.safe_load(file)
357
359
 
@@ -366,14 +368,14 @@ class _MaterialBank():
366
368
  download_yml_file(url=url, filename=element_name, location=data_path / 'tabulated')
367
369
 
368
370
  def create_sellmeier_file(
369
- self,
370
- filename: str,
371
- formula_type: int,
372
- coefficients: List[float],
373
- wavelength_range: Optional[Tuple[float, float]] = None,
374
- reference: Optional[str] = None,
375
- comments: Optional[str] = None,
376
- specs: Optional[dict] = None) -> None:
371
+ self,
372
+ filename: str,
373
+ formula_type: int,
374
+ coefficients: List[float],
375
+ wavelength_range: Optional[Tuple[float, float]] = None,
376
+ reference: Optional[str] = None,
377
+ comments: Optional[str] = None,
378
+ specs: Optional[dict] = None) -> None:
377
379
  """
378
380
  Creates a YAML file with custom Sellmeier coefficients in the correct format.
379
381
 
@@ -427,11 +429,11 @@ class _MaterialBank():
427
429
  logging.info(f"Sellmeier data saved to {file_path}")
428
430
 
429
431
  def create_tabulated_file(
430
- self,
431
- filename: str,
432
- data: List[Tuple[float, float, float]],
433
- reference: Optional[str] = None,
434
- comments: Optional[str] = None) -> None:
432
+ self,
433
+ filename: str,
434
+ data: List[Tuple[float, float, float]],
435
+ reference: Optional[str] = None,
436
+ comments: Optional[str] = None) -> None:
435
437
  """
436
438
  Creates a YAML file with tabulated nk data in the correct format.
437
439
 
@@ -471,4 +473,5 @@ class _MaterialBank():
471
473
 
472
474
  logging.info(f"Tabulated nk data saved to {file_path}")
473
475
 
476
+
474
477
  MaterialBank = _MaterialBank()
@@ -53,9 +53,4 @@ def initialize_registry(ureg: Optional[pint.UnitRegistry] = None) -> None:
53
53
  globals()['ureg'] = ureg
54
54
 
55
55
 
56
-
57
56
  initialize_registry(ureg)
58
-
59
-
60
-
61
-
@@ -34,5 +34,3 @@ def download_yml_file(url: str, filename: str, location: str) -> None:
34
34
  print(f"HTTP error occurred: {http_err}")
35
35
  except Exception as err:
36
36
  print(f"An error occurred: {err}")
37
-
38
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyOptik
3
- Version: 1.8.6.post0
3
+ Version: 1.8.8.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
@@ -45,19 +45,18 @@ Requires-Dist: pyyaml~=6.0
45
45
  Requires-Dist: MPSPlots~=1.5.1
46
46
  Requires-Dist: tabulate~=0.9
47
47
  Provides-Extra: testing
48
- Requires-Dist: pytest>=0.6; extra == "testing"
49
- Requires-Dist: pytest-cov>=2.0; extra == "testing"
50
- Requires-Dist: pytest-json-report==1.5.0; extra == "testing"
51
- Requires-Dist: mypy>=0.910; extra == "testing"
52
- Requires-Dist: flake8>=3.9; extra == "testing"
53
- Requires-Dist: tox>=3.24; extra == "testing"
54
- Requires-Dist: coverage==6.5.0; extra == "testing"
48
+ Requires-Dist: pytest<9.0,>=7.4; extra == "testing"
49
+ Requires-Dist: pytest-cov<6,>=2; extra == "testing"
50
+ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
51
+ Requires-Dist: coverage~=7.6; extra == "testing"
55
52
  Provides-Extra: documentation
56
53
  Requires-Dist: numpydoc==1.6.0; extra == "documentation"
57
54
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
58
55
  Requires-Dist: sphinx-gallery==0.15.0; extra == "documentation"
59
56
  Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "documentation"
60
57
  Requires-Dist: pydata-sphinx-theme==0.14.1; extra == "documentation"
58
+ Provides-Extra: dev
59
+ Requires-Dist: flake8==7.1.1; extra == "dev"
61
60
 
62
61
  PyOptik
63
62
  =======
@@ -1,3 +1,4 @@
1
+ .flake8
1
2
  .gitignore
2
3
  .readthedocs.yml
3
4
  LICENSE
@@ -22,13 +23,6 @@ PyOptik.egg-info/dependency_links.txt
22
23
  PyOptik.egg-info/requires.txt
23
24
  PyOptik.egg-info/top_level.txt
24
25
  PyOptik/data/__init__.py
25
- PyOptik/data/classics.yml
26
- PyOptik/data/dielectrics.yml
27
- PyOptik/data/metals.yml
28
- PyOptik/data/minimal.yml
29
- PyOptik/data/organics.yml
30
- PyOptik/data/others.yml
31
- PyOptik/data/polymers.yml
32
26
  PyOptik/data/sellmeier/BAK1.yml
33
27
  PyOptik/data/sellmeier/BK7.yml
34
28
  PyOptik/data/sellmeier/SF5.yml
@@ -53,6 +47,14 @@ PyOptik/data/tabulated/nickel.yml
53
47
  PyOptik/data/tabulated/silver.yml
54
48
  PyOptik/data/tabulated/sodium.yml
55
49
  PyOptik/data/tabulated/zinc.yml
50
+ PyOptik/libraries/__init__.py
51
+ PyOptik/libraries/classics.yml
52
+ PyOptik/libraries/dielectrics.yml
53
+ PyOptik/libraries/metals.yml
54
+ PyOptik/libraries/minimal.yml
55
+ PyOptik/libraries/organics.yml
56
+ PyOptik/libraries/others.yml
57
+ PyOptik/libraries/polymers.yml
56
58
  PyOptik/material/__init__.py
57
59
  PyOptik/material/base_class.py
58
60
  PyOptik/material/sellmeier_class.py
@@ -7,6 +7,9 @@ pyyaml~=6.0
7
7
  MPSPlots~=1.5.1
8
8
  tabulate~=0.9
9
9
 
10
+ [dev]
11
+ flake8==7.1.1
12
+
10
13
  [documentation]
11
14
  numpydoc==1.6.0
12
15
  sphinx>=5.1.1
@@ -15,10 +18,7 @@ sphinx-rtd-theme==2.0.0
15
18
  pydata-sphinx-theme==0.14.1
16
19
 
17
20
  [testing]
18
- pytest>=0.6
19
- pytest-cov>=2.0
20
- pytest-json-report==1.5.0
21
- mypy>=0.910
22
- flake8>=3.9
23
- tox>=3.24
24
- coverage==6.5.0
21
+ pytest<9.0,>=7.4
22
+ pytest-cov<6,>=2
23
+ pytest-json-report~=1.5
24
+ coverage~=7.6
@@ -20,4 +20,4 @@ RI = material.compute_refractive_index(wavelength=[1310, 1550] * nanometer)
20
20
  # Display calculated refractive indices at sample wavelengths
21
21
  material.plot(
22
22
  wavelength=numpy.linspace(300, 1500, 300) * nanometer
23
- )
23
+ )
@@ -20,4 +20,3 @@ RI = material.compute_refractive_index(wavelength=[800e-9, 900e-9])
20
20
  material.plot(
21
21
  wavelength=numpy.linspace(300e-9, 1000e-9, 300)
22
22
  )
23
-
@@ -23,9 +23,8 @@ The available libraries are:
23
23
  # Import necessary modules
24
24
  from PyOptik import MaterialBank
25
25
 
26
- # Build the 'others' material library and remove previously downloaded files
27
- MaterialBank.build_library('glasses', remove_previous=True)
26
+ # Build the 'classics' material library and remove previously downloaded files
27
+ MaterialBank.build_library('classics', remove_previous=True)
28
28
 
29
29
  # Print all the available materials (Sellmeier and Tabulated)
30
30
  MaterialBank.print_available()
31
-
@@ -8,7 +8,6 @@ This example demonstrates how to create a custom Sellmeier YAML file using the
8
8
 
9
9
  # %%
10
10
  from PyOptik.directories import sellmeier_data_path
11
- from PyOptik import SellmeierMaterial
12
11
  from PyOptik import MaterialBank
13
12
 
14
13
  # Define the file properties
@@ -50,13 +50,9 @@ test:
50
50
  imports:
51
51
  - PyOptik
52
52
  requires:
53
- - pint ~= 0.24
54
53
  - pytest>=0.6
55
54
  - pytest-cov>=2.0
56
55
  - pytest-json-report==1.5.0
57
- - mypy>=0.910
58
- - flake8>=3.9
59
- - tox>=3.24
60
56
  - coverage==7.6.1
61
57
  commands:
62
58
  - python -m pytest
@@ -45,15 +45,13 @@ local_scheme = "no-local-version"
45
45
 
46
46
  [project.optional-dependencies]
47
47
  testing = [
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"
48
+ "pytest >=7.4,<9.0",
49
+ "pytest-cov >=2,<6",
50
+ "pytest-json-report ~=1.5",
51
+ "coverage ~=7.6"
55
52
  ]
56
53
 
54
+
57
55
  documentation = [
58
56
  "numpydoc ==1.6.0",
59
57
  "sphinx >=5.1.1",
@@ -62,6 +60,11 @@ documentation = [
62
60
  "pydata-sphinx-theme ==0.14.1",
63
61
  ]
64
62
 
63
+ dev = [
64
+ "flake8 ==7.1.1",
65
+ ]
66
+
67
+
65
68
  [tool.pytest.ini_options]
66
69
  python_functions = "test*"
67
70
  minversion = "6.0"
File without changes
@@ -9,7 +9,7 @@ from PyOptik import MaterialBank
9
9
  import matplotlib.pyplot as plt
10
10
  from PyOptik.units import meter, micrometer, Quantity
11
11
 
12
- MaterialBank.build_library('minimal', remove_previous=True)
12
+ # MaterialBank.build_library('minimal', remove_previous=True)
13
13
 
14
14
  material_list = MaterialBank.sellmeier
15
15
 
@@ -99,7 +99,7 @@ def test_compute_refractive_index():
99
99
  material = Material('water')
100
100
 
101
101
  # Test single wavelength input
102
- wavelength = 500e-9 * meter
102
+ wavelength = [800e-9, 500e-9] * meter
103
103
  refractive_index = material.compute_refractive_index(wavelength)
104
104
  assert isinstance(refractive_index, np.ndarray)
105
105
 
@@ -112,10 +112,27 @@ def test_compute_refractive_index():
112
112
  assert refractive_indices.shape == wavelength.shape
113
113
 
114
114
 
115
+ def test_compute_refractive_index_inputs():
116
+ """Test computation of refractive index for given wavelengths."""
117
+ material = Material('water')
118
+
119
+ # Test single wavelength input
120
+ wavelength = 500e-9
121
+ refractive_index = material.compute_refractive_index(wavelength)
122
+
123
+ assert np.isscalar(refractive_index), f"Refractive index [{refractive_index}] should return scalar value when wavelength [{wavelength}] input is scalar"
124
+
125
+ wavelength = [500e-9, 800e-9] * meter
126
+ refractive_index = material.compute_refractive_index(wavelength)
127
+
128
+ assert isinstance(refractive_index, np.ndarray), f"Refractive index [{refractive_index}] should return an array when wavelength [{wavelength}] input is an array"
129
+
130
+
115
131
  def test_invalid_formula_type():
116
132
  """Test handling of unsupported material types."""
117
133
  with pytest.raises(FileNotFoundError):
118
- material = Material('invalid_material')
134
+ Material('invalid_material')
135
+
119
136
 
120
137
  @pytest.mark.parametrize('material', material_list, ids=material_list)
121
138
  @patch("matplotlib.pyplot.show")
@@ -9,10 +9,12 @@ from PyOptik.units import Quantity, micrometer, meter
9
9
  import matplotlib.pyplot as plt
10
10
  from PyOptik import MaterialBank
11
11
 
12
- MaterialBank.build_library('minimal', remove_previous=True)
12
+
13
+ # MaterialBank.build_library('minimal', remove_previous=True)
13
14
 
14
15
  material_list = MaterialBank.tabulated
15
16
 
17
+
16
18
  def test_init_material():
17
19
  """Test initialization of TabulatedMaterial."""
18
20
  material = TabulatedMaterial('zinc')
@@ -75,6 +77,22 @@ def test_compute_refractive_index():
75
77
  assert refractive_indices.shape == wavelengths.shape
76
78
 
77
79
 
80
+ def test_compute_refractive_index_inputs():
81
+ """Test computation of refractive index for given wavelengths."""
82
+ material = TabulatedMaterial('zinc')
83
+
84
+ # Test single wavelength input
85
+ wavelength = 500e-9
86
+ refractive_index = material.compute_refractive_index(wavelength)
87
+
88
+ assert np.isscalar(refractive_index), f"Refractive index [{refractive_index}] should return scalar value when wavelength [{wavelength}] input is scalar"
89
+
90
+ wavelength = [500e-9, 800e-9] * meter
91
+ refractive_index = material.compute_refractive_index(wavelength)
92
+
93
+ assert isinstance(refractive_index, np.ndarray), f"Refractive index [{refractive_index}] should return an array when wavelength [{wavelength}] input is an array"
94
+
95
+
78
96
  @patch("matplotlib.pyplot.show")
79
97
  def test_plot(mock_show):
80
98
  """Test plotting method of TabulatedMaterial."""
@@ -2,7 +2,9 @@ import pytest
2
2
  from PyOptik import MaterialBank
3
3
  from PyOptik.material import SellmeierMaterial, TabulatedMaterial
4
4
 
5
- MaterialBank.build_library('minimal', remove_previous=True)
5
+
6
+ # MaterialBank.build_library('minimal', remove_previous=True)
7
+
6
8
 
7
9
  @pytest.mark.parametrize('material_name', MaterialBank.all, ids=lambda name: f'{name}')
8
10
  def test_usual_material(material_name):
@@ -20,5 +22,6 @@ def test_fail_wrong_clean():
20
22
  with pytest.raises(ValueError):
21
23
  MaterialBank.clean_data_files(regex='test*', location='invalid')
22
24
 
25
+
23
26
  if __name__ == "__main__":
24
27
  pytest.main(["-W error", __file__])
@@ -6,6 +6,9 @@ from PyOptik import MaterialBank
6
6
  from PyOptik.directories import tabulated_data_path, sellmeier_data_path
7
7
  from PyOptik.utils import download_yml_file
8
8
 
9
+ # MaterialBank.build_library('minimal', remove_previous=True)
10
+
11
+
9
12
  def test_main():
10
13
  import subprocess
11
14
  subprocess.run(["python", "-m", "PyOptik"])
@@ -28,6 +31,7 @@ def test_download_yml_files():
28
31
  location=sellmeier_data_path
29
32
  )
30
33
 
34
+
31
35
  def test_add_custom():
32
36
  MaterialBank.add_tabulated_to_bank(
33
37
  filename='test_tabulated',
@@ -39,6 +43,7 @@ def test_add_custom():
39
43
  url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml',
40
44
  )
41
45
 
46
+
42
47
  def test_build_library():
43
48
  """
44
49
  Test the creation of the default library. Ensures that the default library
@@ -46,6 +51,7 @@ def test_build_library():
46
51
  """
47
52
  MaterialBank.build_library('minimal')
48
53
 
54
+
49
55
  def test_remove_item():
50
56
  """
51
57
  Test the removal of an element from a library. Ensures that an element can
@@ -78,7 +84,6 @@ def test_remove_item():
78
84
 
79
85
  MaterialBank.clean_data_files(regex='test*', location='sellmeier')
80
86
 
81
-
82
87
  download_yml_file(
83
88
  filename='test_tabulated',
84
89
  url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml',
@@ -87,6 +92,7 @@ def test_remove_item():
87
92
 
88
93
  MaterialBank.clean_data_files(regex='test*', location='tabulated')
89
94
 
95
+
90
96
  def test_create_custom_sellmeier_file():
91
97
  """
92
98
  Test the creation of a custom Sellmeier YAML file. Ensures that the file
@@ -104,6 +110,7 @@ def test_create_custom_sellmeier_file():
104
110
 
105
111
  MaterialBank.test_sellmeier_file.compute_refractive_index(1.1e-6)
106
112
 
113
+
107
114
  def test_fail_with_wrong_formula_type():
108
115
  """
109
116
  Test the creation of a custom Sellmeier YAML file. Ensures that the file
@@ -120,6 +127,7 @@ def test_fail_with_wrong_formula_type():
120
127
 
121
128
  MaterialBank.test_sellmeier_file.compute_refractive_index(1.1e-6)
122
129
 
130
+
123
131
  def test_create_custom_tabulated_file():
124
132
  """
125
133
  Test the creation of a custom tabulated YAML file. Ensures that the file
@@ -136,5 +144,6 @@ def test_create_custom_tabulated_file():
136
144
  comments="Room temperature"
137
145
  )
138
146
 
147
+
139
148
  if __name__ == "__main__":
140
149
  pytest.main(["-W error", __file__])
File without changes
File without changes
File without changes
File without changes