Skip to main content

Crate obadh_engine

Crate obadh_engine 

Source
Expand description

Obadh Engine — a deterministic Roman→Bangla transliteration engine and runtime SDK for Bangla typing systems.

The core transliterator is rule-based: Roman input becomes Bengali because an Obadh rule says so, not because a dictionary or model guessed a word. Higher runtime layers sit above that core as separate, optional stages:

  • engine — the deterministic tokenizer and transliterator (ObadhEngine).
  • autocorrect — active-word candidate generation over memory-mapped FST artifacts, each candidate carrying its provenance (FstCandidate). Auto-insert policy is the caller’s; the engine supplies the signals (source, edit costs, and lexicon frequency).
  • autosuggest — next-word runtime over committed Bengali text, with a bounded personal overlay and an optional neural scorer/generator handoff.

The default feature set is empty, so native downstreams pay for none of the CLI or browser tooling. A stable, versioned C ABI is available behind the cabi feature (see the cabi module and include/obadh.h); the obadh-ios keyboard is the reference integrator.

See the README for the Roman rule contract, the reference auto-insert policy, and performance numbers.

Re-exports§

pub use autocorrect::build_loanword_bytes;
pub use autocorrect::is_loanword_key;
pub use autocorrect::key_slip_repaired_outputs;
pub use autocorrect::roman_repair_beam;
pub use autocorrect::roman_repaired_outputs;
pub use autocorrect::weighted_edit_distance;
pub use autocorrect::AutocorrectConfig;
pub use autocorrect::AutocorrectDecision;
pub use autocorrect::AutocorrectEngine;
pub use autocorrect::CandidateFeatures;
pub use autocorrect::CorrectionCandidate;
pub use autocorrect::CorrectionRequest;
pub use autocorrect::CorrectionSource;
pub use autocorrect::EditCost;
pub use autocorrect::FstCandidate;
pub use autocorrect::FstCandidateSource;
pub use autocorrect::FstLexicon;
pub use autocorrect::FstLoanwordMatch;
pub use autocorrect::FstRepairedBaseline;
pub use autocorrect::FstSuggestError;
pub use autocorrect::FstSuggestOptions;
pub use autocorrect::FstSuggestResult;
pub use autocorrect::Lexicon;
pub use autocorrect::LexiconArtifactError;
pub use autocorrect::LexiconEntry;
pub use autocorrect::LexiconStats;
pub use autocorrect::LoanwordArtifactError;
pub use autocorrect::LoanwordEntry;
pub use autocorrect::LoanwordLexicon;
pub use autocorrect::LoanwordMatch;
pub use autocorrect::LoanwordSearchOptions;
pub use autocorrect::LoanwordSuggestion;
pub use autocorrect::LoanwordSuggestionKind;
pub use autocorrect::RomanRepair;
pub use autocorrect::RomanRepairKind;
pub use autocorrect::RomanRepairOptions;
pub use autocorrect::RomanRepairedOutput;
pub use autocorrect::AUTOCORRECT_FEATURE_DIM;
pub use autocorrect::DEFAULT_FST_MAX_DISTANCE;
pub use autocorrect::DEFAULT_FST_PREFIX_CANDIDATES;
pub use autocorrect::DEFAULT_LOANWORD_FUZZY_CANDIDATES;
pub use autocorrect::DEFAULT_ROMAN_REPAIR_BEAM_SIZE;
pub use autocorrect::FST_MAX_LEVENSHTEIN_DISTANCE;
pub use autocorrect::LOANWORD_FUZZY_MAX_DISTANCE;
pub use autosuggest::AutosuggestLoadError;
pub use autosuggest::accept_open_vocab_texts_into;
pub use autosuggest::materialize_generated_candidates_into;
pub use autosuggest::materialize_merged_candidates_into;
pub use autosuggest::materialize_scored_union_candidates_into;
pub use autosuggest::merge_static_and_generated_candidates_into;
pub use autosuggest::merge_static_generated_and_open_vocab_candidates_into;
pub use autosuggest::rerank_candidate_ids_with_fixed_scores_into;
pub use autosuggest::rerank_candidate_ids_with_scores_into;
pub use autosuggest::scored_union_static_and_generated_candidates_into;
pub use autosuggest::scorer_candidate_i32s_for_candidates_into;
pub use autosuggest::scorer_candidate_ids_for_candidates_into;
pub use autosuggest::validate_open_vocab_text;
pub use autosuggest::AutosuggestArtifactError;
pub use autosuggest::AutosuggestCandidate;
pub use autosuggest::AutosuggestCandidateId;
pub use autosuggest::AutosuggestCandidatePrior;
pub use autosuggest::AutosuggestContext;
pub use autosuggest::AutosuggestContextPriorMetadata;
pub use autosuggest::AutosuggestContextPriorOptions;
pub use autosuggest::AutosuggestGeneratedCandidateId;
pub use autosuggest::AutosuggestGeneratorCompatibility;
pub use autosuggest::AutosuggestGeneratorFile;
pub use autosuggest::AutosuggestGeneratorHandoff;
pub use autosuggest::AutosuggestGeneratorHandoffError;
pub use autosuggest::AutosuggestGeneratorManifest;
pub use autosuggest::AutosuggestGeneratorManifestError;
pub use autosuggest::AutosuggestGeneratorMergeOptions;
pub use autosuggest::AutosuggestGeneratorMergedQuality;
pub use autosuggest::AutosuggestGeneratorModel;
pub use autosuggest::AutosuggestGeneratorNgram;
pub use autosuggest::AutosuggestGeneratorQuality;
pub use autosuggest::AutosuggestGeneratorQualityMetrics;
pub use autosuggest::AutosuggestGeneratorRuntimeContract;
pub use autosuggest::AutosuggestGeneratorScoredUnionPolicy;
pub use autosuggest::AutosuggestGeneratorScoredUnionQuality;
pub use autosuggest::AutosuggestGeneratorSession;
pub use autosuggest::AutosuggestLm;
pub use autosuggest::AutosuggestMaterializedGeneratedCandidate;
pub use autosuggest::AutosuggestMaterializedMergedCandidate;
pub use autosuggest::AutosuggestMaterializedScoredCandidate;
pub use autosuggest::AutosuggestMaterializedScoredUnionCandidate;
pub use autosuggest::AutosuggestMergedCandidateId;
pub use autosuggest::AutosuggestMergedCandidateSource;
pub use autosuggest::AutosuggestMetadata;
pub use autosuggest::AutosuggestModelInfo;
pub use autosuggest::AutosuggestOpenVocabError;
pub use autosuggest::AutosuggestOpenVocabPolicy;
pub use autosuggest::AutosuggestOpenVocabRejectionKind;
pub use autosuggest::AutosuggestOpenVocabValidationReport;
pub use autosuggest::AutosuggestOptions;
pub use autosuggest::AutosuggestRerankError;
pub use autosuggest::AutosuggestRerankInputMetadata;
pub use autosuggest::AutosuggestRerankOptions;
pub use autosuggest::AutosuggestResult;
pub use autosuggest::AutosuggestScoredCandidateId;
pub use autosuggest::AutosuggestScoredUnionCandidateId;
pub use autosuggest::AutosuggestScorerCompatibility;
pub use autosuggest::AutosuggestScorerFile;
pub use autosuggest::AutosuggestScorerHandoff;
pub use autosuggest::AutosuggestScorerHandoffError;
pub use autosuggest::AutosuggestScorerManifest;
pub use autosuggest::AutosuggestScorerManifestError;
pub use autosuggest::AutosuggestScorerModel;
pub use autosuggest::AutosuggestScorerNgram;
pub use autosuggest::AutosuggestScorerQuality;
pub use autosuggest::AutosuggestScorerQualityMetrics;
pub use autosuggest::AutosuggestScorerRuntimeContract;
pub use autosuggest::AutosuggestScorerSession;
pub use autosuggest::AutosuggestSession;
pub use autosuggest::AutosuggestSource;
pub use autosuggest::AutosuggestUnifiedCandidate;
pub use autosuggest::AutosuggestUnifiedCandidateKind;
pub use autosuggest::AutosuggestValidatedTextCandidate;
pub use autosuggest::PersonalAutosuggest;
pub use autosuggest::PersonalAutosuggestConfig;
pub use autosuggest::PersonalAutosuggestContext;
pub use autosuggest::PersonalAutosuggestError;
pub use autosuggest::PersonalAutosuggestSnapshotError;
pub use autosuggest::PersonalAutosuggestSuggestion;
pub use autosuggest::PersonalAutosuggestTextSuggestion;
pub use autosuggest::AUTOSUGGEST_ARTIFACT_KIND;
pub use autosuggest::AUTOSUGGEST_BOS_I32;
pub use autosuggest::AUTOSUGGEST_BOS_ID;
pub use autosuggest::AUTOSUGGEST_GENERATOR_COREML_INPUT_DTYPE;
pub use autosuggest::AUTOSUGGEST_GENERATOR_MANIFEST_VERSION;
pub use autosuggest::AUTOSUGGEST_GENERATOR_ONNX_INPUT_DTYPE;
pub use autosuggest::AUTOSUGGEST_GENERATOR_PACKAGE_KIND;
pub use autosuggest::AUTOSUGGEST_GENERATOR_RUNTIME_ROLE;
pub use autosuggest::AUTOSUGGEST_GENERATOR_SCORE_DTYPE;
pub use autosuggest::AUTOSUGGEST_GENERATOR_TOKEN_ID_DTYPE;
pub use autosuggest::AUTOSUGGEST_PAD_I32;
pub use autosuggest::AUTOSUGGEST_PAD_ID;
pub use autosuggest::AUTOSUGGEST_SCORER_COREML_INPUT_DTYPE;
pub use autosuggest::AUTOSUGGEST_SCORER_MANIFEST_VERSION;
pub use autosuggest::AUTOSUGGEST_SCORER_ONNX_INPUT_DTYPE;
pub use autosuggest::AUTOSUGGEST_SCORER_PACKAGE_KIND;
pub use autosuggest::AUTOSUGGEST_SCORER_RUNTIME_ROLE;
pub use autosuggest::AUTOSUGGEST_SCORER_SCORE_DTYPE;
pub use autosuggest::AUTOSUGGEST_SCORER_TOKEN_ID_DTYPE;
pub use autosuggest::AUTOSUGGEST_UNK_I32;
pub use autosuggest::AUTOSUGGEST_UNK_ID;
pub use autosuggest::DEFAULT_AUTOSUGGEST_CANDIDATES;
pub use autosuggest::DEFAULT_AUTOSUGGEST_GENERATOR_LOCKED_STATIC_PREFIX;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_GENERATED_TEXT_PENALTY;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_GENERATED_TEXT_RANK_PENALTY;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_GENERATED_TOKEN_PENALTY;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_GENERATED_TOKEN_RANK_PENALTY;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_MAX_CANDIDATES;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_MAX_SCALAR_RUN;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_MAX_WORD_CHARS;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_OVERLAP_BONUS;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_STATIC_BONUS;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_STATIC_LOG_COUNT_SCALE;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_STATIC_RANK_PENALTY;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_STATIC_SOURCE_BONUS;
pub use autosuggest::DEFAULT_AUTOSUGGEST_OPEN_VOCAB_TEXT_HEAP_BYTES;
pub use autosuggest::DEFAULT_AUTOSUGGEST_RERANK_LOCKED_PREFIX;
pub use autosuggest::DEFAULT_AUTOSUGGEST_RERANK_RANK_PENALTY;
pub use autosuggest::DEFAULT_PERSONAL_AUTOSUGGEST_ENTRIES;
pub use autosuggest::DEFAULT_PERSONAL_AUTOSUGGEST_MIN_COUNT;
pub use autosuggest::MAX_AUTOSUGGEST_CONTEXT_TOKENS;
pub use autosuggest::MAX_AUTOSUGGEST_RERANK_CONTEXT_TOKENS;
pub use autosuggest::AutosuggestGeneratorAsset;
pub use autosuggest::AutosuggestGeneratorAssetReport;
pub use autosuggest::AutosuggestScorerAsset;
pub use autosuggest::AutosuggestScorerAssetReport;
pub use engine::PhoneticUnit;
pub use engine::PhoneticUnitType;
pub use engine::Token;
pub use engine::TokenType;
pub use engine::Tokenizer;
pub use engine::SanitizeResult;
pub use engine::Sanitizer;
pub use fingerprint::artifact_fingerprint;
pub use fingerprint::verify_artifact_fingerprint;
pub use fingerprint::FingerprintMismatch;

Modules§

autocorrect
Runtime autocorrect primitives for Bangla text produced above Obadh.
autosuggest
Compact next-word autosuggest runtime.
definitions
Definitions for the Obadh Engine
engine
Engine module for the Obadh transliteration system
fingerprint
Content fingerprints for pinned runtime artifacts.

Structs§

ObadhEngine
Main entry point for the Obadh transliteration engine