Skip to main content

Tharunpp 🎬

A programming language powered by Tamil cinema comedy dialogues.

PyPI version Python versions MIT License CI Status


Installation

pip install tharunpp

Requires Python >= 3.8.1


Usage

tharunpp run-file program.tpp    # run a program
tharunpp shell                   # interactive REPL
tharunpp tokenize program.tpp    # show tokens
tharunpp version                 # show version

Program Structure

Every program must start with VANAKKAM DA MAPLA and end with NANDRI VANNAKAM.

VANAKKAM DA MAPLA

    SOLLU "Vanakkam da mapla!" ;

NANDRI VANNAKAM

Keyword Reference

Program

Purpose Keyword
Program start VANAKKAM DA MAPLA
Program end NANDRI VANNAKAM
Comment COMMENT PANDRAN

Variables & Values

Purpose Keyword Example
Declare variable VAA VAA x = 10 ;
True SARI VAA flag = SARI ;
False THAPPU VAA flag = THAPPU ;
Null ONNUMEY ILLA VAA x = ONNUMEY ILLA ;

Output & Input

Purpose Keyword Example
Print SOLLU SOLLU "dei!" ;
Debug print KALAAI KALAAI x ;
Warning print IRUNGH BHAII IRUNGH BHAII "careful da!" ;

Operators

Purpose Symbol
Arithmetic + - * / %
Comparison == != > < >= <=
AND MATUM
OR ILLA
NOT VENDAM

Control Flow

Purpose Keyword Example
If ADHAVUDHU ADHAVUDHU x > 5 :
Else if ILLA ADHAVUDHU ILLA ADHAVUDHU x == 5 :
Else ILLAATI ILLAATI :
End block DA DA
While loop TICKTOCK TICKTOCK TICKTOCK TICKTOCK x < 10 :
For loop FIRST_LA FIRST_LA i IRUNDHU 0 VARAI 5 :
Break EZHUNDHIRI EZHUNDHIRI ;
Continue ADUTHADUTHU ADUTHADUTHU ;

Functions

Purpose Keyword Example
Define function ENDRA SHANMUGHAM ENDRA SHANMUGHAM add(a, b) :
End function VELI JOWW VELI JOWW
Call function VAA MA MINNAL VAA MA MINNAL add(1, 2) ;
Return INDHAA LEY PATHUKO INDHAA LEY PATHUKO x + y ;

Error Handling

Purpose Keyword Example
Try PAAKALAM PAAKALAM :
Catch PUDRA IVANA PUDRA IVANA err :
Throw AIYAYO AIYAYO "something broke!" ;
Assert NIL GAVANI SEL NIL GAVANI SEL x > 0 ;

Lists

Purpose Keyword Example
Create list PATTI POTTU VAA nums = PATTI POTTU [1, 2, 3] ;
Append ULLAYE POD ULLAYE POD nums 4 ;
Get by index EDUTHU KO VAA x = EDUTHU KO nums [0] ;
Length YEVLO IRUKU SOLLU YEVLO IRUKU nums ;

Other

Purpose Keyword Example
Import module MASS MASS "math" ;
Pass / no-op THALA_OK THALA_OK ;

Examples

Hello World

VANAKKAM DA MAPLA

    SOLLU "Vanakkam da mapla!" ;

NANDRI VANNAKAM

Variables and Arithmetic

VANAKKAM DA MAPLA

    VAA x = 10 ;
    VAA y = 3 ;
    SOLLU x + y ;
    SOLLU x * y ;
    SOLLU x - y ;

NANDRI VANNAKAM

If / Else if / Else

VANAKKAM DA MAPLA

    VAA score = 85 ;

    ADHAVUDHU score >= 90 :
        SOLLU "Grade A da!" ;
    ILLA ADHAVUDHU score >= 80 :
        SOLLU "Grade B da!" ;
    ILLA ADHAVUDHU score >= 70 :
        SOLLU "Grade C da!" ;
    ILLAATI :
        SOLLU "Fail aagitanga da..." ;
    DA

NANDRI VANNAKAM

While Loop

VANAKKAM DA MAPLA

    VAA i = 0 ;
    TICKTOCK TICKTOCK i < 5 :
        SOLLU i ;
        VAA i = i + 1 ;
    DA

NANDRI VANNAKAM

For Loop

VANAKKAM DA MAPLA

    FIRST_LA i IRUNDHU 0 VARAI 5 :
        SOLLU i ;
    DA

NANDRI VANNAKAM

Functions

VANAKKAM DA MAPLA

    ENDRA SHANMUGHAM add(a, b) :
        INDHAA LEY PATHUKO a + b ;
    VELI JOWW

    VAA result = VAA MA MINNAL add(10, 20) ;
    SOLLU result ;

NANDRI VANNAKAM

Error Handling

VANAKKAM DA MAPLA

    PAAKALAM :
        AIYAYO "something went wrong da!" ;
    PUDRA IVANA err :
        SOLLU err ;
    DA

NANDRI VANNAKAM

Lists

VANAKKAM DA MAPLA

    VAA nums = PATTI POTTU [1, 2, 3] ;
    ULLAYE POD nums 4 ;
    SOLLU YEVLO IRUKU nums ;
    VAA first = EDUTHU KO nums [0] ;
    SOLLU first ;

NANDRI VANNAKAM

Error Messages

Tharunpp gives Tamil-flavoured error messages:

Error Message
Type error Aiyayo! list venum da, int koduthutta
Undefined variable Dei! 'x' yaaruda avan? Declare pannada
Division by zero SUPERSTAR kooda zero-a divide panna maatan bro
Syntax error BHAI enna da idhu? Syntax puriyalai

License

MIT — see LICENSE for details.

Made with ❤️ in Tamil Nadu 🎬

Metadata

Release files for tharunpp 1.0.2

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

Source distribution (sdist)

Source distribution for tharunpp 1.0.2
File Size Uploaded
tharunpp-1.0.2.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tharunpp 1.0.2
File Interpreter ABI Platform
tharunpp-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 23.7 kB

Release files / tharunpp-1.0.2.tar.gz

Download URL tharunpp-1.0.2.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a83874d85d2ba589b9c0fa8c553eee400e9fb27741f6f11b7c22efac6f17c39c
BLAKE2b-256 checksum
How to use checksums
3b5cdb22b79ced06f2917a2d44b524605e98296664a89fd958491347e98f29c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 29, 2026.

Transparency log

Release files / tharunpp-1.0.2-py3-none-any.whl

Download URL tharunpp-1.0.2-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f40b96a36b305417d7737a91a2e892b04d1ed52015d3b4f23d6f707e543fd458
BLAKE2b-256 checksum
How to use checksums
6278b3ac6a796b433db520a4f47bd4171a2b746ff5c2d97b941054e5878173f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

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