Telugu Chandassu Identifier (telugu-chandassu)
A rule-based Python engine for identifying and analyzing Telugu prosodic meters (ఛందస్సు). It classifies Laghu (లఘువు) and Guru (గురువు) weights and matches Vritta (వృత్తం), Jati (జాతి), and Upajati (ఉపజాతి) padyam with detailed Gana, Yati, and Prasa breakdowns.
Installation
Core Library (Zero External Dependencies)
pip install telugu-chandassu
With Interactive Streamlit App
pip install "telugu-chandassu[app]"
For Development & Testing
pip install "telugu-chandassu[dev]"
Supported Meters
Vritta (వృత్తం — Syllabic / 3-akshara ganas)
| Meter (తెలుగు) | Meter (English) | Gana Sequence | Yati Position |
|---|---|---|---|
| ఉత్పలమాల | Utpalamala | Bha Ra Na Bha Bha Ra Va | 10 |
| చంపకమాల | Champakamala | Na Ja Bha Ja Ja Ja Ra | 11 |
| శార్దూలము | Shardulam | Ma Sa Ja Sa Ta Ta Ga | 13 |
| మత్తేభము | Mattebham | Sa Bha Ra Na Ma Ya Va | 14 |
Jati (జాతి — Matra-based with Surya/Indra ganas, Prasa required)
| Meter (తెలుగు) | Meter (English) | Padas | Structure |
|---|---|---|---|
| ద్విపద | Dwipada | 2 | 3 Indra + 1 Surya per pada |
| తరువోజ | Taruvoja | 4 | (3 Indra + 1 Surya) × 2 per pada |
| కందం | Kandam | 4 | Odd: 3 K-ganas, Even: 5 K-ganas |
Upajati (ఉపజాతి — Matra-based, Prasa not required, Prasa-Yati allowed)
| Meter (తెలుగు) | Meter (English) | Padas | Structure |
|---|---|---|---|
| ఆటవెలది | Ataveladi | 4 | Odd: 3 Indra + 2 Surya, Even: 5 Surya |
| తేటగీతి | Tetagiti | 4 | 1 Surya + 2 Indra + 2 Surya per pada |
| సీసం | Sisam | 4 | 6 Indra + 2 Surya per pada |
Usage
from telugu_chandas import ChandasEngine
engine = ChandasEngine()
poem_text = """భవదున్మేషవిజృంభణంబు పరికింపంగా సరోజాతసం-
భవు జన్మంబు భవన్నిమేష మమితబ్రహ్మాండకల్పాంత భై-
రవసంక్షోభిత మన్నఁ దక్కిన భవత్ప్రారంభభూరిక్రియా-
నివహం బెవ్వరు నేర్తు రిట్టిదని వర్ణింపంగ సర్వేశ్వరా!"""
# 1. Identify Meter
result = engine.identify_meter(poem_text)
print("Meter Name :", result.meter_name) # "Mattebham"
print("Confidence :", result.confidence) # "95.0%"
print("Yati Valid :", result.yati_valid) # True
print("Prasa Valid :", result.prasa_valid) # True
print("Ganas Found :", result.ganas_found) # ['Sa', 'Bha', 'Ra', 'Na', 'Ma', 'Ya', 'Va']
print("Prasa Consonant:", result.prasa_note) # Main Prasa: వ
# 2. Analyze Individual Aksharas & Weights
tokens = engine.analyze(poem_text)
for token in tokens:
if token.is_word:
for ak in token.aksharas:
print(f"{ak.text}: {ak.weight.value}") # e.g. "భ": "I", "వ": "I", "దు": "U"
# 3. Debug Output
print(engine.debug_output(poem_text))
Running the Web UI
If installed with the [app] extra or from source:
streamlit run app.py
Running Tests
pytest tests/ -v
License
This project is licensed under the GNU Affero General Public License v3 (AGPL-3.0).
Metadata
Release files for telugu-chandassu 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| telugu_chandassu-0.1.0.tar.gz | 40.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| telugu_chandassu-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.9 kB
Release files / telugu_chandassu-0.1.0.tar.gz
| Download URL | telugu_chandassu-0.1.0.tar.gz |
|---|---|
| Size | 40.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af70320a6191d6caed026c37e0de6583b08cb46d0f640788ca5ea21321d7f2ca
|
|
BLAKE2b-256 checksum How to use checksums |
de225c24735bc88fe3262d6d0611f902eba6d81383cb15135d02b4e68473971a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.
Transparency logRelease files / telugu_chandassu-0.1.0-py3-none-any.whl
| Download URL | telugu_chandassu-0.1.0-py3-none-any.whl |
|---|---|
| Size | 48.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eac9ba8e54c94a6ebe1840ab29cfee75622a4792cad8869f9be7d0f9824fd190
|
|
BLAKE2b-256 checksum How to use checksums |
9e028a1894401a164f44b6002e686e72a5a0566961c6d4b43d4c17cf64fa391c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.
Transparency log