5 releases (breaking)
Uses old Rust 2015
| 0.5.0 | Apr 7, 2018 |
|---|---|
| 0.4.0 | Mar 2, 2018 |
| 0.3.0 | Feb 13, 2018 |
| 0.2.0 | Feb 9, 2018 |
| 0.1.0 | Feb 7, 2018 |
#647 in Machine learning
84KB
2K
SLoC
Machine Box Client
machinebox is a Rust client for the machinebox.io suite of machines. It provides a simple means of accessing the machines, exposing common functionality to all machines as well as box-specific functionality. Each "box" or "box type" is separated into its own module and struct.
Modules
The following is a list of the modules corresponding to machinebox types and which ones have been implemented so far:
- Textbox
- Facebox
- Tagbox
- Videobox
- Nudebox
- Suggestionbox
- Fakebox
Usage
To use features, simply call the appropriate function on the corresponding box:
extern crate machinebox;
use machinebox::textbox::Textbox;
use machinebox::BoxClient;
// Make sure you actually have a textbox running here...
let tb = Textbox::new("http://localhost:8080");
let analysis = tb.check("Pay William $200 tomorrow");
if let Ok(res) = analysis {
let money = res.sentences[0].entities.iter().find(|e| e.entity_type == "money");
match money {
Some(val) => println!("You specified {}", val.text),
None => println!("You didn't indicate money"),
}
}
The above code will analyse the phrase Pay William $200 tomorrow, flagging
tomorrow as a date and 200 as an entity of type money.
Notes
If you run the tests locally, you'll need RUST_TEST_THREADS=1 because the mock HTTP server
persists throughout the lifetime of the test run.
Dependencies
~14–24MB
~427K SLoC