PyOptik


NamePyOptik JSON
Version 2.0.1 PyPI version JSON
download
home_pageNone
SummaryA package for refractive index values.
upload_time2025-08-24 21:20:22
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT License Copyright (c) 2020 Martin de Sivry Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords refractive index optics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
|logo|

.. list-table::
   :widths: 10 25 25
   :header-rows: 0

   * - Meta
     - |python|
     - |docs|
   * - Testing
     - |ci/cd|
     - |coverage|
   * - PyPi
     - |PyPi|
     - |PyPi_download|
   * - Anaconda
     - |anaconda|
     - |anaconda_download|


PyOptik: Optical Material Properties Made Simple
=================================================

**PyOptik** is a powerful Python library that provides seamless access to optical material properties from the comprehensive `RefractiveIndex.INFO <https://refractiveindex.info>`_ database. Whether you're simulating light-matter interactions, designing optical systems, or conducting photonics research, PyOptik delivers the refractive index and extinction coefficient data you need with a clean, intuitive API.

**Quick Start**: Get material properties in just 3 lines of code!

.. code:: python

   from TypedUnit import ureg
   from PyOptik import MaterialBank

   bk7 = MaterialBank.BK7
   n = bk7.compute_refractive_index(550 * ureg.nanometer)  # n ≈ 1.519

Key Features
************

**Comprehensive Material Database**
   Access thousands of materials from RefractiveIndex.INFO with automatic data management

**Multiple Data Formats**
   Support for both Sellmeier equation materials and tabulated wavelength data

**High-Performance Computing**
   Optimized calculations for group index, group velocity, and dispersion properties

**Simulation Ready**
   Perfect for optical design, photonics simulations, and electromagnetic modeling

**Developer Friendly**
   Clean API that integrates seamlessly with NumPy, Matplotlib, and scientific Python stack

**Advanced Analysis**
   Built-in plotting and visualization tools powered by MPSPlots

Installation
************

**Quick Install**

.. code:: bash

   pip install PyOptik

**Conda Install**

.. code:: bash

   conda install -c martinpdes pyoptik

**Development Install**

.. code:: bash

   git clone https://github.com/MartinPdeS/PyOptik.git
   cd PyOptik
   pip install -e .

Building Your Material Library
*******************************

PyOptik downloads material data from RefractiveIndex.INFO organized into categories. Choose what you need or download everything at once.

**Available Categories:**

``classics`` - Essential optical materials (BK7, fused silica, etc.)
``glasses`` - Various optical glasses
``metals`` - Metallic materials (gold, silver, aluminum, etc.)
``organics`` - Organic and polymer materials
``others`` - Specialized and exotic materials
``all`` - Everything (recommended for comprehensive access)

**Quick Setup - Download Essentials:**

.. code:: python

   from PyOptik import MaterialBank

   # Get the most commonly used materials
   MaterialBank.build_library('classics')

   # See what's available
   MaterialBank.print_materials()

**Complete Setup - Download Everything:**

.. code:: python

   # Download all materials (recommended)
   MaterialBank.build_library('all', remove_previous=True)

**Custom Selection:**

.. code:: python

   # Download specific categories
   MaterialBank.build_library('glasses')
   MaterialBank.build_library('metals')

   # Or chain them
   for category in ['classics', 'glasses', 'metals']:
       MaterialBank.build_library(category)

Quick Start Guide
*****************

**Basic Usage - Refractive Index**

.. code:: python

   from TypedUnit import ureg
   from PyOptik import MaterialBank
   import numpy as np

   # Access BK7 glass properties
   bk7 = MaterialBank.BK7

   # Single wavelength (550 nm)
   n = bk7.compute_refractive_index(550 * ureg.nanometer)
   print(f"BK7 refractive index at 550nm: {n:.4f}")

   # Multiple wavelengths
   wavelengths = np.linspace(400, 800, 100) * ureg.nanometer
   n_values = bk7.compute_refractive_index(wavelengths)

**Advanced Properties - Group Index & Velocity**

