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§
- Obadh
Engine - Main entry point for the Obadh transliteration engine