Skip to main content

README.md

📜 Devnagiri Maithili DSL

A modern Python-compatible programming DSL that lets you write code in Maithili using the Devanagari script.


🔧 Features

  • ✅ Full Maithili syntax mapped to Python
  • ✅ Supports OOP (classes, methods, self)
  • ✅ Devanagari numerals (०-९)
  • ✅ Built-in module translation (e.g., गणित → math)
  • ✅ Runtime error messages in Maithili
  • ✅ Linter with style & syntax feedback in Maithili
  • ✅ Command-line tool: run .dmai files with python_maithili (cross-platform)

🚀 Getting Started

📦 Installation

Clone the repo:

git clone https://github.com/alphacrack/python-maithili-dsl.git
cd python-maithili-dsl

🔧 Install CLI Tool (cross-platform)

pip install .

Now you can run Maithili scripts using either entry point:

python_maithili examples/hello.dmai
# or, without installing the console script:
python -m maithili_dsl examples/hello.dmai

✅ Works on Mac, Windows, and Linux, on Python 3.10 – 3.12.

See examples/README.md for a description of every bundled example program.


📄 Example: examples/person.dmai

वर्ग व्यक्ति:
    कार्य नव(स्वयं, नाम):
        स्वयं.नाम = नाम

    कार्य बोलू(स्वयं):
        छपाउ("हमर नाम " + स्वयं.नाम + " अछि।")

व्यक्ति१ = व्यक्ति("सुमन")
व्यक्ति१.बोलू()

Output:

हमर नाम सुमन अछि।

🧠 Maithili Keywords

Maithili Python
कार्य def
वर्ग class
फेर करू return
स्वयं self
यदि if
नहि त else
प्रत्येक for
में in
सत्य True
मिथ्या False
शून्य None

📦 Built-in Modules Mapping

Maithili Python
गणित math
समय time
यादृच्छिक random
तिथि datetime
पुन re
संग्रह collections
सिस्टम sys
पथ os.path
ओएस os
आँकड़ा statistics

🧹 Linting & Errors

  • ❗ Common mistakes caught before running
  • ❗ Runtime errors shown in Maithili:
⚠️ त्रुटि: कोनो नाम घोषित नहि अछि।

🔐 Security

.dmai scripts are executed in a sandbox: a restricted __builtins__ mapping (no exec / eval / open / compile / breakpoint) and a module import whitelist mapped from MAITHILI_MODULES. Raw Python import statements that weren't translated from Maithili names are rejected before execution.

To report a vulnerability, see SECURITY.md.


🧪 Testing

Contributions are expected to come with tests. Run the full suite:

pip install -r requirements-dev.txt
pytest -v --cov=maithili_dsl --cov-report=term-missing

Coverage gates: ≥85% overall, ≥90% on cli.py, transpile.py, and linter.py. See CONTRIBUTING.md for the full workflow.


🤝 Contributing

See CONTRIBUTING.md to learn how you can help build and improve this DSL. Good entry points are issues labeled good first issue. This project follows the Contributor Covenant Code of Conduct.


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


🌐 Future Goals

  • 🌍 Tirhuta script support
  • 🌐 Web REPL for .dmai
  • 🔌 VS Code extension
  • while (जबतक) and try/except (प्रयास/अपवाद) keywords
  • Type hints and mypy in CI

Metadata

Release files for python-maithili 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-maithili 0.4.0
File Size Uploaded Provenance
python_maithili-0.4.0.tar.gz 22.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for python-maithili 0.4.0
File Interpreter ABI Platform
python_maithili-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.9 kB

Release files / python_maithili-0.4.0.tar.gz

Download URL python_maithili-0.4.0.tar.gz
Size 22.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cb382dcfaf5c80eed55c71a5bb76b0e1780189a3a2efbad343b03af113c3140f
BLAKE2b-256 checksum
How to use checksums
798fc8f704c7f2e1b0d8a1209eb85591ddbf43f6b3fe7c5e8fac6342505f77ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 23, 2026.

Transparency log

Release files / python_maithili-0.4.0-py3-none-any.whl

Download URL python_maithili-0.4.0-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8fcce95f408c71d534dc9822d753253747957d8f2023949ae2f5ef13d8068d1b
BLAKE2b-256 checksum
How to use checksums
feff1607dc3dc352499728a694d0ec3408b66d996d27263014e422b90982ea3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 23, 2026.

Transparency log

Security for python-maithili 0.4.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for python_maithili-0.4.0.tar.gz

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 Jul 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page