.. code:: python

   # Group index (important for pulse propagation)
   n_g = bk7.compute_group_index(550 * ureg.nanometer)

   # Group velocity (speed of pulse envelope)
   v_g = bk7.compute_group_velocity(550 * ureg.nanometer)

   print(f"Group index: {n_g:.4f}")
   print(f"Group velocity: {v_g:.2e} m/s")

**Visualization**

.. code:: python

   # Quick plot of material dispersion
   bk7.plot()

   # Custom wavelength range
   wavelengths = np.linspace(300, 2000, 500) * ureg.nanometer
   bk7.plot(wavelengths)

Detailed Example - Material Analysis
************************************

Here's a comprehensive example showing PyOptik's capabilities:

.. code:: python

   import numpy as np
   import matplotlib.pyplot as plt
   from PyOptik import MaterialBank

   # Define wavelength range (UV to Near-IR)
   wavelengths = np.linspace(200, 2500, 1000) * ureg.nanometer

   # Compare different materials
   materials = {
       'BK7 Glass': MaterialBank.BK7,
       'Fused Silica': MaterialBank.fused_silica,
       'Sapphire': MaterialBank.Al2O3
   }

   plt.figure(figsize=(12, 8))

   for name, material in materials.items():
       # Calculate refractive index across spectrum
       n_values = material.compute_refractive_index(wavelengths)

       # Plot dispersion curve
       plt.subplot(2, 2, 1)
       plt.plot(wavelengths*1e9, n_values, label=name, linewidth=2)

       # Group velocity dispersion
       group_indices = material.compute_group_index(wavelengths)
       plt.subplot(2, 2, 2)
       plt.plot(wavelengths*1e9, group_indices, label=name, linewidth=2)

   plt.subplot(2, 2, 1)
   plt.xlabel('Wavelength (nm)')
   plt.ylabel('Refractive Index')
   plt.title('Material Dispersion Comparison')
   plt.legend()
   plt.grid(True, alpha=0.3)

   plt.subplot(2, 2, 2)
   plt.xlabel('Wavelength (nm)')
   plt.ylabel('Group Index')
   plt.title('Group Index Comparison')
   plt.legend()
   plt.grid(True, alpha=0.3)

   plt.tight_layout()
   plt.show()

**Output:** |example_bk7|

This example demonstrates PyOptik's power for comparative material analysis and optical design.

Advanced Usage - Custom Materials
**********************************

**Adding Materials from RefractiveIndex.INFO**

Easily extend your library with materials from the web:

.. code:: python

   from PyOptik import MaterialBank, MaterialType

   # Add water at 19°C from RefractiveIndex.INFO
   MaterialBank.add_material_to_bank(
       filename='water_19C',
       material_type=MaterialType.SELLMEIER,
       url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml'
   )

   # Now you can use it
   water = MaterialBank.water_19C
   n_water = water.compute_refractive_index(589e-9)  # Sodium D-line

**Managing Your Library**

.. code:: python

   # View all available materials
   MaterialBank.print_materials()

   # Remove unwanted materials
   MaterialBank.remove_item(filename='water_19C')

   # Check what's available after removal
   MaterialBank.print_available()

**Material Types**

PyOptik supports two material data formats:

**Sellmeier Materials**: Mathematical dispersion formulas (compact, smooth)
**Tabulated Materials**: Discrete wavelength-index pairs (experimental data)

Development & Testing
*********************

**Running Tests**

.. code:: bash

   # Clone and setup
   git clone https://github.com/MartinPdeS/PyOptik.git
   cd PyOptik
   pip install -e ".[testing]"

   # Run test suite
   pytest

   # Run with coverage
   pytest --cov=PyOptik --cov-report=html

**Code Quality**

.. code:: bash

   # Linting
   flake8 PyOptik/

   # Type checking (if using mypy)
   mypy PyOptik/

Contributing
************

We welcome contributions! PyOptik thrives on community input:

