No project description provided
Project description
GNPy API
REST API (experimental)
This repository extends GNPy with additional interfaces, allowing for more flexible control and interaction with its simulation engine. These interfaces can be used to integrate GNPy into software-defined networking (SDN) architectures or other external applications.
GNPy is an open-source Python-based library that models and evaluates the performance of optical networks. It is widely used for path computation, QoT (Quality of Transmission) estimation, and network planning.
🚀 Installation
Build from Source - Option 1
Clone the repository and install the package:
python3 setup.py install
or if you want to install it in a docker container:
docker docker build ./ -t gnpy-api
PiPy - Option 2
pip install gnpy-api
DockerHub - Option 3
Coming....
Quick Start
🧪 Usage - CLI
Start the REST API server:
python ./samples/rest_example.py
See the help for the REST API:
python ./samples/rest_example.py -h
Send example data to the REST API:
curl --location 'https://localhost:8080/api/v0.1/path-request' --header 'Content-Type: application/json' --data @gnpyapi/exampledata/planning_demand_example.json -k
🧪 Usage - Docker
🔄 Compatibility
Different versions of this interface extension are compatible with specific versions of GNPy. Please refer to the table below to ensure that you are using a supported version combination.
| Interface Version | Compatible GNPy Version | Notes |
|---|---|---|
v0.2.x |
>=2.14 |
YANG model validation |
v0.1.x |
>=2.12.1 |
Initial release |
⚠️ If you use an incompatible combination, some features may not work correctly or may produce unexpected errors.
To check your GNPy version, run:
pip show gnpy
📚 Documentation
Refer to the official GNPy documentation for information about network modeling and simulation capabilities.
API documentation is available in the docs folder.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gnpy_api-0.2.0.tar.gz.
File metadata
- Download URL: gnpy_api-0.2.0.tar.gz
- Upload date:
- Size: 66.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c1e37da5e2f7bae41a3f5912e1bb7b6b14200df1ed15e2226a95f899bfdfc0d
|
|
| MD5 |
db549ff61dd89e2f925a35e21996adf9
|
|
| BLAKE2b-256 |
b80f15324dbdb9ab868bbdb1f965de43256a5594b1f242d9e1973c85d4c26752
|
Provenance
The following attestation bundles were made for gnpy_api-0.2.0.tar.gz:
Publisher:
main.yml on Telecominfraproject/oopt-gnpy-api
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnpy_api-0.2.0.tar.gz -
Subject digest:
3c1e37da5e2f7bae41a3f5912e1bb7b6b14200df1ed15e2226a95f899bfdfc0d - Sigstore transparency entry: 1254928654
- Sigstore integration time:
-
Permalink:
Telecominfraproject/oopt-gnpy-api@33ed7656daa57de19ac894a5802eb441a7dc9a24 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Telecominfraproject
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@33ed7656daa57de19ac894a5802eb441a7dc9a24 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gnpy_api-0.2.0-py3-none-any.whl.
File metadata
- Download URL: gnpy_api-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2582505e86276fafb47de7a4085ce75ec907ebb5261a83d85d802817b3c5c9c7
|
|
| MD5 |
959223373f31cb1c913138a768bd8338
|
|
| BLAKE2b-256 |
28687eb22c9cbc20fa241b68ccb778accf397554d745b15c8212fc37d83e89f1
|
Provenance
The following attestation bundles were made for gnpy_api-0.2.0-py3-none-any.whl:
Publisher:
main.yml on Telecominfraproject/oopt-gnpy-api
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnpy_api-0.2.0-py3-none-any.whl -
Subject digest:
2582505e86276fafb47de7a4085ce75ec907ebb5261a83d85d802817b3c5c9c7 - Sigstore transparency entry: 1254928729
- Sigstore integration time:
-
Permalink:
Telecominfraproject/oopt-gnpy-api@33ed7656daa57de19ac894a5802eb441a7dc9a24 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Telecominfraproject
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@33ed7656daa57de19ac894a5802eb441a7dc9a24 -
Trigger Event:
push
-
Statement type: