Jan Kundrát dd3d2e1152 YANG: loading and storing topologies
GNPy's in-memory representation is closely modeled on the legacy JSON
files. Everything is a node, and the edges hold no data. In our YANG
models this is different, and all Fiber instances are stored as links.

Originally I wanted to be smart with Fused nodes and automatically
remove them "when they are not needed".  In legacy JSON, the `Fused`
thingy was sometimes placed as a magic clue to signify that no EDFA can
be put on that particular place. This is not needed in YANG, so I wanted
to remove these extra Fused nodes, but boy, was it a deep hole to dig
myself in.

FIXME: EDFAs are still placed even though the docs say otherwise!

Change-Id: I27bd9414e8237d94b980a200ce9f9792602b5430
2021-06-06 12:22:51 +02:00
2021-06-06 12:22:51 +02:00
2021-06-06 12:22:51 +02:00
2018-06-22 18:55:26 -04:00
2020-04-23 18:38:36 +02:00
2019-12-17 11:13:00 +01:00
2020-06-18 20:30:34 +02:00
2019-12-17 11:13:00 +01:00
2021-06-02 23:22:32 +02:00
2018-03-12 14:43:58 -04:00
2019-05-24 01:38:12 +02:00
2020-03-25 19:34:42 +01:00
2021-06-01 01:26:53 +02:00

GNPy: Optical Route Planning and DWDM Network Optimization

Install via pip Python versions Documentation status CI Gerrit Contributors Code Quality via LGTM.com Code Coverage via codecov DOI

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's OOPT/PSE 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

Quick Start

Install either via Docker, or as a Python package. Read our documentation, learn from the demos, and get in touch with us.

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

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.

Description
No description provided
Readme BSD-3-Clause 19 MiB
Latest
2025-09-26 10:01:21 +00:00
Languages
Python 100%