A Julia binding for libstrophe

8 views
Skip to first unread message

Hugo LEVY-FALK

unread,
Jan 25, 2026, 12:31:57 PM (9 days ago) Jan 25
to libst...@googlegroups.com

Good afternoon,

First of all, I would like to thank the developers for their work on libstrophe. 

Over the last weeks I have been using the library to get a better understanding of XMPP and it has been a real pleasure. I am currently working on a Julia (https://julialang.org/) binding for libstrophe. As is the common practice for this language, I have registered a binary package that makes it easy to distribute the shared library to Julia users (https://github.com/JuliaBinaryWrappers/libstrophe_jll.jl/). At this time, I have not been able to cross-compile it for Windows machines (cross-compilation is required here), but I will try to patch the library later. In the Julia ecosystem, this kind of binary package is usually accompanied by a binding package that makes it easier to use the library. I have started to work on this (https://github.com/Klafyvel/Strophe.jl). In its current state, the binding gives a nearly 1:1 binding to the C library. As is the common usage in Julia, I gave it a name based on the C library. Before registering the package on the Julia Registry, I would like to ask a few question:

  1. Is it OK with libstrophe maintainers to use the "strophe" name and call the Julia library "Strophe.jl"? I am also more than happy to transfer ownership to the strophe organization (https://github.com/strophe) if I can still be the maintainer of the Julia binding.
  2. I have started work to include a higher level API in Strophe.jl (https://github.com/Klafyvel/Strophe.jl/pull/9). For now, this is mostly geared towards abstracting most of the manual memory management that C imposes, which is a bit heavy for typical Julia applications. However, I would also like to optionally support a few XEP that are not directly provided by the C library (MUC support for example), although I am not yet settled on the form that this would take. I would also like to provide the boilerplate code required to use a logger that outputs directly to an XMPP conversation (in this, I got inspiration from Telegram.jl (https://github.com/Arkoniak/Telegram.jl/), which provides similar functionalities). Would it be OK to have these higher-level functionalities implemented in Strophe.jl, even though it strides away from the simplicity of the original library? Or would you rather have this implemented in a separate library?

Thank you for your opinions on these matters,
Best,
Klafyvel


Reply all
Reply to author
Forward
0 new messages