Skip to main content

Deterministic, offline Marathi word dictionary and analysis library (shabda = word in Marathi)

Project description

marathi-shabda (मराठी-शब्द)

खात्रीशीर आणि पूर्णपणे ऑफलाइन चालणारी मराठी शब्द विश्लेषण लायब्ररी

PyPI version Python 3.8+ License: CC BY-NC-SA 4.0


🚩 परिचय (Introduction)

marathi-shabda ही मराठी शब्दांचे व्याकरणिक विश्लेषण करण्यासाठी बनवलेली एक प्रोफेशनल Python Library आहे.

हे प्रामुख्याने खालील गोष्टी करते:

  1. मूळ शब्द शोधणे (Lemma Extraction): पाण्यावरपाणी
  2. शब्दकोश (Dictionary Lookup): मराठी शब्दांचे इंग्रजी अर्थ
  3. रूप परिचय (Morphology): शब्दाची जात (POS), विभक्ती आणि काळ ओळखणे.

हे पूर्णपणे ऑफलाइन चालते. याला इंटरनेटची गरज नाही.


📜 वापराचे नियम आणि परवाना (License & Guidelines)

हे प्रोजेक्ट Dual Licensing (दोन परवाने) मॉडेलवर चालते:

  1. Source Code (MIT): सॉफ्टवेअरचा कोड MIT License अंतर्गत आहे.

    • ✅ तुम्ही कोड वापरू शकता, बदलू शकता (व्यावसायिक वापरासाठी सुद्धा).
  2. Data & Dictionary (CC BY-NC-SA 4.0): शब्दकोश आणि डेटा Creative Commons Non-Commercial आहे.

    • ❌ डेटाचा वापर पैसे कमावण्यासाठी (Commercial Use) करता येणार नाही.
    • ✅ शिक्षण आणि संशोधनासाठी डेटा मोफत आहे.

व्यावसायिक वापरासाठी संपर्क (For Commercial Data Usage):


🚀 इंस्टॉलेशन (Installation)

pip install marathi-shabda

आवश्यकता: Python 3.8 किंवा त्यापुढील व्हर्जन.


⚡ वापर कसा करावा (Quick Start)

1. मूळ शब्द शोधणे (Lemma Extraction)

from marathi_shabda import get_lemma

result = get_lemma("पाण्यावर")
print(result.lemma)              # उत्तर: पाणी
print(result.detected_vibhakti)  # उत्तर: सप्तमी
print(result.explanation)        # उत्तर: "Detected सप्तमी vibhakti"

2. शब्दकोश (Meaning)

from marathi_shabda import lookup_word

result = lookup_word("पाणी")
print(result.english_meanings)   # उत्तर: ['water']

🤝 योगदान (Contribution)

आम्ही तुमच्या योगदानाचे स्वागत करतो!

  • तुम्हाला काही चुका (Bugs) आढळल्यास GitHub Issues वर कळवा.
  • नवीन विभक्ती नियम किंवा सुधारणा सुचवायच्या असतील तर स्वागत आहे.
  • टीप: मुख्य कोडची मालकी (Ownership) मूळ लेखकांकडे राखीव आहे.

अधिक माहितीसाठी CONTRIBUTING.md वाचा.



🇬🇧 English Description

What is marathi-shabda?

marathi-shabda is a production-quality Python library for analyzing Marathi words. It provides:

  1. Lemma (stem) extraction from inflected Marathi words
  2. Dictionary lookup (Marathi ↔ English) with meanings
  3. Morphological analysis (रूप परिचय) including POS, vibhakti, and kāl detection

It works completely offline with no internet dependency.


License & Usage Guidelines

This project uses a Split Licensing Model:

1. Source Code (MIT License)

The Python code, algorithms, and API structure are licensed under the MIT License.

  • ✅ You CAN use the code for commercial software.
  • ✅ You CAN modify and distribute the code logic.

2. Data & Dictionary (CC BY-NC-SA 4.0)

The dictionary database (dictionary.db) and linguistic rules are licensed under Creative Commons Non-Commercial.

  • ❌ You CANNOT sell the data or use it in commercial products without a license.
  • ✅ Free for education, research, and non-profit use.

For commercial data licensing:


Installation

pip install marathi-shabda

Requirements: Python 3.8+, no external dependencies.


Quick Start

1. Lemma Extraction

from marathi_shabda import get_lemma

result = get_lemma("पाण्यावर")
print(result.lemma)              # पाणी
print(result.confidence)         # 0.9
print(result.detected_vibhakti)  # VibhaktiType.SAPTAMI (सप्तमी)

2. Dictionary Lookup

from marathi_shabda import lookup_word

result = lookup_word("पाणी")
print(result.english_meanings)   # ['water']
print(result.found)              # True

Technical Details

Architecture

  • Dictionary-backed: Uses a built-in SQLite database containing over 46,000+ words (enriched from Wiktionary, Kaikki, and localized glossaries) for authoritative meanings.
  • Rule-based: Uses linguistic rules for vibhakti and form handling.
  • Explanation: Every result comes with a reason for why it was derived.

Limitations (v0.1.4)

  • Single words only: Does not parse full sentences.
  • Conservative: Prefers to say "Unknown" rather than guessing wrong.
  • Transliteration: Roman script support is approximate.

Contributors

  • Prathmesh Santosh Choudhari (@iampratham29)
  • Vedangi Deepak Deshpande
  • Siddhant Akash Bobde

Acknowledgments

  • Wiktionary (Wikimedia Foundation): For providing an open, collaborative dictionary. The dictionary data incorporated here is derived from the English and Marathi Wiktionary dumps, used solely for educational and non-commercial research purposes.
  • Kaikki.org: For providing structured, machine-readable JSON extracts of Wiktionary data, which made parsing Marathi lemmas and definitions possible.
  • @vinodnimbalkar - For valuable open-source contributions to the Marathi language ecosystem.
  • Marathi language scholars and grammarians.
  • Open-source NLP community.

Citation

If you use marathi-shabda in research, please cite:

@software{marathi_shabda,
  title = {marathi-shabda: Deterministic Marathi Word Analysis},
  author = {Choudhari, Prathmesh Santosh and Deshpande, Vedangi Deepak and Bobde, Siddhant Akash},
  year = {2026},
  url = {https://github.com/iampratham29/marathi-shabda}
}

Support


Philosophy: When unsure, defer. When confident, explain why.

Built with respect for the Marathi language and its speakers. 🙏

Project details


Download files

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

Source Distribution

marathi_shabda-0.1.4.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

marathi_shabda-0.1.4-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file marathi_shabda-0.1.4.tar.gz.

File metadata

  • Download URL: marathi_shabda-0.1.4.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for marathi_shabda-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4276d7124c5f7e2600a0ad7949913e888bdda1dde1c7b9b756f53302453e47e9
MD5 832be71faab02ac2033b1f1d5ac0c336
BLAKE2b-256 8ae6bb8f645ed3cc3a7a60426432989b46571cc43d85a0260bb9601baab122ac

See more details on using hashes here.

File details

Details for the file marathi_shabda-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: marathi_shabda-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for marathi_shabda-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dcdd1e2583b040aa83a2eff90191013b26f5a8b273463534e7c28b1790d745a7
MD5 694e181cb21462a807b6ff6fa61e738e
BLAKE2b-256 cc86b4fc081b2f693489ee40c7c4b1dac892d92febc899fc3d47f26ee5167d6e

See more details on using hashes here.

Supported by

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