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)