Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.09 KB

Language-Bindings.md

File metadata and controls

69 lines (51 loc) · 2.09 KB
title
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

b : Bridge mode in client connection

Linux MacOS Win10
C TUABb
Go TUABb TUABb Tb
Python TUABb TUABb Tb
Rust TUABb TUABb TUBb

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