Skip to main content

sanskrit-tokenizer

Tokenize Sanskrit text with sandhi splitting for Information Retrieval.

pip install sanskrit-tokenizer

Quick start

from sanskrit_tokenizer import tokenize

tokenize("dharmakṣetre kurukṣetre")
# ['dharmakṣetre', 'kurukṣetre']

tokenize("धर्म योग")
# ['धर्म', 'योग']

tokenize("devālaya namaḥ")
# ['deva', 'ālaya', 'namaḥ']

tokenize() accepts both Devanagari and IAST input — output script matches input. Splits on whitespace and punctuation, applies reverse sandhi rules, and preserves the original script.

Sandhi splitting

from sanskrit_tokenizer.sandhi import split_sandhi

split_sandhi("devālaya")     # savarṇa-dīrgha: a + ā → ā
# ['deva', 'ālaya']

split_sandhi("rāmāyaṇa")    # savarṇa-dīrgha: a + ā → ā
# ['rāma', 'āyaṇa']

split_sandhi("देवालय")        # Devanagari in → Devanagari out
# ['देव', 'आलय']

split_sandhi("dharmakṣetre")  # no false-positive split
# ['dharmakṣetre']

Rule-based engine covering vowel sandhi (savarṇa-dīrgha, guṇa, vṛddhi, yān, ayādi), consonant sandhi (voicing, nasal assimilation), and visarga sandhi. Uses a scoring threshold to prevent false-positive splits.

Transliteration

from sanskrit_tokenizer.transliterate import (
    devanagari_to_iast,
    iast_to_devanagari,
    is_devanagari,
)

devanagari_to_iast("संस्कृत")
# 'saṃskṛta'

iast_to_devanagari("dharma")
# 'धर्म'

is_devanagari("संस्कृत")
# True

Word-level tokenization

from sanskrit_tokenizer import tokenize_words

tokenize_words("dharma yoga namaḥ")
# ['dharma', 'yoga', 'namaḥ']

tokenize_words("धर्म योग")
# ['धर्म', 'योग']

tokenize_words() splits on whitespace and punctuation only — no sandhi splitting.

CLI

sanskrit-tokenize "dharma yoga"
# dharma
# yoga

sanskrit-tokenize "धर्म योग"
# धर्म
# योग

sanskrit-tokenize --no-sandhi "devālaya"
# devālaya

sanskrit-tokenize -s " " "dharma yoga"
# dharma yoga

sanskrit-tokenize --version
# sanskrit-tokenize 0.2.0
  • --no-sandhi — word-level only, skip sandhi splitting
  • --separator SEP — output separator (default: newline)
  • --version — show version

License

MIT © Hemanth.HM

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sanskrit_tokenizer-0.2.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sanskrit_tokenizer-0.2.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file sanskrit_tokenizer-0.2.0.tar.gz.

File metadata

  • Download URL: sanskrit_tokenizer-0.2.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for sanskrit_tokenizer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bfc01fbbf39c3852683fa8b8436600aaaac7c39e6c7efa0ce894a61724739e54
MD5 db04655229489eae6ffdf40b18584563
BLAKE2b-256 6f0a19a430eb669507b37b58b0fcd0f50b159822ac260bdbda85876fb944a0e0

See more details on using hashes here.

File details

Details for the file sanskrit_tokenizer-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sanskrit_tokenizer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fb1307a5f7e47f768bd63b2229f295c8a9c45b9d386c64b0fce91e5137efc7b
MD5 ddcb5ef9ea3efecf9895ce09eb575b41
BLAKE2b-256 fc3eb5931f3e0bd30bacc106aaaa7524964f3ffe11d72ac3da51ee2b4fe5834a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page