| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include <pybind11/pybind11.h>
- #include <pybind11/pytypes.h>
- #include <pybind11/stl.h>
- #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_<NNetLanguageIdentifier>(py_module, "NNetLanguageIdentifier")
- .def(py::init<const int, const int>(), 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_<NNetLanguageIdentifier::Result>(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
|