Metadata-Version: 2.4
Name: gnpy
Version: 2.13.0
Home-page: https://github.com/Telecominfraproject/oopt-gnpy
Author: Telecom Infra Project
Author-email: jkt@jankundrat.com
License: BSD-3-Clause
Project-URL: Bug Tracker, https://github.com/Telecominfraproject/oopt-gnpy/issues
Project-URL: Documentation, https://gnpy.readthedocs.io/
Keywords: optics,network,fiber,communication,route,planning,optimization
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: System :: Networking
Requires-Python: >=3.8
Description-Content-Type: text/markdown; variant=GFM
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: matplotlib<4,>=3.7.3
Requires-Dist: networkx<4,>=3.1
Requires-Dist: numpy<2,>=1.24.4
Requires-Dist: oopt_gnpy_libyang>=0.0.14
Requires-Dist: openpyxl<4,>=3.1.5
Requires-Dist: pbr<7,>=6.0.0
Requires-Dist: scipy<2,>=1.10.1
Requires-Dist: xlrd<3,>=2.0.1
Provides-Extra: tests
Requires-Dist: build<2,>=1.0.3; extra == "tests"
Requires-Dist: pytest<8,>=7.4.3; extra == "tests"
Requires-Dist: pandas<3,>=2.0.3; extra == "tests"
Requires-Dist: flake8<6,>=5.0.4; extra == "tests"
Provides-Extra: docs
Requires-Dist: alabaster<1,>=0.7.12; extra == "docs"
Requires-Dist: docutils<1,>=0.17.1; extra == "docs"
Requires-Dist: myst-parser<5,>=4.0.1; extra == "docs"
Requires-Dist: Pygments<3,>=2.11.2; extra == "docs"
Requires-Dist: rstcheck; extra == "docs"
Requires-Dist: Sphinx<9,>=8.1.3; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex<3,>=2.4.1; extra == "docs"
Requires-Dist: sphinx_rtd_theme<4,>=3.0.2; extra == "docs"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python

# GNPy: Optical Route Planning and DWDM Network Optimization

[![Install via pip](https://img.shields.io/pypi/v/gnpy)](https://pypi.org/project/gnpy/)
[![Python versions](https://img.shields.io/pypi/pyversions/gnpy)](https://pypi.org/project/gnpy/)
[![Documentation status](https://readthedocs.org/projects/gnpy/badge/?version=master)](http://gnpy.readthedocs.io/en/master/?badge=master)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/Telecominfraproject/oopt-gnpy/main.yml)](https://github.com/Telecominfraproject/oopt-gnpy/actions/workflows/main.yml)
[![Gerrit](https://img.shields.io/badge/patches-via%20Gerrit-blue)](https://review.gerrithub.io/q/project:Telecominfraproject/oopt-gnpy+is:open)
[![Contributors](https://img.shields.io/github/contributors-anon/Telecominfraproject/oopt-gnpy)](https://github.com/Telecominfraproject/oopt-gnpy/graphs/contributors)
[![Code Coverage via codecov](https://img.shields.io/codecov/c/github/Telecominfraproject/oopt-gnpy)](https://codecov.io/gh/Telecominfraproject/oopt-gnpy)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3458319.svg)](https://doi.org/10.5281/zenodo.3458319)
[![Matrix chat](https://img.shields.io/matrix/oopt-gnpy:matrix.org)](https://matrix.to/#/%23oopt-gnpy%3Amatrix.org?via=matrix.org)

GNPy is an open-source, community-developed library for building route planning and optimization tools in real-world mesh optical networks.
We are a consortium of operators, vendors, and academic researchers sponsored via the [Telecom Infra Project](http://telecominfraproject.com)'s [OOPT/PSE](https://telecominfraproject.com/open-optical-packet-transport) working group.
Together, we are building this tool for rapid development of production-grade route planning tools which is easily extensible to include custom network elements and performant to the scale of real-world mesh optical networks.

![GNPy with an OLS system](docs/images/GNPy-banner.png)

## Quick Start

Install either via [Docker](https://gnpy.readthedocs.io/en/master/install.html#using-prebuilt-docker-images), or as a [Python package](https://gnpy.readthedocs.io/en/master/install.html#using-python-on-your-computer).
Read our [documentation](https://gnpy.readthedocs.io/), learn from the demos, and [get in touch with us](https://github.com/Telecominfraproject/oopt-gnpy/discussions).

This example demonstrates how GNPy can be used to check the expected SNR at the end of the line by varying the channel input power:

![Running a simple simulation example](docs/images/gnpy-transmission-example.svg)

GNPy can do much more, including acting as a Path Computation Engine, tracking bandwidth requests, or advising the SDN controller about a best possible path through a large DWDM network.
Learn more about this [in the documentation](https://gnpy.readthedocs.io/), or give it a [try online at `gnpy.app`](https://gnpy.app/):

[![Path propagation at gnpy.app](docs/images/2022-04-12-gnpy-app.png)](https://gnpy.app/)

## Project Calendar

See upcoming meetings on the [Project Calendar](https://telecominfraproject.github.io/oopt-gnpy/calendar.html). The calendar is embedded from Google Calendar and updates automatically.

