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.10.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.10.0-py3-none-any.whl (74.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyfibermodes-0.10.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.10.0.tar.gz
Algorithm Hash digest
SHA256 84fae3af426fb3814a82c79976b693728e52d6860fc22ee95f06ce6db79e7d33
MD5 e3fb86bf1d7fe6b931e377d8e17689e8
BLAKE2b-256 3c3a675695e8469184ff76b0d3ea17b174059d1cfe09723de3a72b7f634cd036

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfibermodes-0.10.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.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd12c4579b6e8e61afbed6cd2e1b4ec62a93eff5cf39400bbefe8c257bc7d460
MD5 4dd318220658842c2db273920791ac0d
BLAKE2b-256 4b3ed6bf24307fd09344c9309b30e930dc40c548008a3d7deac028fb6942aabd

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