PyOptik 1.8.6.post0__tar.gz → 1.8.7.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.7.post0/.flake8 +11 -0
  2. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PKG-INFO +6 -8
  3. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/__main__.py +1 -1
  4. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/_version.py +2 -2
  5. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/directories.py +2 -0
  6. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/material/base_class.py +1 -0
  7. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/material/tabulated_class.py +1 -2
  8. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/material_bank.py +21 -18
  9. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/units.py +0 -5
  10. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/utils.py +0 -2
  11. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik.egg-info/PKG-INFO +6 -8
  12. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik.egg-info/SOURCES.txt +9 -7
  13. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik.egg-info/requires.txt +5 -7
  14. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.7.post0/docs/examples}/sellmeier/plot_bk7.py +1 -1
  15. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.7.post0/docs/examples}/sellmeier/plot_water.py +0 -1
  16. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.7.post0/docs/examples}/utils/build_library.py +2 -3
  17. {pyoptik-1.8.6.post0/docs/source/gallery → pyoptik-1.8.7.post0/docs/examples}/utils/create_sellmeier_file.py +0 -1
  18. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/pyproject.toml +6 -7
  19. pyoptik-1.8.7.post0/tests/__init__.py +0 -0
  20. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/tests/test_sellmeier.py +3 -2
  21. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/tests/test_tabulated.py +3 -1
  22. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/tests/test_usual_material.py +4 -1
  23. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/tests/test_utils.py +10 -1
  24. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.github/dependabot.yml +0 -0
  25. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.github/workflows/deploy_anaconda.yml +0 -0
  26. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.github/workflows/deploy_coverage.yml +0 -0
  27. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.github/workflows/deploy_documentation.yml +0 -0
  28. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.github/workflows/deploy_workflow.yml +0 -0
  29. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.gitignore +0 -0
  30. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/.readthedocs.yml +0 -0
  31. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/LICENSE +0 -0
  32. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/__init__.py +0 -0
  33. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/__init__.py +0 -0
  34. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/BAK1.yml +0 -0
  35. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/BK7.yml +0 -0
  36. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/SF5.yml +0 -0
  37. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/ZBLAN.yml +0 -0
  38. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/air.yml +0 -0
  39. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/argon.yml +0 -0
  40. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/crown.yml +0 -0
  41. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/flint.yml +0 -0
  42. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/fused_silica.yml +0 -0
  43. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/germanium.yml +0 -0
  44. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/lithium_niobate.yml +0 -0
  45. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/polystyren.yml +0 -0
  46. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/silicon.yml +0 -0
  47. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/soda_lime_glass.yml +0 -0
  48. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/sellmeier/water.yml +0 -0
  49. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/aluminium.yml +0 -0
  50. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/calcium.yml +0 -0
  51. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/copper.yml +0 -0
  52. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/gold.yml +0 -0
  53. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/iron.yml +0 -0
  54. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/nickel.yml +0 -0
  55. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/silver.yml +0 -0
  56. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/sodium.yml +0 -0
  57. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/data/tabulated/zinc.yml +0 -0
  58. {pyoptik-1.8.6.post0/tests → pyoptik-1.8.7.post0/PyOptik/libraries}/__init__.py +0 -0
  59. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/classics.yml +0 -0
  60. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/dielectrics.yml +0 -0
  61. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/metals.yml +0 -0
  62. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/minimal.yml +0 -0
  63. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/organics.yml +0 -0
  64. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/others.yml +0 -0
  65. {pyoptik-1.8.6.post0/PyOptik/data → pyoptik-1.8.7.post0/PyOptik/libraries}/polymers.yml +0 -0
  66. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/material/__init__.py +0 -0
  67. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik/material/sellmeier_class.py +1 -1
  68. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik.egg-info/dependency_links.txt +0 -0
  69. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/PyOptik.egg-info/top_level.txt +0 -0
  70. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/README.rst +0 -0
  71. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/development/dev_0.py +0 -0
  72. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/Makefile +0 -0
  73. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/README.rst +0 -0
  74. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/sellmeier/README.rst +0 -0
  75. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/sellmeier/plot_silica.py +0 -0
  76. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/tabulated/README.rst +0 -0
  77. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/tabulated/plot_sf5.py +0 -0
  78. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/tabulated/plot_silver.py +0 -0
  79. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/utils/README.rst +0 -0
  80. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/utils/create_tabulated_file.py +0 -0
  81. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/examples/utils/download_yml_file.py +0 -0
  82. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/images/example_bk7.png +0 -0
  83. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/images/logo.png +0 -0
  84. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/make.bat +0 -0
  85. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/_static/default.css +0 -0
  86. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/code.rst +0 -0
  87. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/conf.py +0 -0
  88. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/index.rst +0 -0
  89. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_bk7_001.png +0 -0
  90. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_silica_001.png +0 -0
  91. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/sphx_glr_plot_water_001.png +0 -0
  92. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_bk7_thumb.png +0 -0
  93. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_silica_thumb.png +0 -0
  94. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/images/thumb/sphx_glr_plot_water_thumb.png +0 -0
  95. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/index.rst +0 -0
  96. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_bk7.ipynb +0 -0
  97. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.7.post0/docs/source/gallery}/sellmeier/plot_bk7.py +0 -0
  98. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_bk7.py.md5 +0 -0
  99. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_bk7.rst +0 -0
  100. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_bk7_codeobj.pickle +0 -0
  101. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_silica.ipynb +0 -0
  102. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_silica.py +0 -0
  103. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_silica.py.md5 +0 -0
  104. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_silica.rst +0 -0
  105. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_silica_codeobj.pickle +0 -0
  106. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_water.ipynb +0 -0
  107. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.7.post0/docs/source/gallery}/sellmeier/plot_water.py +0 -0
  108. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_water.py.md5 +0 -0
  109. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_water.rst +0 -0
  110. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/plot_water_codeobj.pickle +0 -0
  111. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/sellmeier/sg_execution_times.rst +0 -0
  112. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_sf5_001.png +0 -0
  113. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/images/sphx_glr_plot_silver_001.png +0 -0
  114. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_sf5_thumb.png +0 -0
  115. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/images/thumb/sphx_glr_plot_silver_thumb.png +0 -0
  116. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/index.rst +0 -0
  117. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_sf5.ipynb +0 -0
  118. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_sf5.py +0 -0
  119. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_sf5.py.md5 +0 -0
  120. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_sf5.rst +0 -0
  121. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_sf5_codeobj.pickle +0 -0
  122. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_silver.ipynb +0 -0
  123. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_silver.py +0 -0
  124. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_silver.py.md5 +0 -0
  125. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_silver.rst +0 -0
  126. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/plot_silver_codeobj.pickle +0 -0
  127. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/tabulated/sg_execution_times.rst +0 -0
  128. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/build_library.ipynb +0 -0
  129. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.7.post0/docs/source/gallery}/utils/build_library.py +0 -0
  130. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/build_library.py.md5 +0 -0
  131. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/build_library.rst +0 -0
  132. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/build_library_codeobj.pickle +0 -0
  133. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_sellmeier_file.ipynb +0 -0
  134. {pyoptik-1.8.6.post0/docs/examples → pyoptik-1.8.7.post0/docs/source/gallery}/utils/create_sellmeier_file.py +0 -0
  135. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_sellmeier_file.py.md5 +0 -0
  136. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_sellmeier_file.rst +0 -0
  137. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_sellmeier_file_codeobj.pickle +0 -0
  138. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_tabulated_file.ipynb +0 -0
  139. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_tabulated_file.py +0 -0
  140. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_tabulated_file.py.md5 +0 -0
  141. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_tabulated_file.rst +0 -0
  142. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/create_tabulated_file_codeobj.pickle +0 -0
  143. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/download_yml_file.ipynb +0 -0
  144. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/download_yml_file.py +0 -0
  145. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/download_yml_file.py.md5 +0 -0
  146. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/download_yml_file.rst +0 -0
  147. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/download_yml_file_codeobj.pickle +0 -0
  148. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/sphx_glr_create_sellmeier_file_001.png +0 -0
  149. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/sphx_glr_create_tabulated_file_001.png +0 -0
  150. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/sphx_glr_download_yml_file_001.png +0 -0
  151. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_build_library_thumb.png +0 -0
  152. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_sellmeier_file_thumb.png +0 -0
  153. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_create_tabulated_file_thumb.png +0 -0
  154. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/images/thumb/sphx_glr_download_yml_file_thumb.png +0 -0
  155. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/index.rst +0 -0
  156. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/gallery/utils/sg_execution_times.rst +0 -0
  157. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/index.rst +0 -0
  158. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/docs/source/references.rst +0 -0
  159. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.post0}/meta.yaml +0 -0
  160. {pyoptik-1.8.6.post0 → pyoptik-1.8.7.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.7.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,13 +45,11 @@ 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: flake8==7.1.1; extra == "testing"
52
+ Requires-Dist: coverage~=7.6; extra == "testing"
55
53
  Provides-Extra: documentation
56
54
  Requires-Dist: numpydoc==1.6.0; extra == "documentation"
57
55
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
@@ -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.7.post0'
16
+ __version_tuple__ = version_tuple = (1, 8, 7)
@@ -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
  """
@@ -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
@@ -161,4 +160,4 @@ class TabulatedMaterial(BaseMaterial):
161
160
  f"\nTabulatedMaterial: '{self.filename}',\n"
162
161
  f"wavelength_range: [{self.wavelength.min()} µm, {self.wavelength.max()} µm],\n"
163
162
  f"reference: '{self.reference}')"
164
- )
163
+ )
@@ -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.7.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,13 +45,11 @@ 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: flake8==7.1.1; extra == "testing"
52
+ Requires-Dist: coverage~=7.6; extra == "testing"
55
53
  Provides-Extra: documentation
56
54
  Requires-Dist: numpydoc==1.6.0; extra == "documentation"
57
55
  Requires-Dist: sphinx>=5.1.1; extra == "documentation"
@@ -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
@@ -15,10 +15,8 @@ sphinx-rtd-theme==2.0.0
15
15
  pydata-sphinx-theme==0.14.1
16
16
 
17
17
  [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
18
+ pytest<9.0,>=7.4
19
+ pytest-cov<6,>=2
20
+ pytest-json-report~=1.5
21
+ flake8==7.1.1
22
+ 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
@@ -45,15 +45,14 @@ 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
+ "flake8 ==7.1.1",
52
+ "coverage ~=7.6"
55
53
  ]
56
54
 
55
+
57
56
  documentation = [
58
57
  "numpydoc ==1.6.0",
59
58
  "sphinx >=5.1.1",
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
 
@@ -115,7 +115,8 @@ def test_compute_refractive_index():
115
115
  def test_invalid_formula_type():
116
116
  """Test handling of unsupported material types."""
117
117
  with pytest.raises(FileNotFoundError):
118
- material = Material('invalid_material')
118
+ Material('invalid_material')
119
+
119
120
 
120
121
  @pytest.mark.parametrize('material', material_list, ids=material_list)
121
122
  @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')
@@ -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
@@ -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
 
File without changes
File without changes
File without changes