Skip to main content

A package for light propagation in fiber optics.

Project description

Meta

python

Documentation Status

Testing

Unittest Status

Unittest coverage

PyPi

PyPi

PyPi_download

Anaconda

Anaconda version

Anaconda downloads

PyFiberModes

PyFiberModes is a Python package designed to simulate the propagation of modes in optical fibers. It supports all circularly symmetric geometries and provides tools for in-depth analysis of optical fiber properties and modal characteristics.

Key Features

  • Comprehensive Simulations: Supports step-index fibers, multilayer fibers, and custom refractive index profiles.

  • Extensive Mode Analysis: Calculate mode profiles, propagation constants, effective indices, and more.

  • Open Source: Designed for customization and extensibility.


Documentation

The latest documentation is always available here or via the badge below:

Documentation Status


Installation

Using Pip

Install the PyFiberModes package directly from PyPi. Ensure you have Python 3.10 or later:

pip install PyFiberModes

Manual Installation

To manually install the package:

git clone https://github.com/MartinPdeS/PyFiberModes.git
cd PyFiberModes
pip install .

Testing

PyFiberModes includes comprehensive tests. To run the tests locally:

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

This will generate a coverage report detailing untested portions of the code.


Examples and Usage

Learn how to use PyFiberModes with detailed examples in the Examples Section of the documentation. Examples include: - Calculating the effective index for a given mode. - Visualizing mode profiles in optical fibers. - Evaluating fiber parameters like V-number and dispersion.


Get Involved

PyFiberModes is an actively maintained project, and contributions are highly encouraged! Whether it’s a bug fix, feature request, or enhancement, your input is valuable.

  • Report issues or request features on the GitHub Issue Tracker.

  • Open pull requests to improve the codebase.

Contact

If you would like to collaborate, please reach out:

Author: Martin Poinsinet de Sivry-Houle

Email: martin.poinsinet-de-sivry@polymtl.ca


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfibermodes-0.9.0.tar.gz (240.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfibermodes-0.9.0-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

Details for the file pyfibermodes-0.9.0.tar.gz.

File metadata

  • Download URL: pyfibermodes-0.9.0.tar.gz
  • Upload date:
  • Size: 240.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyfibermodes-0.9.0.tar.gz
Algorithm Hash digest
SHA256 f1b0894c9ec02a6915fac424c35f74567f1f83bad843ac24fbb5524cb1b23a76
MD5 6a2fa88f04dbb2801eeb3d81698c3231
BLAKE2b-256 971b0114f07eda0992702ffe73b0a6b13d098a84d05a848d3edaf6903d598a0a

See more details on using hashes here.

File details

Details for the file pyfibermodes-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: pyfibermodes-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 74.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pyfibermodes-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ad8a80c06342b323e4b943265410f75639f1122b5a6bf7d480dd032828c23db
MD5 a3bfe2eac8ad1b2b331ca495234fdd9c
BLAKE2b-256 40c9574278d9d56c63cf5f30cb35d34ef2399c79e1f9abb5d72ac360b2420666

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page