PyOptik 1.9.8__0-py3-none-any.whl

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 (50) hide show
  1. PyOptik/__init__.py +15 -0
  2. PyOptik/__main__.py +7 -0
  3. PyOptik/_version.py +16 -0
  4. PyOptik/data/__init__.py +0 -0
  5. PyOptik/data/sellmeier/BAK1.yml +60 -0
  6. PyOptik/data/sellmeier/BK7.yml +60 -0
  7. PyOptik/data/sellmeier/SF5.yml +54 -0
  8. PyOptik/data/sellmeier/ZBLAN.yml +10 -0
  9. PyOptik/data/sellmeier/air.yml +15 -0
  10. PyOptik/data/sellmeier/argon.yml +14 -0
  11. PyOptik/data/sellmeier/crown.yml +58 -0
  12. PyOptik/data/sellmeier/flint.yml +57 -0
  13. PyOptik/data/sellmeier/fused_silica.yml +15 -0
  14. PyOptik/data/sellmeier/germanium.yml +10 -0
  15. PyOptik/data/sellmeier/lithium_niobate.yml +10 -0
  16. PyOptik/data/sellmeier/polystyren.yml +14 -0
  17. PyOptik/data/sellmeier/silicon.yml +10 -0
  18. PyOptik/data/sellmeier/soda_lime_glass.yml +118 -0
  19. PyOptik/data/sellmeier/water.yml +14 -0
  20. PyOptik/data/tabulated/aluminium.yml +215 -0
  21. PyOptik/data/tabulated/calcium.yml +72 -0
  22. PyOptik/data/tabulated/copper.yml +58 -0
  23. PyOptik/data/tabulated/gold.yml +58 -0
  24. PyOptik/data/tabulated/iron.yml +58 -0
  25. PyOptik/data/tabulated/nickel.yml +58 -0
  26. PyOptik/data/tabulated/silver.yml +58 -0
  27. PyOptik/data/tabulated/sodium.yml +34 -0
  28. PyOptik/data/tabulated/zinc.yml +162 -0
  29. PyOptik/directories.py +44 -0
  30. PyOptik/libraries/__init__.py +0 -0
  31. PyOptik/libraries/classics.yml +28 -0
  32. PyOptik/libraries/dielectrics.yml +20 -0
  33. PyOptik/libraries/metals.yml +20 -0
  34. PyOptik/libraries/minimal.yml +9 -0
  35. PyOptik/libraries/organics.yml +11 -0
  36. PyOptik/libraries/others.yml +4 -0
  37. PyOptik/libraries/polymers.yml +8 -0
  38. PyOptik/material/__init__.py +3 -0
  39. PyOptik/material/base_class.py +90 -0
  40. PyOptik/material/sellmeier_class.py +198 -0
  41. PyOptik/material/tabulated_class.py +180 -0
  42. PyOptik/material_bank.py +466 -0
  43. PyOptik/material_type.py +9 -0
  44. PyOptik/units.py +56 -0
  45. PyOptik/utils.py +46 -0
  46. PyOptik-1.9.8.0.dist-info/LICENSE +21 -0
  47. PyOptik-1.9.8.0.dist-info/METADATA +295 -0
  48. PyOptik-1.9.8.0.dist-info/RECORD +50 -0
  49. PyOptik-1.9.8.0.dist-info/WHEEL +5 -0
  50. PyOptik-1.9.8.0.dist-info/top_level.txt +1 -0
PyOptik/units.py ADDED
@@ -0,0 +1,56 @@
1
+ from typing import Optional
2
+ import pint
3
+
4
+ ureg = pint.UnitRegistry()
5
+ pint.set_application_registry(ureg)
6
+
7
+ # Define a list of base units to scale
8
+ BASE_UNITS = [
9
+ 'meter'
10
+ ]
11
+
12
+ # Define prefixes for scaling units
13
+ SCALES = ['nano', 'micro', 'milli', '', 'kilo', 'mega']
14
+
15
+
16
+ def initialize_registry(ureg: Optional[pint.UnitRegistry] = None) -> None:
17
+ """
18
+ Initialize and set up a unit registry. This function also leaks
19
+ the units into the global namespace for easy access throughout
20
+ the module.
21
+
22
+ Parameters
23
+ ----------
24
+ ureg: Optional[pint.UnitRegistry]
25
+ A UnitRegistry object to use. If None, the default PintType.ureg will be used.
26
+ """
27
+
28
+ # If no unit registry is provided, use the default
29
+ ureg = ureg or pint.UnitRegistry()
30
+
31
+ # Set up matplotlib integration and unit formatting
32
+ ureg.setup_matplotlib()
33
+ ureg.formatter.default_format = '~P' # Compact format without units like 'meter'
34
+
35
+ # Leak scaled units into the global namespace
36
+ for unit in BASE_UNITS:
37
+ for scale in SCALES:
38
+ scaled_unit_name = scale + unit
39
+ globals()[scaled_unit_name] = getattr(ureg, scaled_unit_name)
40
+
41
+ # Leak commonly used specific units into the global namespace
42
+ common_units = {
43
+ 'RIU': ureg.refractive_index_unit,
44
+ 'refractive_index_unit': ureg.refractive_index_unit,
45
+ 'AU': ureg.dimensionless,
46
+ 'distance': ureg.meter.dimensionality,
47
+ 'Quantity': ureg.Quantity
48
+ }
49
+
50
+ # Leak the common units into the global namespace
51
+ globals().update(common_units)
52
+
53
+ globals()['ureg'] = ureg
54
+
55
+
56
+ initialize_registry(ureg)
PyOptik/utils.py ADDED
@@ -0,0 +1,46 @@
1
+ import requests
2
+ import logging
3
+ from PyOptik.directories import sellmeier_data_path, tabulated_data_path
4
+ from PyOptik.material_type import MaterialType
5
+
6
+
7
+ def download_yml_file(url: str, filename: str, location: MaterialType) -> None:
8
+ """
9
+ Downloads a .yml file from a specified URL and saves it locally.
10
+
11
+ Parameters
12
+ ----------
13
+ url : str
14
+ The URL of the .yml file to download.
15
+ save_path : str
16
+ The local path where the .yml file should be saved.
17
+
18
+ Raises
19
+ ------
20
+ HTTPError: If the download fails due to an HTTP error.
21
+ """
22
+ match location:
23
+ case MaterialType.SELLMEIER:
24
+ file_path = sellmeier_data_path / f"{filename}.yml"
25
+ case MaterialType.TABULATED:
26
+ file_path = tabulated_data_path / f"{filename}.yml"
27
+ case _:
28
+ raise ValueError(f"Location [{location}] is invalid, it can be either MaterialType.SELLMEIER or MaterialType.TABULATED")
29
+
30
+ try:
31
+ # Send a GET request to the URL
32
+ response = requests.get(url)
33
+ response.raise_for_status() # Raise an error for bad status codes
34
+
35
+ # Save the content of the response as a file
36
+ file_path.parent.mkdir(parents=True, exist_ok=True) # Create directories if they don't exist
37
+
38
+ with open(file_path, 'wb') as file:
39
+ file.write(response.content)
40
+
41
+ logging.info(f"File downloaded and saved to {file_path}")
42
+
43
+ except requests.exceptions.HTTPError as http_err:
44
+ logging.warning(f"HTTP error occurred: {http_err}")
45
+ except Exception as err:
46
+ logging.error(f"An error occurred: {err}")
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Martin de Sivry
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,295 @@
1
+ Metadata-Version: 2.1
2
+ Name: PyOptik
3
+ Version: 1.9.8.0
4
+ Summary: A package for refractive index values.
5
+ Author-email: Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2020 Martin de Sivry
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Keywords: refracive index,optics
29
+ Classifier: Programming Language :: Python
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: Programming Language :: Python :: Implementation :: CPython
32
+ Classifier: Development Status :: 4 - Beta
33
+ Classifier: Topic :: Scientific/Engineering :: Physics
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Intended Audience :: Science/Research
36
+ Requires-Python: >=3.10
37
+ Description-Content-Type: text/x-rst
38
+ License-File: LICENSE
39
+ Requires-Dist: flexparser<0.4
40
+ Requires-Dist: pint~=0.24
41
+ Requires-Dist: pydantic~=2.9
42
+ Requires-Dist: numpy~=1.26
43
+ Requires-Dist: matplotlib~=3.8
44
+ Requires-Dist: requests~=2.31
45
+ Requires-Dist: pyyaml~=6.0
46
+ Requires-Dist: MPSPlots~=1.5.1
47
+ Requires-Dist: tabulate~=0.9
48
+ Provides-Extra: dev
49
+ Requires-Dist: flake8==7.1.1; extra == "dev"
50
+ Provides-Extra: documentation
51
+ Requires-Dist: numpydoc==1.6.0; extra == "documentation"
52
+ Requires-Dist: sphinx>=5.1.1; extra == "documentation"
53
+ Requires-Dist: sphinx-gallery==0.15.0; extra == "documentation"
54
+ Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "documentation"
55
+ Requires-Dist: pydata-sphinx-theme==0.14.1; extra == "documentation"
56
+ Provides-Extra: testing
57
+ Requires-Dist: pytest<9.0,>=7.4; extra == "testing"
58
+ Requires-Dist: pytest-cov<6,>=2; extra == "testing"
59
+ Requires-Dist: pytest-json-report~=1.5; extra == "testing"
60
+ Requires-Dist: coverage~=7.6; extra == "testing"
61
+
62
+
63
+ |logo|
64
+
65
+ .. list-table::
66
+ :widths: 10 25 25
67
+ :header-rows: 0
68
+
69
+ * - Meta
70
+ - |python|
71
+ - |docs|
72
+ * - Testing
73
+ - |ci/cd|
74
+ - |coverage|
75
+ * - PyPi
76
+ - |PyPi|
77
+ - |PyPi_download|
78
+ * - Anaconda
79
+ - |anaconda|
80
+ - |anaconda_download|
81
+
82
+
83
+ PyOptik
84
+ =======
85
+
86
+ PyOptik is a Python tool designed to import refractive indexes and extinction coefficients for various materials across different wavelengths. The data provided by PyOptik can be used in numerous applications, including simulating light interactions with particles. All data is sourced from the reputable RefractiveIndex.INFO database.
87
+
88
+
89
+
90
+ Features
91
+ ********
92
+
93
+ - **Comprehensive Database Access**: Seamlessly import refractive index and extinction coefficient data for a wide range of materials.
94
+ - **Simulation Ready**: Ideal for light-matter interaction simulations, particularly in optics and photonics.
95
+ - **Simple API**: Easy-to-use API that integrates well with other Python libraries.
96
+ - **Open Source**: Fully open-source.
97
+
98
+ Installation
99
+ ************
100
+
101
+ To install PyOptik, simply use `pip` or `conda`:
102
+
103
+ .. code:: bash
104
+
105
+ pip install PyOptik
106
+ conda install --channels martinpdes pyoptik
107
+
108
+ Building the Material Library
109
+ *****************************
110
+
111
+ PyOptik allows you to build and customize a local material library, importing material data from various categories. You can download the following categories of materials from the RefractiveIndex.INFO database:
112
+
113
+ - `classics`: Commonly used optical materials.
114
+ - `glasses`: Various types of glass materials.
115
+ - `metals`: Different metal materials for optical simulations.
116
+ - `organics`: Organic materials with optical properties.
117
+ - `others`: Other optical materials.
118
+ - `all`: Download all available categories at once.
119
+
120
+ To build a material library, use the `build_library` function. This will download and save the material data to your local machine.
121
+
122
+ **Example: Building the Material Library:**
123
+
124
+ In this example, we will download the `others` category of materials and remove any previously existing data in that category:
125
+
126
+ .. code:: python
127
+
128
+ from PyOptik import MaterialBank
129
+
130
+ # Download the 'classics' category and remove previous files
131
+ MaterialBank.build_library('classics', remove_previous=True)
132
+
133
+ **Available Categories:**
134
+
135
+ To download materials from another category, simply pass the category name as an argument to `build_library`. For example:
136
+
137
+ .. code:: python
138
+
139
+ # Download materials from the 'glasses' category
140
+ MaterialBank.build_library('glasses')
141
+
142
+ To download all material categories at once:
143
+
144
+ .. code:: python
145
+
146
+ # Download all available material categories
147
+ MaterialBank.build_library('all')
148
+
149
+ You can also set the `remove_previous` parameter to `True` to remove old data before downloading new material data.
150
+
151
+ Viewing Available Materials
152
+ ***************************
153
+
154
+ Once you have built the material library, you can view all the available materials using the `MaterialBank` class. This will print a list of materials stored in your local library.
155
+
156
+ **Example:**
157
+
158
+ .. code:: python
159
+
160
+ from PyOptik import MaterialBank
161
+
162
+ # Print the available materials in a tabulated format
163
+ MaterialBank.print_materials()
164
+
165
+ Simple Usage
166
+ ************
167
+
168
+ After installing PyOptik and building the material library, you can easily access material properties:
169
+
170
+ .. code:: python
171
+
172
+ from PyOptik import MaterialBank
173
+
174
+ # Access the refractive index of BK7 glass
175
+ bk7 = MaterialBank.BK7
176
+ n = bk7.compute_refractive_index(0.55e-6)
177
+ print(f"Refractive index at 0.55 µm: {n}")
178
+
179
+ Example
180
+ *******
181
+
182
+ Here is a quick example demonstrating how to use PyOptik to retrieve and plot the refractive index of a material:
183
+
184
+ .. code:: python
185
+
186
+ import numpy as np
187
+ from PyOptik import MaterialBank
188
+
189
+ # Define wavelength range
190
+ wavelengths = np.linspace(0.3e-6, 2.5e-6, 100)
191
+
192
+ # Retrieve refractive index for BK7 glass
193
+ bk7 = MaterialBank.BK7
194
+ n_values = bk7.compute_refractive_index(wavelengths)
195
+
196
+ # Plot the results
197
+ bk7.plot()
198
+
199
+ This code produces the following figure: |example_bk7|
200
+
201
+ Adding and Removing Custom Materials
202
+ ************************************
203
+
204
+ You can add a custom material to your library by providing a URL from `refractiveindex.info <https://refractiveindex.info>`_.
205
+
206
+ **Adding a Custom Material:**
207
+
208
+ .. code:: python
209
+
210
+ from PyOptik import MaterialBank, MaterialType
211
+
212
+ # Define the URL of the YAML file and the destination
213
+ # Call the function to download the file
214
+ MaterialBank.add_material_to_bank(
215
+ filename='example_download',
216
+ material_type=MaterialType.SELLMEIER,
217
+ url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml'
218
+ )
219
+
220
+ MaterialBank.print_available()
221
+
222
+ **Removing a Material:**
223
+
224
+ You can also remove a material from the library as follows:
225
+
226
+ .. code:: python
227
+
228
+ from PyOptik.utils import remove_element
229
+
230
+ MaterialBank.remove_item(filename='example_download')
231
+
232
+ Testing
233
+ *******
234
+
235
+ To test locally after cloning the GitHub repository, install the dependencies and run the tests:
236
+
237
+ .. code:: bash
238
+
239
+ git clone https://github.com/MartinPdeS/PyOptik.git
240
+ cd PyOptik
241
+ pip install .
242
+ pytest
243
+
244
+ Contributing
245
+ ************
246
+
247
+ PyOptik is open to contributions. Whether you're fixing bugs, adding new features, or improving documentation, your help is welcome! Please feel free to fork the repository and submit pull requests.
248
+
249
+ Contact Information
250
+ *******************
251
+
252
+ As of 2024, PyOptik is still under development. If you would like to collaborate, it would be a pleasure to hear from you. Contact me at:
253
+
254
+ **Author**: `Martin Poinsinet de Sivry-Houle <https://github.com/MartinPdS>`_
255
+
256
+ **Email**: `martin.poinsinet.de.sivry@gmail.com <mailto:martin.poinsinet.de.sivry@gmail.com?subject=PyOptik>`_
257
+
258
+ .. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
259
+ :alt: Python
260
+ :target: https://www.python.org/
261
+
262
+ .. |logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
263
+ :alt: PyOptik logo
264
+
265
+ .. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/example_bk7.png
266
+ :alt: PyOptik example: BK7
267
+ :target: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png
268
+
269
+ .. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg
270
+ :target: https://martinpdes.github.io/PyOptik/
271
+ :alt: Documentation Status
272
+
273
+ .. |ci/cd| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_coverage.yml/badge.svg
274
+ :target: https://martinpdes.github.io/PyOptik/actions
275
+ :alt: Unittest Status
276
+
277
+ .. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
278
+ :alt: PyPi version
279
+ :target: https://badge.fury.io/py/pyoptik
280
+
281
+ .. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
282
+ :alt: PyPi version
283
+ :target: https://pypistats.org/packages/pyoptik
284
+
285
+ .. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
286
+ :alt: Anaconda downloads
287
+ :target: https://anaconda.org/martinpdes/pyoptik
288
+
289
+ .. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
290
+ :alt: Unittest coverage
291
+ :target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html
292
+
293
+ .. |anaconda| image:: https://anaconda.org/martinpdes/pyoptik/badges/version.svg
294
+ :alt: Anaconda version
295
+ :target: https://anaconda.org/martinpdes/pyoptik
@@ -0,0 +1,50 @@
1
+ PyOptik/__init__.py,sha256=KWTEeNX6WB_LSvjtks_KIsUL62lgv4m_Y6GgcFUYytY,364
2
+ PyOptik/__main__.py,sha256=GG4Hib_1ouWvHBexSTXF1NXIc6Vd3-lgnOnfQcGCqB4,166
3
+ PyOptik/_version.py,sha256=ww4t_XNUVgmR-vflLfkYIvQwzjnLzxJfdUKiVD9Cjjg,416
4
+ PyOptik/directories.py,sha256=eOQQ6FmMdLX4X6f3jMgNg73ZkaIZ7lct1xK5cr2JgFw,916
5
+ PyOptik/material_bank.py,sha256=a8lcMGAGC4VmtyEXQP6tzk-btjMrmpsTmFna1IXDxKU,16833
6
+ PyOptik/material_type.py,sha256=tF0-_5oyhAJJP7AXFtTs5cMlx-K99__Jw_5AsxSkWKc,153
7
+ PyOptik/units.py,sha256=j4Kvmj-JN92O9_pEFAnUGuMrAuPXGgvvy_hqvHAlDjo,1619
8
+ PyOptik/utils.py,sha256=EcyPJEtD-MXH9cBmphI85BtL7ctx12zg04kVOW_bf8E,1612
9
+ PyOptik/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ PyOptik/data/sellmeier/BAK1.yml,sha256=DFeUQ3cO_gRxjsWbspIIIhYomkraFGNlPUSK2vhM1Y0,2093
11
+ PyOptik/data/sellmeier/BK7.yml,sha256=QRA_2LJqpDsr5fN_qs7wyKLN9xQtaqwgAbWA3F9evIQ,2101
12
+ PyOptik/data/sellmeier/SF5.yml,sha256=ADIMWCQwi8DokOnXaKefVOgM9nBbVS0_3C2TAFeMO7s,1956
13
+ PyOptik/data/sellmeier/ZBLAN.yml,sha256=z7xj98GmREpvWmyZctkeWwL14t7u73cimOWAkXJ5E4Q,498
14
+ PyOptik/data/sellmeier/air.yml,sha256=cy0gqR7a84YpedKCKoaricbGQjFGa3nWj-US8jYuG9A,1000
15
+ PyOptik/data/sellmeier/argon.yml,sha256=NoNBb5_xhAvtbLzm3AsGA3mjJqE86hxGznqYgp9vXYs,1176
16
+ PyOptik/data/sellmeier/crown.yml,sha256=xmiEl5Fd9-5n3jQzI4i3RrKn8d2_ia-mYeFcXAT6Ues,2049
17
+ PyOptik/data/sellmeier/flint.yml,sha256=zV-_VZPFJVKQtpwqG-XI1BgcUruhlfvZhZaRziObqfQ,2042
18
+ PyOptik/data/sellmeier/fused_silica.yml,sha256=WBcZxonM7oZ6GHFC6hxH8xM77eshmKFoPl3Kq1ZxbGw,1023
19
+ PyOptik/data/sellmeier/germanium.yml,sha256=8pGjyaHGcDUIdumb9hC7w2y60iuH67nkHtXSHiu1i9Y,837
20
+ PyOptik/data/sellmeier/lithium_niobate.yml,sha256=_kNo_aXQN148tSm9Mo2dSTVrrq0sagb6p5iPV5DTk4s,659
21
+ PyOptik/data/sellmeier/polystyren.yml,sha256=8wD6LsHnL5VQ7NmjEa59iV0lp5FlrNvXRdKX8oltO1c,698
22
+ PyOptik/data/sellmeier/silicon.yml,sha256=lwvE7Y6ZTIBZ8FqvqKixmsmXFXPJEJKLHKCPDDHRkLM,834
23
+ PyOptik/data/sellmeier/soda_lime_glass.yml,sha256=_h65OrsirpfHZqK5kRWRT0vRrdGVLRdv8LhRQMKLock,2983
24
+ PyOptik/data/sellmeier/water.yml,sha256=1GgeHdtymY7WABw0nrwz4bARKzcLB5LJv2RKTD6w478,800
25
+ PyOptik/data/tabulated/aluminium.yml,sha256=cyaun8GEOjh_84oOthSGjA4cdqFMeneksjem9FWbLt0,9366
26
+ PyOptik/data/tabulated/calcium.yml,sha256=6L2_8hwB9t0ZsjSj-OqE4KUW0IS9sR4bcQpgIf4YOnQ,2486
27
+ PyOptik/data/tabulated/copper.yml,sha256=SKrKPd_vaUw4dIqDqyM7BxX2rRYzuReV9-B_xX9RVxk,1751
28
+ PyOptik/data/tabulated/gold.yml,sha256=fJG4A7rh08heYb4Po7OLxMFN2PNhB8rJf2vQRcWpxgc,1751
29
+ PyOptik/data/tabulated/iron.yml,sha256=rHq148cXs1PKE9GWJCJEMLjVCopHwkqtH8q-LH639eY,1689
30
+ PyOptik/data/tabulated/nickel.yml,sha256=QrQm7tE7W7qXFEfLr8PlXW8LyfAUATo1zMvN5y2E6Cw,1689
31
+ PyOptik/data/tabulated/silver.yml,sha256=hpbFAAJFeUAhwseySE7g2FQUUTX1HF9sOQHdG9-bPyM,1751
32
+ PyOptik/data/tabulated/sodium.yml,sha256=lHc2E9JZFGPIEDsVyuS74W-6j4iJy8rEA5C34p3JPEY,1318
33
+ PyOptik/data/tabulated/zinc.yml,sha256=BVjj3pLBWGsZc0kl9cxhXLKksNENnLJwuD5TQTa4vx4,5440
34
+ PyOptik/libraries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ PyOptik/libraries/classics.yml,sha256=oDZliRP5xTsTMruL1uFHI_wH3gRDm1jvcxpCoUlxOyc,2033
36
+ PyOptik/libraries/dielectrics.yml,sha256=Kp6t7BBiUC1XTjtVf2d-pkJr42nSs57UHeSGSbD9yGg,1492
37
+ PyOptik/libraries/metals.yml,sha256=nFFKP5R-ZtU6z3X6gAZsDhuPY3hIdCcL1_Sec_vvek8,1457
38
+ PyOptik/libraries/minimal.yml,sha256=M2nkZ-L2cGnW-8uxWG5av_6lFqnxbZRwuuStgx_RmQc,523
39
+ PyOptik/libraries/organics.yml,sha256=7YIP3tI1n86yBJmJlHZgGWWwHtbDEI5wf4VbORXKTuo,879
40
+ PyOptik/libraries/others.yml,sha256=SkI9wlLqlgol1KhoHzag64Hw9AcCLYc8tT5Sv237574,258
41
+ PyOptik/libraries/polymers.yml,sha256=XEo71yJiZRn8Pw7e0TJDrVunCVuLmVEgKa5ILoXkWp8,787
42
+ PyOptik/material/__init__.py,sha256=2NkDtoPUboanWquiU_ljxqHc9Y6j2sVLZ_3epuT5xWQ,131
43
+ PyOptik/material/base_class.py,sha256=L5nOTRIBsFo0h3FVcD1yb9iLu2svhgXG8Muz9baNMnY,2890
44
+ PyOptik/material/sellmeier_class.py,sha256=7l5qCXGRtF9ewXPP8KrZUXS7MF6XPO9zYTbL-lMEGuI,7259
45
+ PyOptik/material/tabulated_class.py,sha256=2uBLGwTR57OXQ8yadltHEMKcOTakcz1NRyWOuOeR-0c,6190
46
+ PyOptik-1.9.8.0.dist-info/LICENSE,sha256=U6YG4UEW9XJzHa53oijR0qw6JNN_SZ38WOBmYn3NPd0,1072
47
+ PyOptik-1.9.8.0.dist-info/METADATA,sha256=ZMjAeDEbGSdvism5R9KCLQZG9ipj7-TKqm_d9003aU4,10253
48
+ PyOptik-1.9.8.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
49
+ PyOptik-1.9.8.0.dist-info/top_level.txt,sha256=LDypi2J9ytpLl-OYs1sacn8X6O7-WdNgFPjlfVbNpI0,8
50
+ PyOptik-1.9.8.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.3.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ PyOptik