Skip to content

A Julia binding for libstrophe #8

@Klafyvel

Description

@Klafyvel

Hi there, following a suggestion by @sjaeckel I am opening an issue on this repository.

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 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. 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. 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. 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, 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions