mirror of
https://github.com/Telecominfraproject/oopt-gnpy-api.git
synced 2025-10-29 17:12:32 +00:00
DOC: added first usage guide in README-md
Change-Id: Ieb899fc581b531d5331bd5398ac403149186ac1e
This commit is contained in:
72
README.md
72
README.md
@@ -1,17 +1,71 @@
|
|||||||
# GNPy API
|
# GNPy API
|
||||||
[](https://pypi.org/project/gnpy/)
|
[](https://pypi.org/project/gnpy-api/)
|
||||||
|
[](https://pypi.org/project/gnpy-api/)
|
||||||
|
[](https://review.gerrithub.io/q/project:Telecominfraproject/oopt-gnpy-api)
|
||||||
|
|
||||||
REST API (experimental)
|
REST API (experimental)
|
||||||
-----------------------
|
-----------------------
|
||||||
``gnpyapi`` provides an experimental api for requesting several paths at once. It is based on Flask server.
|
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.
|
||||||
You can run it through command line or Docker.
|
|
||||||
|
[GNPy](https://github.com/Telecominfraproject/oopt-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:
|
||||||
|
```bash
|
||||||
|
python3 setup.py install
|
||||||
|
```
|
||||||
|
or if you want to install it in a docker container:
|
||||||
|
```bash
|
||||||
|
docker docker build ./ -t gnpy-api
|
||||||
|
```
|
||||||
|
|
||||||
|
### PiPy - Option 2
|
||||||
|
```bash
|
||||||
|
pip install gnpy-api
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### DockerHub - Option 3
|
||||||
$ curl --location 'http://localhost:8080/api/v1/path-request' --header 'Content-Type: application/json' --data @gnpyapi/exampledata/planning_demand_example.json
|
Coming....
|
||||||
|
|
||||||
TODO: api documentation, unit tests, real WSGI server with trusted certificates
|
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
tbd
|
## 🧪 Usage - CLI
|
||||||
|
Start the REST API server:
|
||||||
|
```bash
|
||||||
|
python ./samples/rest_example.py
|
||||||
|
```
|
||||||
|
See the help for the REST API:
|
||||||
|
```bash
|
||||||
|
python ./samples/rest_example.py -h
|
||||||
|
```
|
||||||
|
Send example data to the REST API:
|
||||||
|
```bash
|
||||||
|
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](https://github.com/Telecominfraproject/oopt-gnpy). Please refer to the table below to ensure that you are using a supported version combination.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
| Interface Version | Compatible GNPy Version | Notes |
|
||||||
|
|-------------------|-----------------|--------------------------------|
|
||||||
|
| `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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip show gnpy
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📚 Documentation
|
||||||
|
Refer to the official [GNPy documentation](https://github.com/Telecominfraproject/oopt-gnpy/tree/master/docs) for information about network modeling and simulation capabilities.
|
||||||
|
|
||||||
|
API documentation is available in the docs folder.
|
||||||
Reference in New Issue
Block a user