This is a feature request to add a Rust API to xgboost.
It shouldn't be too difficult to call C functions from Rust. Every feature of XGBoost is exposed as C API functions, on which every other language bindings (Python, R, JVM, Julia) depend.
I've recently started working on this, have the C API bindings just about working, then will start on some higher level functionality.
Consolidating to #3439. Feel free to re-open this issue if you have any update on Rust API.
Happy for this to be re-opened (I'm not sure I have permissions), have made some progress on this here: https://github.com/davechallis/rust-xgboost
API is still very unstable (changing as I find out about parts of XGBoost that were previously unknown to me), but here's how some basic functionality currently looks: https://github.com/davechallis/rust-xgboost/blob/master/examples/basic/src/main.rs
@davechallis Can you open a separate PR with list of actionable items? So that you can track it as a owner
@tqchen Good idea, I'll try and get that together when I can. There are still quite a few things I'm experimenting with to work out the best way forward, but after that I should have a better idea of a roadmap to getting the API release.
@davechallis How is your progress with Rust binding?
@hcho3 Going well so far - I've got a 0.1.0 release ready, just trying to solve some packaging issue, then it should be ready. Just got back from holiday, so will hopefully try and work on that this weekend.
I've now published the initial Rust release of XGBoost bindings, built against v0.80 of XGBoost:
This consists of two crates:
Supports many major features of XGBoost, tested on linux/osx (windows not supported at the moment).
Feedback welcome, still working on making the API and configuration more ergonomic.
Is this Rust API still maintained? Also there is no official document on https://xgboost.readthedocs.io/ to show how to use it in Rust.
Most helpful comment
I've now published the initial Rust release of XGBoost bindings, built against v0.80 of XGBoost:
This consists of two crates:
Supports many major features of XGBoost, tested on linux/osx (windows not supported at the moment).
Feedback welcome, still working on making the API and configuration more ergonomic.
Links