**Bug Reports**: Found an issue? Open an issue on GitHub
**Feature Requests**: Have ideas? We'd love to hear them
**Documentation**: Help improve our docs and examples
**Code**: Submit pull requests for fixes and enhancements

**Development Workflow:**

1. Fork the repository
2. Create a feature branch: ``git checkout -b feature-name``
3. Make your changes and add tests
4. Run the test suite: ``pytest``
5. Submit a pull request

Contact & Support
*****************

**Author**: `Martin Poinsinet de Sivry-Houle <https://github.com/MartinPdS>`_

**Email**: `martin.poinsinet.de.sivry@gmail.com <mailto:martin.poinsinet.de.sivry@gmail.com?subject=PyOptik>`_

**GitHub**: `PyOptik Repository <https://github.com/MartinPdeS/PyOptik>`_

**Documentation**: `Full Documentation <https://martinpdes.github.io/PyOptik/>`_

PyOptik is actively developed and maintained. We're always looking for collaborators interested in optical simulation and materials science!

.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg
   :alt: Python
   :target: https://www.python.org/

.. |logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png
   :alt: PyOptik logo

.. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/example_bk7.png
   :alt: PyOptik example: BK7
   :target: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png

.. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg
   :target: https://martinpdes.github.io/PyOptik/
   :alt: Documentation Status

.. |ci/cd| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_coverage.yml/badge.svg
   :target: https://martinpdes.github.io/PyOptik/actions
   :alt: Unittest Status

.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg
   :alt: PyPi version
   :target: https://badge.fury.io/py/pyoptik

.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg
   :alt: PyPi version
   :target: https://pypistats.org/packages/pyoptik

.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg
   :alt: Anaconda downloads
   :target: https://anaconda.org/martinpdes/pyoptik

.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg
   :alt: Unittest coverage
   :target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html

