CESNET / libyang-python

Python bindings for the libyang library
MIT License
62 stars 46 forks source link

Support for RESTCONF-like URL expressions #23

Open wisotzky opened 3 years ago

wisotzky commented 3 years ago

Today, libyang-python only supports XPATH expressions. There is a need to alternatively support RESTCONF compliant path expression, as specified in rfc8040.

XPATH expression example: /nokia-conf:configure/port[port-id=1/1/1]

Corresponding RESTCONF URL syntax /nokia-conf:configure/port=1%2F1%2F1

Usage information:

Example with multiple keys: In YANG the statement key: "p1 p2 p3 p4" for list mylist occurs. To access an object with p1="bla" and p4="bing" one would use the following URL path statement .../mylist=bla,,,bing/...

Rational: To convert a RESTCONF URL/PATH to XPATH is rather complex, because one needs to understand the list keys (aka requires to know the corresponding YANG file). As libyang has the knowledge the recommendation is to support URL style (model-path) out-of-the-box.

rjarry commented 3 years ago

Hi,

is that something that libyang supports? If not, it must be first supported by the C library. This project is only a python wrapper/binding on top of it.

wisotzky commented 3 years ago

Okay, will raise this against libyang2. Will keep this item open, so it can be considered as soon the lib feature is available.

wisotzky commented 3 years ago

I've opened this ticket: https://github.com/CESNET/libyang/issues/1622

samuel-gauthier commented 9 months ago

Hi @wisotzky, it does not seem that the libyang feature is going anywhere, can we close this?