3 Commits

Author SHA1 Message Date
Renato Ambrosone
b0bda64b39 FIX: correct command example
Change-Id: Idde1a192532d5a81fa8e3d7bff11c08a96eb0902
2025-03-27 11:26:55 +01:00
Renato Ambrosone
fbb3d1dc7a FIX: correct json example
Change-Id: Ic138d8bb3dc5147cd6fa0f446dbfe01528bee9be
2025-03-27 11:26:02 +01:00
Renato Ambrosone
2133ded1a8 FIX: Missing 'path-request' registration in app initialization
Change-Id: Ia1d842efc5a536e5e2ef98920194a8d05604ff3e
2025-03-26 18:07:37 +01:00
3 changed files with 1575 additions and 1095 deletions

View File

@@ -1,34 +1,14 @@
# GNPy API
[![Python versions](https://img.shields.io/pypi/pyversions/gnpy)](https://pypi.org/project/gnpy/)
REST API (experimental)
-----------------------
``gnpyapi`` provides an experimental api for requesting several paths at once. It is based on Flask server.
You can run it through command line or Docker.
.. code-block:: shell-session
$ gnpy-rest
.. code-block:: shell-session
$ docker run -p 8080:8080 -it emmanuelledelfour/gnpy-experimental:candi-1.1 gnpy-rest
When starting the api server will aks for an encryption/decryption key. This key i used to encrypt equipment file when using /api/v1/equipments endpoint.
This key is a Fernet key and can be generated this way:
.. code-block:: python
from cryptography.fernet import Fernet
Fernet.generate_key()
After typing the key, you can detach the container by typing ^P^Q.
After starting the api server, you can launch a request
.. code-block:: shell-session
$ curl -v -X POST -H "Content-Type: application/json" -d @<PATH_TO_JSON_REQUEST_FILE> https://localhost:8080/api/v1/path-computation -k
$ curl --location 'http://localhost:8080/api/v1/path-request' --header 'Content-Type: application/json' --data @gnpyapi/exampledata/planning_demand_example.json
TODO: api documentation, unit tests, real WSGI server with trusted certificates

View File

@@ -5,3 +5,5 @@
from flask import Flask
app = Flask(__name__)
import gnpyapi.core.route.path_request_route # noqa: F401, E402

File diff suppressed because it is too large Load Diff