.. |anaconda| image:: https://anaconda.org/martinpdes/pyoptik/badges/version.svg
   :alt: Anaconda version
   :target: https://anaconda.org/martinpdes/pyoptik

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "PyOptik",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "refractive index, optics",
    "author": null,
    "author_email": "Martin Poinsinet de Sivry-Houle <martin.poinsinet.de.sivry@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/43/33/a8262231ec7dc528b17a37096e173458075457d909d083eb6cae8a00313e/pyoptik-2.0.1.tar.gz",
    "platform": null,
    "description": "\n|logo|\n\n.. list-table::\n   :widths: 10 25 25\n   :header-rows: 0\n\n   * - Meta\n     - |python|\n     - |docs|\n   * - Testing\n     - |ci/cd|\n     - |coverage|\n   * - PyPi\n     - |PyPi|\n     - |PyPi_download|\n   * - Anaconda\n     - |anaconda|\n     - |anaconda_download|\n\n\nPyOptik: Optical Material Properties Made Simple\n=================================================\n\n**PyOptik** is a powerful Python library that provides seamless access to optical material properties from the comprehensive `RefractiveIndex.INFO <https://refractiveindex.info>`_ database. Whether you're simulating light-matter interactions, designing optical systems, or conducting photonics research, PyOptik delivers the refractive index and extinction coefficient data you need with a clean, intuitive API.\n\n**Quick Start**: Get material properties in just 3 lines of code!\n\n.. code:: python\n\n   from TypedUnit import ureg\n   from PyOptik import MaterialBank\n\n   bk7 = MaterialBank.BK7\n   n = bk7.compute_refractive_index(550 * ureg.nanometer)  # n \u2248 1.519\n\nKey Features\n************\n\n**Comprehensive Material Database**\n   Access thousands of materials from RefractiveIndex.INFO with automatic data management\n\n**Multiple Data Formats**\n   Support for both Sellmeier equation materials and tabulated wavelength data\n\n**High-Performance Computing**\n   Optimized calculations for group index, group velocity, and dispersion properties\n\n**Simulation Ready**\n   Perfect for optical design, photonics simulations, and electromagnetic modeling\n\n**Developer Friendly**\n   Clean API that integrates seamlessly with NumPy, Matplotlib, and scientific Python stack\n\n**Advanced Analysis**\n   Built-in plotting and visualization tools powered by MPSPlots\n\nInstallation\n************\n\n**Quick Install**\n\n.. code:: bash\n\n   pip install PyOptik\n\n**Conda Install**\n\n.. code:: bash\n\n   conda install -c martinpdes pyoptik\n\n**Development Install**\n\n.. code:: bash\n\n   git clone https://github.com/MartinPdeS/PyOptik.git\n   cd PyOptik\n   pip install -e .\n\nBuilding Your Material Library\n*******************************\n\nPyOptik downloads material data from RefractiveIndex.INFO organized into categories. Choose what you need or download everything at once.\n\n**Available Categories:**\n\n``classics`` - Essential optical materials (BK7, fused silica, etc.)\n``glasses`` - Various optical glasses\n``metals`` - Metallic materials (gold, silver, aluminum, etc.)\n``organics`` - Organic and polymer materials\n``others`` - Specialized and exotic materials\n``all`` - Everything (recommended for comprehensive access)\n\n**Quick Setup - Download Essentials:**\n\n.. code:: python\n\n   from PyOptik import MaterialBank\n\n   # Get the most commonly used materials\n   MaterialBank.build_library('classics')\n\n   # See what's available\n   MaterialBank.print_materials()\n\n**Complete Setup - Download Everything:**\n\n.. code:: python\n\n   # Download all materials (recommended)\n   MaterialBank.build_library('all', remove_previous=True)\n\n**Custom Selection:**\n\n.. code:: python\n\n   # Download specific categories\n   MaterialBank.build_library('glasses')\n   MaterialBank.build_library('metals')\n\n   # Or chain them\n   for category in ['classics', 'glasses', 'metals']:\n       MaterialBank.build_library(category)\n\nQuick Start Guide\n*****************\n\n**Basic Usage - Refractive Index**\n\n.. code:: python\n\n   from TypedUnit import ureg\n   from PyOptik import MaterialBank\n   import numpy as np\n\n   # Access BK7 glass properties\n   bk7 = MaterialBank.BK7\n\n   # Single wavelength (550 nm)\n   n = bk7.compute_refractive_index(550 * ureg.nanometer)\n   print(f\"BK7 refractive index at 550nm: {n:.4f}\")\n\n   # Multiple wavelengths\n   wavelengths = np.linspace(400, 800, 100) * ureg.nanometer\n   n_values = bk7.compute_refractive_index(wavelengths)\n\n**Advanced Properties - Group Index & Velocity**\n\n.. code:: python\n\n   # Group index (important for pulse propagation)\n   n_g = bk7.compute_group_index(550 * ureg.nanometer)\n\n   # Group velocity (speed of pulse envelope)\n   v_g = bk7.compute_group_velocity(550 * ureg.nanometer)\n\n   print(f\"Group index: {n_g:.4f}\")\n   print(f\"Group velocity: {v_g:.2e} m/s\")\n\n**Visualization**\n\n.. code:: python\n\n   # Quick plot of material dispersion\n   bk7.plot()\n\n   # Custom wavelength range\n   wavelengths = np.linspace(300, 2000, 500) * ureg.nanometer\n   bk7.plot(wavelengths)\n\nDetailed Example - Material Analysis\n************************************\n\nHere's a comprehensive example showing PyOptik's capabilities:\n\n.. code:: python\n\n   import numpy as np\n   import matplotlib.pyplot as plt\n   from PyOptik import MaterialBank\n\n   # Define wavelength range (UV to Near-IR)\n   wavelengths = np.linspace(200, 2500, 1000) * ureg.nanometer\n\n   # Compare different materials\n   materials = {\n       'BK7 Glass': MaterialBank.BK7,\n       'Fused Silica': MaterialBank.fused_silica,\n       'Sapphire': MaterialBank.Al2O3\n   }\n\n   plt.figure(figsize=(12, 8))\n\n   for name, material in materials.items():\n       # Calculate refractive index across spectrum\n       n_values = material.compute_refractive_index(wavelengths)\n\n       # Plot dispersion curve\n       plt.subplot(2, 2, 1)\n       plt.plot(wavelengths*1e9, n_values, label=name, linewidth=2)\n\n       # Group velocity dispersion\n       group_indices = material.compute_group_index(wavelengths)\n       plt.subplot(2, 2, 2)\n       plt.plot(wavelengths*1e9, group_indices, label=name, linewidth=2)\n\n   plt.subplot(2, 2, 1)\n   plt.xlabel('Wavelength (nm)')\n   plt.ylabel('Refractive Index')\n   plt.title('Material Dispersion Comparison')\n   plt.legend()\n   plt.grid(True, alpha=0.3)\n\n   plt.subplot(2, 2, 2)\n   plt.xlabel('Wavelength (nm)')\n   plt.ylabel('Group Index')\n   plt.title('Group Index Comparison')\n   plt.legend()\n   plt.grid(True, alpha=0.3)\n\n   plt.tight_layout()\n   plt.show()\n\n**Output:** |example_bk7|\n\nThis example demonstrates PyOptik's power for comparative material analysis and optical design.\n\nAdvanced Usage - Custom Materials\n**********************************\n\n**Adding Materials from RefractiveIndex.INFO**\n\nEasily extend your library with materials from the web:\n\n.. code:: python\n\n   from PyOptik import MaterialBank, MaterialType\n\n   # Add water at 19\u00b0C from RefractiveIndex.INFO\n   MaterialBank.add_material_to_bank(\n       filename='water_19C',\n       material_type=MaterialType.SELLMEIER,\n       url='https://refractiveindex.info/database/data-nk/main/H2O/Daimon-19.0C.yml'\n   )\n\n   # Now you can use it\n   water = MaterialBank.water_19C\n   n_water = water.compute_refractive_index(589e-9)  # Sodium D-line\n\n**Managing Your Library**\n\n.. code:: python\n\n   # View all available materials\n   MaterialBank.print_materials()\n\n   # Remove unwanted materials\n   MaterialBank.remove_item(filename='water_19C')\n\n   # Check what's available after removal\n   MaterialBank.print_available()\n\n**Material Types**\n\nPyOptik supports two material data formats:\n\n**Sellmeier Materials**: Mathematical dispersion formulas (compact, smooth)\n**Tabulated Materials**: Discrete wavelength-index pairs (experimental data)\n\nDevelopment & Testing\n*********************\n\n**Running Tests**\n\n.. code:: bash\n\n   # Clone and setup\n   git clone https://github.com/MartinPdeS/PyOptik.git\n   cd PyOptik\n   pip install -e \".[testing]\"\n\n   # Run test suite\n   pytest\n\n   # Run with coverage\n   pytest --cov=PyOptik --cov-report=html\n\n**Code Quality**\n\n.. code:: bash\n\n   # Linting\n   flake8 PyOptik/\n\n   # Type checking (if using mypy)\n   mypy PyOptik/\n\nContributing\n************\n\nWe welcome contributions! PyOptik thrives on community input:\n\n**Bug Reports**: Found an issue? Open an issue on GitHub\n**Feature Requests**: Have ideas? We'd love to hear them\n**Documentation**: Help improve our docs and examples\n**Code**: Submit pull requests for fixes and enhancements\n\n**Development Workflow:**\n\n1. Fork the repository\n2. Create a feature branch: ``git checkout -b feature-name``\n3. Make your changes and add tests\n4. Run the test suite: ``pytest``\n5. Submit a pull request\n\nContact & Support\n*****************\n\n**Author**: `Martin Poinsinet de Sivry-Houle <https://github.com/MartinPdS>`_\n\n**Email**: `martin.poinsinet.de.sivry@gmail.com <mailto:martin.poinsinet.de.sivry@gmail.com?subject=PyOptik>`_\n\n**GitHub**: `PyOptik Repository <https://github.com/MartinPdeS/PyOptik>`_\n\n**Documentation**: `Full Documentation <https://martinpdes.github.io/PyOptik/>`_\n\nPyOptik is actively developed and maintained. We're always looking for collaborators interested in optical simulation and materials science!\n\n.. |python| image:: https://img.shields.io/pypi/pyversions/pyoptik.svg\n   :alt: Python\n   :target: https://www.python.org/\n\n.. |logo| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/logo.png\n   :alt: PyOptik logo\n\n.. |example_bk7| image:: https://github.com/MartinPdeS/PyOptik/raw/master/docs/images/example_bk7.png\n   :alt: PyOptik example: BK7\n   :target: https://github.com/MartinPdeS/PyOptik/blob/master/docs/images/example_bk7.png\n\n.. |docs| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_documentation.yml/badge.svg\n   :target: https://martinpdes.github.io/PyOptik/\n   :alt: Documentation Status\n\n.. |ci/cd| image:: https://github.com/martinpdes/pyoptik/actions/workflows/deploy_coverage.yml/badge.svg\n   :target: https://martinpdes.github.io/PyOptik/actions\n   :alt: Unittest Status\n\n.. |PyPi| image:: https://badge.fury.io/py/pyoptik.svg\n   :alt: PyPi version\n   :target: https://badge.fury.io/py/pyoptik\n\n.. |PyPi_download| image:: https://img.shields.io/pypi/dm/pyoptik.svg\n   :alt: PyPi version\n   :target: https://pypistats.org/packages/pyoptik\n\n.. |anaconda_download| image:: https://anaconda.org/martinpdes/pyoptik/badges/downloads.svg\n   :alt: Anaconda downloads\n   :target: https://anaconda.org/martinpdes/pyoptik\n\n.. |coverage| image:: https://raw.githubusercontent.com/MartinPdeS/PyOptik/python-coverage-comment-action-data/badge.svg\n   :alt: Unittest coverage\n   :target: https://htmlpreview.github.io/?https://github.com/MartinPdeS/PyOptik/blob/python-coverage-comment-action-data/htmlcov/index.html\n\n.. |anaconda| image:: https://anaconda.org/martinpdes/pyoptik/badges/version.svg\n   :alt: Anaconda version\n   :target: https://anaconda.org/martinpdes/pyoptik\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2020 Martin de Sivry\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "A package for refractive index values.",
    "version": "2.0.1",
    "project_urls": null,
    "split_keywords": [
        "refractive index",
        " optics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "95a60282984b0bc87f4b422dce8d582bcfcd745e6fb5f630d3b82e8bd3948c6c",
                "md5": "7d8a072d481c50fe2c2d4a10929c80a5",
                "sha256": "8a0154be90b22065a76c6cb9bf2e001bdab396eccd121627d99cf16c1b197f22"
            },
            "downloads": -1,
            "filename": "pyoptik-2.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7d8a072d481c50fe2c2d4a10929c80a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 85285,
            "upload_time": "2025-08-24T21:20:21",
            "upload_time_iso_8601": "2025-08-24T21:20:21.242009Z",
            "url": "https://files.pythonhosted.org/packages/95/a6/0282984b0bc87f4b422dce8d582bcfcd745e6fb5f630d3b82e8bd3948c6c/pyoptik-2.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4333a8262231ec7dc528b17a37096e173458075457d909d083eb6cae8a00313e",
                "md5": "6d9198ca191cc975ced6ea44045281d7",
                "sha256": "0d670bb41e87c1c188a27083ee893e1d6ec578ba96d585a3cfadb77634987b5b"
            },
            "downloads": -1,
            "filename": "pyoptik-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6d9198ca191cc975ced6ea44045281d7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 569732,
            "upload_time": "2025-08-24T21:20:22",
            "upload_time_iso_8601": "2025-08-24T21:20:22.709107Z",
            "url": "https://files.pythonhosted.org/packages/43/33/a8262231ec7dc528b17a37096e173458075457d909d083eb6cae8a00313e/pyoptik-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-24 21:20:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyoptik"
}
        
Elapsed time: 1.05941s