Language Bindings

Existing language bindings

OS Support

T
TCP sockets
U
UNIX domain sockets
A
Activation via file descriptors
B
Bridge mode in CLI tool
  Linux MacOS Win10
C TUAB    
Go TUAB TUAB T
Python TUAB TUAB T
Rust TUAB TUAB TU

How to test new language bindings

Checkout the python varlink git repo:

$ git clone https://github.com/varlink/python.git
$ cd python
$ cat tests/org.varlink.certification.varlink

Write a varlink client for org.varlink.certification calling the methods:

Start(), Test01(), Test02(), , Testxx(), End()

The return value of the previous call should be the argument of the next call. See the example clients in python or rust.

Then you test your client against the python varlink certification server:

$ python -m varlink.tests.test_certification --varlink=tcp:127.0.0.1:12345

which now listens on 127.0.0.1:12345.

Next you write a varlink server providing the org.varlink.certification service like the python service. Now run your client against it and run well known clients like python or rust from https://github.com/varlink/ against your server. If all works out, then your new language bindings should be varlink certified.

[<img src="/images/varlink-certified.png" alt="varlink-certified" width="240" height="73">](https://varlink.org/Language-Bindings)

varlink-certified