Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BigARTM & C# .NET #913

Open
aleksblock opened this issue May 3, 2018 · 1 comment
Open

BigARTM & C# .NET #913

aleksblock opened this issue May 3, 2018 · 1 comment

Comments

@aleksblock
Copy link

Hi! I'm developing WinForms applications in C#. Please tell me how I can use the library BigARTM in C#. Can be there is examples? How you can use the classes in message.cs in csharp folder? Thanks,Alex.

@ofrei
Copy link
Contributor

ofrei commented May 3, 2018

Hi @aleksblock
I don't have examples to share, however there was one proprietary project that used BigARTM from C# - so it's possible, and not to much work. Starting point is here:
http://docs.bigartm.org/en/stable/api_references/c_interface.html
This page describes low-level BigARTM API in C, which is callable from C# via PInvoke. Can you try to call ArtmGetVersion from artm.dll, and let me know if it works for you?

For more complex method you need to pass (or retrieve) messages -- either as protobuf, or as json. If you choose protobuf, you'll need to compile messages.proto file into C# classes. Instructions in csharp folder are somewhat outdated - BigARTM now uses protobuf 3.0, which has out of the box support for C# (https://developers.google.com/protocol-buffers/docs/csharptutorial ). If you choose to pass messages as json, take a look here : https://developers.google.com/protocol-buffers/docs/proto3#json , and of course at messages.proto .

I'm happy to discuss in more details. Btw, have you already used BigARTM from C++ or from Python? These APIs also go through low-level C interface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants