#include #include #include #include "../src/nnet_language_identifier.h" namespace pybind11 { using chrome_lang_id::NNetLanguageIdentifier; // This is conventional. namespace py = pybind11; PYBIND11_MODULE(pybind_ext, py_module) { py::class_(py_module, "NNetLanguageIdentifier") .def(py::init(), py::arg("min_num_bytes"), py::arg("max_num_bytes")) .def("FindLanguage", &NNetLanguageIdentifier::FindLanguage, py::arg("text")) .def("FindTopNMostFreqLangs", &NNetLanguageIdentifier::FindTopNMostFreqLangs, py::arg("text"), py::arg("num_langs")) .def_readonly_static("kUnknown", &NNetLanguageIdentifier::kUnknown) .def_readonly_static("kMinNumBytesToConsider", &NNetLanguageIdentifier::kMinNumBytesToConsider) .def_readonly_static("kMaxNumBytesToConsider", &NNetLanguageIdentifier::kMaxNumBytesToConsider) .def_readonly_static("kMaxNumInputBytesToConsider", &NNetLanguageIdentifier::kMaxNumInputBytesToConsider) .def_readonly_static("kReliabilityThreshold", &NNetLanguageIdentifier::kReliabilityThreshold) .def_readonly_static("kReliabilityHrBsThreshold", &NNetLanguageIdentifier::kReliabilityHrBsThreshold); py::class_(py_module, "Result") .def_readwrite("language", &NNetLanguageIdentifier::Result::language) .def_readwrite("probability", &NNetLanguageIdentifier::Result::probability) .def_readwrite("is_reliable", &NNetLanguageIdentifier::Result::is_reliable) .def_readwrite("proportion", &NNetLanguageIdentifier::Result::proportion); } } // namespace pybind11