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("devālaya")
# ['deva', 'ālaya']

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

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

tokenize() normalizes to IAST, splits on whitespace and punctuation, then applies reverse sandhi rules. Accepts both Devanagari and IAST.

Sandhi splitting

from sanskrit_tokenizer.sandhi import split_sandhi

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

split_sandhi("dharma")     # no junction found
# ['dharma']

Rule-based engine covering vowel sandhi (savarṇa-dīrgha, guṇa, vṛddhi, yān, ayādi), consonant sandhi (voicing, nasals, t-combinations), and visarga sandhi. Uses longest-match heuristic when splits are ambiguous.

Transliteration

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

devanagari_to_iast("भगवद्गीता")
# 'bhagavadgītā'

iast_to_devanagari("rāmāyaṇam")
# 'रामायणम्'

is_devanagari("धर्म")
# True

Word-level tokenization

from sanskrit_tokenizer.tokenizer import tokenize_words

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

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

CLI

sanskrit-tokenize "devālaya"
# deva
# ālaya

echo "धर्म योग" | sanskrit-tokenize
# dharma
# yoga

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

sanskrit-tokenize -s " " "dharma yoga"
# dharma yoga
  • --no-sandhi — word-level only, skip sandhi splitting
  • --separator SEP — output separator (default: newline)

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.1.1.tar.gz (16.2 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.1.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sanskrit_tokenizer-0.1.1.tar.gz
  • Upload date:
  • Size: 16.2 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.1.1.tar.gz
Algorithm Hash digest
SHA256 c9bc9105023817443ffd7ff315888311f998d5b51b6c3d96563d6d3e5aecdb99
MD5 8b936e16572e20434f53243ede515dac
BLAKE2b-256 31d0f89a93f7ab3f255f8090be4226be6d398b2d2a1c029f06028df1db8e9bfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sanskrit_tokenizer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9637b5f499667a9359e964e29ba91747b783817f715b169a0c1edf8363c7a511
MD5 bfddb7ef1caf6db7c11830842d1e7a37
BLAKE2b-256 990d8f53e2d77469cfd2548eb7da0ff7ece24fe9fa27831bffeb64c00de4f478

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

This release

0.1.1 This release

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