Skip to main content

Features

  • Electro-optic devices: most common electro-optic devices are implemented in the package (opticomlib.devices):

    • PRBS: Pseudo Random Binary Sequence Generator
    • DAC: Digital to Analog Converter
    • ADC: Analog to Digital Converter
    • LASER: Continuous Wave Laser
    • PM: Phase Modulator
    • MZM: Mach-Zehnder Modulator (intensity modulator)
    • FIBER: Optical Fiber (with GPU acceleration support by default)
    • DBP: Back-Propagation algoritm
    • DM: Pure Dispersive Medium
    • PD: Photodetector
    • EDFA: Erbium Doped Fiber Amplifier
    • SAMPLER: electrical sampler
    • LPF: Low Pass Filter
    • BPF: Band Pass Filter
    • GET_EYE: Eye Diagram parameters estimator
    • FBG: Fiber Bragg Grating
    • ... and more in the future
  • Modulation formats: modulations are implemented in separate modules, with their own functionalities:

    • OOK: On-Off Keying (opticomlib.ook)
    • PPM: Pulse Position Modulation (opticomlib.ppm)
    • ... and more in the future
  • Objects types: methods for signal processing and visualization are integrated in the following objects:

    • binary_sequence: object for binary sequences (NumPy compatible)
    • electrical_signal: object for electrical signals (NumPy compatible)
    • optical_signal: object for optical signals
    • eye: object for eye diagrams
  • Laboratory utilities: framework for communication with laboratory equipment and post-processing of data (opticomlib.lab).

Installation

You can install opticomlib using pip:

pip install opticomlib

or from source code:

pip install git+https://github.com/armando-palacio/opticomlib.git

What's New in v2.0.0

  • NumPy Compatibility: binary_sequence and electrical_signal now fully support NumPy protocols, allowing direct use with NumPy functions.
  • GPU Acceleration: FIBER simulation now supports GPU acceleration using CuPy.
  • New Lab Module: Drivers for laboratory equipment (PED, Lasers, Oscilloscopes) in opticomlib.lab.
  • Enhanced Logging: Hierarchical logging system for better debugging.
  • New Utilities: Added eyediagram, phase_estimator, get_psd, and more.
  • Breaking Changes: See the full changelog for details on API changes (e.g., property access for .size, .type, NULL sentinel for noise).

License

This project is licensed under the terms of the MIT license.

Contact

If you wish to contact me you can do so at armandopr3009@gmail.com.

Release files for opticomlib 2.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opticomlib 2.0.3
File Size Uploaded
opticomlib-2.0.3.tar.gz 92.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opticomlib 2.0.3
File Interpreter ABI Platform
opticomlib-2.0.3-py3-none-any.whl Python 3 none any Details

Total release size:187.6 kB

Release files / opticomlib-2.0.3.tar.gz

Download URL opticomlib-2.0.3.tar.gz
Size 92.8 kB
Tags Source
SHA-256 checksum
How to use checksums
96394e79a2a7639bbf14b39e8b2d46bdb5bdd2f1b7450cce3f0475130bea55d6
BLAKE2b-256 checksum
How to use checksums
f76fcf04f3e2f12ec7e75fec891f7464b3f8f3be2e8f9d8865691b6eb5c8a859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / opticomlib-2.0.3-py3-none-any.whl

Download URL opticomlib-2.0.3-py3-none-any.whl
Size 94.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a77073b76903e0791f5bd3016d3b201e9ec15810ebb9f4e66f68949aac2e7700
BLAKE2b-256 checksum
How to use checksums
3cc0c551297fb031b2ad32b1ec17fd2c7762d39fc1a890b02a4a621399a8d902
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.0.3 This release

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.5.11

2 release files

0.4.11

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page