Metadata-Version: 2.1
Name: SuPyMode
Version: 1.1.0
Summary: A package for light propagation in fiber optics.
Home-page: https://github.com/MartinPdeS/SuPyMode
Author: Martin Poinsinet de Sivry
Author-email: Martin.poinsinet.de.sivry@gmail.com
License: MIT
Platform: unix
Platform: linux
Platform: osx
Platform: windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Intended Audience :: Science/Research
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: MPSPlots
Requires-Dist: PyFinitDiff
Requires-Dist: FiberFusing
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: pathvalidate
Provides-Extra: development
Requires-Dist: MPSPlots ; extra == 'development'
Requires-Dist: PyFinitDiff ; extra == 'development'
Requires-Dist: FiberFusing ; extra == 'development'
Requires-Dist: numpy ; extra == 'development'
Requires-Dist: scipy ; extra == 'development'
Requires-Dist: matplotlib ; extra == 'development'
Requires-Dist: pathvalidate ; extra == 'development'
Requires-Dist: numpydoc ==1.6.0 ; extra == 'development'
Requires-Dist: sphinx >5.1.1 ; extra == 'development'
Requires-Dist: sphinx-gallery ==0.15.0 ; extra == 'development'
Requires-Dist: sphinx-rtd-theme ==2.0.0 ; extra == 'development'
Requires-Dist: numpydoc ; extra == 'development'
Requires-Dist: pydata-sphinx-theme ; extra == 'development'
Requires-Dist: pytest >=0.6 ; extra == 'development'
Requires-Dist: pytest-cov >=2.0 ; extra == 'development'
Requires-Dist: pytest-json-report ; extra == 'development'
Requires-Dist: mypy >=0.910 ; extra == 'development'
Requires-Dist: flake8 >=3.9 ; extra == 'development'
Requires-Dist: tox >=3.24 ; extra == 'development'
Requires-Dist: coverage ; extra == 'development'
Requires-Dist: PyFiberModes ; extra == 'development'
Provides-Extra: documentation
Requires-Dist: numpydoc ==1.6.0 ; extra == 'documentation'
Requires-Dist: sphinx >5.1.1 ; extra == 'documentation'
Requires-Dist: sphinx-gallery ==0.15.0 ; extra == 'documentation'
Requires-Dist: sphinx-rtd-theme ==2.0.0 ; extra == 'documentation'
Requires-Dist: numpydoc ; extra == 'documentation'
Requires-Dist: pydata-sphinx-theme ; extra == 'documentation'
Provides-Extra: testing
Requires-Dist: pytest >=0.6 ; extra == 'testing'
Requires-Dist: pytest-cov >=2.0 ; extra == 'testing'
Requires-Dist: pytest-json-report ; extra == 'testing'
Requires-Dist: mypy >=0.910 ; extra == 'testing'
Requires-Dist: flake8 >=3.9 ; extra == 'testing'
Requires-Dist: tox >=3.24 ; extra == 'testing'
Requires-Dist: coverage ; extra == 'testing'
Requires-Dist: PyFiberModes ; extra == 'testing'

SuPyMode
========

|python|
|docs|
|Citation|
|Unittest|
|PyPi|
|PyPi_download|
|colab|


..  figure:: https://github.com/MartinPdeS/SuPyMode/blob/master/docs/images/mode_propagation.gif?raw=true
   :alt: some image
   :class: with-shadow float-left
   :width: 800px

   Propagation of mode in an adiabatic 2x1 modally-specific photonic lantern.




This project aims to develop an useful tool design and optimize fiber optic tapered component.
SuPyMode is a Python library linked to a c++ core allowing for a flexible interface and fast computing core.
The library also aims to offer the end-user a great vizual tools for data analysis.
To this day, SuPyMode as been proven a useful tool to develop very-short 2x1 and 3x1 modally specific photonic lantern with very low loss and cross-talk.

----

Documentation
**************
All the latest available documentation is available `here <https://supymodes.readthedocs.io/en/latest/>`_ or you can click the following badge:

|docs|


----


Installation
------------


Pip installation
****************

The package have been uploaded as wheel for a few OS (Linux, MacOS) and need Python 3.10.
As such, with the adequate configuration one can simply do

.. code-block:: python

   >>> pip3 install SuPyMode



Manual installation
*******************

To install manually (os independent) you will need to install:

1. cmake (3.16+)

In order to use the SuPyMode Simulator Library, one must have installed the python dependencies:

.. code-block:: python

    >>> pip3 install -r requirements.txt

Then, download and install the SuPyMode package:

.. code-block:: python

    >>> git clone https://github.com/MartinPdeS/SuPyMode.git
    >>> cd SuPyMode && mkdir build && cd build
    >>> cmake ..
    >>> make install (Linux, MacOs)
    >>> cd ..
    >>> pip3 install .

----

Testing
*******

To test localy (with cloning the GitHub repository) you'll need to install the dependencies and run the coverage command as

.. code:: python

   >>> git clone https://github.com/MartinPdeS/SuPyMode.git
   >>> cd SuPyMode
   >>> pip install -r requirements/requirements.txt
   >>> coverage run --source=SuPyMode --module pytest --verbose tests
   >>> coverage report --show-missing

----

Contact Information
*******************

As of 2023 the project is still under development if you want to collaborate it would be a pleasure. I encourage you to contact me.

SuPyMode was written by `Martin Poinsinet de Sivry-Houle <https://github.com/MartinPdS>`_  .

Email:`martin.poinsinet-de-sivry@polymtl.ca <mailto:martin.poinsinet-de-sivry@polymtl.ca?subject=SuPyMode>`_ .


.. |python| image:: https://img.shields.io/badge/Made%20with-Python-1f425f.svg
   :target: https://www.python.org/

.. |docs| image:: https://readthedocs.org/projects/supymodes/badge/?version=latest
   :target: https://supymodes.readthedocs.io/en/latest/
   :alt: Documentation Status

.. |Citation| image:: https://zenodo.org/badge/366930899.svg
   :target: https://zenodo.org/badge/latestdoi/366930899

.. |Unittest| image:: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MartinPdeS/8e5ebf39ed694d3c90a790dffc0eff4f/raw

.. |PyPi| image:: https://badge.fury.io/py/SuPyMode.svg
   :target: https://pypi.org/project/SuPyMode/

.. |PyPi_download| image:: https://img.shields.io/pypi/dm/supymode.svg
   :target: https://pypistats.org/packages/supymode

.. |colab| image:: https://colab.research.google.com/assets/colab-badge.svg
   :target: https://colab.research.google.com/github/MartinPdeS/SuPyMode/blob/master/SuPyModes.ipynb



