0%
IndLan 2.0 out now  ·  VSCode Edition IDE  ·  Free

अपनी भाषा में कोड लिखो Code in Your Language.

IndLan 2.0 is a Hindi + English programming interface for the real Python ecosystem — Pandas, NumPy, Scikit-learn, TensorFlow, PyTorch — written with intuitive keywords like agar, jabtak, chhap. Now with AI/ML aliases, a VSCode Edition IDE, and a Python API.

pip install indlan · now on PyPI

Installation Options

pip install indlan // Core Engine pip install "indlan[data]" // Data Science Extras (Pandas, NumPy, Matplotlib, Seaborn, Openpyxl, Joblib) pip install "indlan[ml]" // Machine Learning Extras (Scikit-learn, SciPy, Statsmodels) pip install "indlan[ai]" // AI & Deep Learning Extras (TensorFlow, PyTorch, Torchvision, Pillow) pip install "indlan[full]" // Full Ecosystem Extras
Made by Bhavya S Solanki · Windows 10 / 11 · No install needed to run
myprogram.ind — IndLan VSCode Edition

IndLan 2.0

What's New in IndLan 2.0

Version 2.1.4 turns IndLan from a standalone toy language into a real Hindi/English interface for the Python ecosystem. Real pandas.DataFrame, numpy.ndarray and sklearn objects flow straight through — IndLan just gives them Hindi and English names.

🧠

AI / ML Bridge New

model.sikhao(X, y) and model.bhavishyavani(X) map directly onto real .fit() / .predict() calls on Scikit-learn, TensorFlow, and PyTorch models.

📊

Pandas & NumPy Aliases New

pd.csv_padho(), np.sarni(), plt.rekha() — real Hindi aliases for the actual Data Science stack, not reimplementations.

💻

VSCode Edition IDE New

A professional dark-mode desktop IDE — file explorer, find & replace, integrated terminal, multi-file tabs, F5 run, and bilingual syntax highlighting.

📄

File Handling Built-ins New

csv_padho(), csv_likho(), json_padho(), excel_padho() and more — native CSV/JSON/Excel read, write, filter and transform.

🔧

Keyword Args & Unpacking New

Full keyword argument support — train_test_split(X, y, test_size=0.25) — and multi-variable unpacking — maano a, b, c, d = ....

🐍

Python API Integration New

import indlan as ind; ind.run(code) — run IndLan source code directly from a Python script.

What's inside

A real IDE for a real language

あ

Hindi + English Keywords

Write agar or if, chhap or print — IndLan understands both. Switch styles anytime in the same file.

✎

VS Code–style Editor

Tabbed editing, syntax highlighting, line numbers, and a live output console — all in one lightweight desktop window.

▶

Run with F5

Press Run or hit F5 to execute your program. Output, errors, and aalao() / input() prompts all appear inline.

💡

F-strings & ** Operator New

String interpolation with f"Namaste {naam}!" and exponentiation with 2 ** 10. Write expressive code naturally.

🔨

Hindi Input Functions New

Use aalao(), number_dalao(), decimal_dalao(), haan_na() — fully Hindi input for strings, ints, floats, and booleans.

📦

Single .exe — No Python Required

Once built, IndLanIDE.exe runs standalone. Copy it to any Windows PC — it just works.

Setup guide

Running in three steps

01

Install Python (once, to build)

Download Python 3.10+ from python.org. On the installer, check "Add python.exe to PATH". Tkinter is included automatically.

02

Build the .exe

Unzip the download, then double-click build_exe.bat. It installs PyInstaller and compiles the app in 1–3 minutes. Your app lands at dist\IndLanIDE.exe.

03

Register .ind files (optional)

Double-click register_ind_filetype.bat to give .ind files the IndLan icon and make them open directly in the IDE. No admin rights needed.

⚠ Windows SmartScreen may warn about the new exe — click More info → Run anyway. This is normal for any new unsigned app.

Syntax showcase

Same idea, two languages

examples_hindi.ind
maano umar = 20

agar umar < 13 {
    chhap("Bachha ho")
} nahito_agar umar < 20 {
    chhap("Teenager ho")
} nahito {
    chhap("Adult ho")
}

// jabtak (while) loop
maano i = 1
jabtak i <= 5 {
    chhap(i)
    i += 1
}

// function aur f-string
kaam namaste(naam) {
    chhap(f"Namaste {naam}!")
}
namaste("Bhavya")
examples_english.ind
let age = 20

if age < 13 {
    print("You are a child")
} elif age < 20 {
    print("You are a teenager")
} else {
    print("You are an adult")
}

// while loop
let i = 1
while i <= 5 {
    print(i)
    i += 1
}

// function and f-string
fun greet(name) {
    print(f"Hello {name}!")
}
greet("Bhavya")
new_features.ind
// ** Exponentiation
let x = 2 ** 10
print(f"2 ** 10 = {x}")   // → 2 ** 10 = 1024

// F-strings
maano naam = aalao("Aapka naam? ")
maano umar = number_dalao("Aapki umar? ")
chhap(f"Namaste {naam}, aap {umar} saal ke hain!")

// Math builtins
print(sqrt(144))        // → 12.0
print(abs(-42))         // → 42
print(max(3, 7, 2))     // → 7

// String methods
let s = "hello world"
print(s.upper())         // → HELLO WORLD
print(s.replace("world", "IndLan"))

// Negative index + string repeat
let arr = [10, 20, 30]
print(arr[-1])           // → 30
print("ha" * 3)           // → hahaha

Real syntax from the repository

# IndLan 2.0 Syntax

program_hindi.ind
aayat pandas ke_roop_mein pd
aayat numpy ke_roop_mein np

maano data = pd.csv_padho("students.csv")
chhap("Pehle 5 Rows:\n", data.shuru_ke(5))
chhap("Aakar (Shape):", data.shape)
program_english.ind
import pandas as pd
import numpy as np

let data = pd.read_csv("students.csv")
print("First 5 Rows:\n", data.head(5))
print("Shape:", data.shape)
program_mixed.ind
aayat pandas as pd
import numpy ke_roop_mein np

maano data = pd.csv_padho("students.csv")
print("Shape:", data.shape)

agar len(data) > 0 {
    chhap(f"Rows loaded: {len(data)}")
}
program_aiml.ind
se sklearn.ensemble aayat RandomForestClassifier

maano model = RandomForestClassifier(random_state=42)
model.sikhao(X, y)

maano prediction = model.bhavishyavani(X)
chhap("Predictions:", prediction)

Documented in the repository

Real New Features

💡

F-String Interpolation

Embed expressions directly inside strings with f"...".

fstring.ind
maano naam = "Bhavya"
maano umar = 17

chhap(f"Namaste {naam}!")
chhap(f"Agli baar aap {umar + 1} ke honge.")
📝

String Methods

.upper(), .lower(), .strip(), .lstrip(), .rstrip(), .replace(old,new), .split(sep?), .startswith(x), .endswith(x), .find(x)

📋

List Methods

.append(v), .pop(i?), .sort(), .reverse(), .contains(v), .len()

√

Math Built-ins

abs(), sqrt(), max(), min(), floor(), ceil(), round(n, digits?)

📦

Multi-variable Unpacking

maano can unpack an iterable into several names at once.

maano X_train, X_test, y_train, y_test = train_test_split(X, y)
⚖

Keyword Arguments

Functions and Python calls accept full keyword argument syntax.

train_test_split(X, y, test_size=0.25, random_state=42)
🐍

Python API Integration

import indlan as ind — run IndLan source from inside a Python script with ind.run(code).

⚡

Enhanced Operators

String repetition "ha" * 3, negative indexing arr[-1], and compound exponentiation **=.

Real Python ecosystem, Hindi/English syntax

# AI & ML with IndLan

IndLan does not replace Pandas, NumPy, Scikit-learn, TensorFlow, or PyTorch — it provides Hindi and English keyword syntax and method aliases for working with these real libraries. Objects returned stay genuine pandas.DataFrame, numpy.ndarray, and sklearn model instances.

📊 Data Science

Pandas  ·  NumPy  ·  Matplotlib  ·  Seaborn  ·  OpenPyXL  ·  Joblib

🧠 Machine Learning

Scikit-learn  ·  SciPy  ·  Statsmodels

📡 AI / Deep Learning

TensorFlow  ·  PyTorch  ·  Torchvision  ·  Pillow

model.sikhao(X, y)

→ model.fit(X, y) — train any Scikit-learn, TensorFlow, or PyTorch model.

model.bhavishyavani(X)

→ model.predict(X) — run inference on a trained model.

IndLan → AI/ML

A real training pipeline

ai_ml_pipeline.ind
aayat pandas ke_roop_mein pd
aayat numpy ke_roop_mein np

se sklearn.model_selection aayat train_test_split
se sklearn.ensemble aayat RandomForestClassifier
se sklearn.metrics aayat satikta_ank

maano data = pd.csv_padho("students.csv")

maano X = np.sarni([
    [1, 2],
    [2, 3],
    [3, 4],
    [4, 5]
])

maano model = RandomForestClassifier(random_state=42)

model.sikhao(X, y)

maano prediction = model.bhavishyavani(X)

Complete reference

Library Aliases

Pandas

EnglishHindi Alias
pd.read_csv()pd.csv_padho()
pd.DataFrame()pd.dataframe()
pd.Series()pd.shrankhla()
pd.read_excel()pd.excel_padho()
pd.read_json()pd.json_padho()
df.head()df.shuru_ke()
df.tail()df.ant_ke()
df.fillna()df.khali_bharo()
df.sort_values()df.maan_kramit_karo()
df.describe()df.vivaran()

NumPy

EnglishHindi Alias
np.array()np.sarni()
np.zeros()np.shunya()
np.ones()np.ek()
np.arange()np.kram()
np.linspace()np.samantar_kram()
np.mean()np.madhya()
np.median()np.madhyika()
np.sum()np.yog()
np.min()np.nyunatam()
np.max()np.adhiktam()
np.std()np.manak_vichalan()

Matplotlib & Seaborn

EnglishHindi Alias
plt.plot()plt.rekha()
plt.scatter()plt.bindu()
plt.bar()plt.stambh()
plt.barh()plt.kshaitij_stambh()
plt.hist()plt.vitaran()
plt.pie()plt.vritt()
plt.boxplot()plt.dabba_lekha()
plt.title()plt.sheershak()
plt.xlabel()plt.x_namankit()
plt.ylabel()plt.y_namankit()
plt.legend()plt.sanket()
plt.grid()plt.jaal()
plt.figure()plt.chitra()
plt.show()plt.dikhao()
plt.savefig()plt.chitra_bachao()
plt.close()plt.band_karo()
sns.lineplot()sns.rekha_chitra()
sns.barplot()sns.stambh_chitra()
sns.scatterplot()sns.bindu_chitra()
sns.histplot()sns.vitaran_chitra()
sns.heatmap()sns.tapman_naksha()
sns.violinplot()sns.violin_chitra()

Math (ganit)

EnglishHindi Alias
math.sqrt()ganit.vargmool()
math.pow()ganit.ghat()
math.fabs()ganit.nirapeksh()
math.floor()ganit.neeche_purnank()
math.ceil()ganit.upar_purnank()
math.sin()ganit.jya()
math.cos()ganit.kojya()
math.tan()ganit.sparshrekha()
math.exp()ganit.ghatank()
math.piganit.pai
math.eganit.aadhar

Scikit-learn Metrics

EnglishHindi Alias
accuracy_scoresatikta_ank
mean_squared_errormadhya_varg_truti
classification_reportvargikaran_vivaran
confusion_matrixbhram_matrix
precision_scoreprecision_ank
recall_scorerecall_ank
f1_scoref1_ank
r2_scorer2_ank

Universal ML / Data Methods

EnglishHindi Alias
fitsikhao
predictbhavishyavani
transformbadlo
fit_transformsikhao_aur_badlo
fit_predictsikhao_aur_bhavishyavani
compilesankalit_karo
evaluatemulyankan_karo
trainprashikshan_karo
testparikshan_karo
save / dumpbachao
loadbharit_karo
groupbysamuha_banao
mergemilao
reshapeaakar_badlo

Enhanced operators

# What's New in Syntax

SyntaxDescriptionExample
str * intString repetition"ha" * 3 → "hahaha"
arr[-1]Negative indexing (from end)[10,20,30][-1] → 30
**=Compound exponentiation assignmentx **= 2
**Exponentiation2 ** 10 → 1024

Native built-ins

# Data & File Handling

csv_padho(filepath)Reads CSV files into a list of records
csv_likho(filepath, data)Writes lists/dicts or DataFrames to CSV
csv_jodo(filepath, row)Appends a row to a CSV file
csv_badlo(filepath, callback)Transforms CSV rows using a function
csv_chhano(filepath, predicate)Filters CSV rows using a condition
json_padho(filepath)Reads JSON into native data structures
json_likho(filepath, data)Writes data structures to formatted JSON
excel_padho(filepath)Reads Excel files (.xlsx, .xlsm)
excel_likho(filepath, data)Writes data to Excel files

Run IndLan from Python

Python API

run_from_python.py
import indlan as ind

code = '''
maano naam = "Bhavya"
chhap(f"Namaste {naam}!")
'''

ind.run(code)

Desktop IDE

# IndLan VSCode Edition

File ExplorerBrowse directories, navigate folders, double-click to open
Find & ReplaceCtrl+F to find, Ctrl+H to find and replace
Font ControlsCtrl++ / Ctrl+- / Ctrl+0 to resize
TabsCtrl+Tab / Ctrl+Shift+Tab to switch, Ctrl+W to close
Integrated TerminalView program output and errors with color tags
Syntax HighlightingBilingual, real-time colour coding
Line NumbersSynchronized gutter, tracks cursor and scrolling
Multi-file EditingOpen, edit, and save multiple .ind files
F5 RunOne-click run with output clearing
TemplatesPreloaded snippets for Data Science, ML, F-strings, Math
Keyboard ShortcutsComprehensive shortcut system

Launch it with indlan ide or simply indlan.

Quick reference

Keyboard shortcuts

ActionShortcut
New fileCtrl + N
Open fileCtrl + O
SaveCtrl + S
Save AsCtrl + Shift + S
Run programF5
Close tabCtrl + W
Keyword referenceHelp → Keyword Reference

Get started

Install IndLan

Install IndLan directly from PyPI with pip. Choose the installation option that fits your needs:

📦
Core Engine On PyPI
Works on Windows, macOS, and Linux  ·  Requires Python 3.8+  ·  Includes indlan & indlan-ide commands
pip install indlan
📊
Data Science Extras On PyPI
Pandas, NumPy, Matplotlib, Seaborn, Openpyxl, Joblib
pip install "indlan[data]"
🧠
Machine Learning Extras On PyPI
Scikit-learn, SciPy, Statsmodels
pip install "indlan[ml]"
📡
AI & Deep Learning Extras On PyPI
TensorFlow, PyTorch, Torchvision, Pillow
pip install "indlan[ai]"
💻
Full Ecosystem Extras On PyPI
All extras included — complete IndLan experience
pip install "indlan[full]"

What you get

Documentation

IndLan Language Reference

Introduction

IndLan is a programming language that runs on top of Python and supports both Hindi and English keywords. You write .ind files, run them through the IndLan interpreter or the IDE, and get real program output — loops, functions, classes, I/O all work.

Every Hindi keyword has an English equivalent. You can mix them freely in the same file.

hello.ind
// English
print("Hello from IndLan!")

// Hindi
chhap("IndLan se Namaste!")

Keyword Reference

Complete English ↔ Hindi keyword table. Both forms are always accepted and can be mixed freely.

EnglishHindiMeaning
importaayatImport Python module 2.0
fromseImport from package 2.0
aske_roop_meinCreate an import alias 2.0
printchhapPrint to stdout
letmaanoDeclare a variable
ifagarConditional
elifnahito_agarElse-if branch
elsenahitoElse branch
whilejabtakWhile loop
forpratyekFor-each loop
inmeinLoop membership
do … whilekaro … jabtakDo-while loop
switchvibhagSwitch statement
casesthitiSwitch case
defaultanyathaSwitch default
funkaamDefine a function
returnvapasReturn a value
classvargDefine a class
newnayaCreate an instance
thisyehCurrent object reference
continuejaariSkip to next iteration
breakrokoExit loop
truesahiBoolean true
falsegalatBoolean false
nullkhaaliNull value
andaurLogical and
oryaLogical or
notnahiLogical not

Variables

Declare variables with let (English) or maano (Hindi). IndLan is dynamically typed.

variables.ind
maano naam  = "Bhavya"
maano umar  = 20
maano score = 98.5
maano khush = sahi    // true

chhap(naam, umar, score)

Conditions

Use agar / nahito_agar / nahito or if / elif / else. Curly braces are required.

conditions.ind
maano score = 75

agar score >= 90 {
    chhap("Grade: A")
} nahito_agar score >= 75 {
    chhap("Grade: B")
} nahito_agar score >= 50 {
    chhap("Grade: C")
} nahito {
    chhap("Grade: F")
}

Loops

While loop — jabtak

while.ind
maano i = 0
jabtak i < 5 {
    chhap("i =", i)
    i += 1
}

For-each loop — pratyek

foreach.ind
pratyek n mein range(5) {
    agar n == 3 { jaari }
    chhap("n =", n)
}

Do-while loop — karo … jabtak

dowhile.ind
maano j = 0
karo {
    chhap("j =", j)
    j += 1
} jabtak j < 3

Functions

Define with kaam (Hindi) or fun (English). Return with vapas / return.

functions.ind
kaam jodo(a, b) {
    vapas a + b
}

kaam namaste(naam) {
    chhap(f"Namaste, {naam}!")
}

chhap(jodo(4, 5))      // → 9
namaste("Bhavya")        // → Namaste, Bhavya!

Classes

Define with varg / class. Constructor is init. Use yeh / this for the instance. Create with naya / new.

classes.ind
varg Animal {
    kaam init(naam, awaaz) {
        yeh.naam  = naam
        yeh.awaaz = awaaz
    }
    kaam bolo() {
        chhap(f"{yeh.naam} bolta hai {yeh.awaaz}")
    }
}

maano kutta = naya Animal("Kutta", "Bhow")
kutta.bolo()   // → Kutta bolta hai Bhow

Switch — vibhag / sthiti

vibhag / switch for multi-branch matching. sthiti for each case, anyatha as fallback.

switch.ind
maano din = 3
vibhag din {
    sthiti 1 { chhap("Somvaar") }
    sthiti 2 { chhap("Mangalvaar") }
    sthiti 3 { chhap("Budhvaar") }
    anyatha   { chhap("Pata nahi") }
}

Input / Output

Print with chhap() / print(). Four typed input functions — each has a Hindi alias:

EnglishHindiReturns
input(prompt?)aalao(prompt?)string
input_int(prompt?)number_dalao(prompt?)integer
input_float(prompt?)decimal_dalao(prompt?)float
input_bool(prompt?)haan_na(prompt?)bool (true/false)
io.ind
maano naam  = aalao("Aapka naam kya hai? ")
maano umar  = number_dalao("Aapki umar? ")
maano khush = haan_na("Kya aap khush hain? (true/false): ")

chhap(f"Namaste {naam}! Umar: {umar}")

agar khush {
    chhap("Bahut achha!")
} nahito {
    chhap("Chinta mat karo!")
}

In the IDE, input prompts appear in the output panel's >>> box at the bottom — no terminal needed.

F-strings New in v1.1

Embed any expression inside a string using f"..." syntax. Works with both " and ' quotes, and with all Hindi keywords.

fstrings.ind
maano naam = "Bhavya"
maano umar = 17

// Basic interpolation
chhap(f"Namaste {naam}!")

// Expressions inside {}
chhap(f"Agli baar aap {umar + 1} ke honge.")
chhap(f"2 ka 10 ghaat = {2 ** 10}")

// Method calls inside {}
chhap(f"Bada naam: {naam.upper()}")

Built-in Functions Updated in v1.1

All built-in functions available in IndLan:

I/O

print(...) / chhap(...)Print values to output
input(p?) / aalao(p?)Read string from user
input_int(p?) / number_dalao(p?)Read integer from user
input_float(p?) / decimal_dalao(p?)Read float from user
input_bool(p?) / haan_na(p?)Read true/false from user

Type Conversion

str(v)Convert to string
int(v)Convert to integer
float(v)Convert to float
bool(v)Convert to boolean
char(v)int→char or char→int (ord)
type(v)Return type name as string

Collections

len(v)Length of string/list/dict
range(n) / range(a,b,s)List of integers
append(lst, v)Add to end of list
pop(lst, i?)Remove & return item
insert(lst, i, v)Insert at index
remove(lst, v)Remove first occurrence
reverse(lst)Reverse list in place
sort(lst)Sort list in place
keys(d) / values(d)Dict keys or values
has(col, v)Check if v in list/dict/str

Math

abs(n)Absolute value
sqrt(n)Square root
max(a,b,...) / max(lst)Maximum value
min(a,b,...) / min(lst)Minimum value
floor(n) / ceil(n)Round down / up
round(n, digits?)Round to nearest

String Methods (dot syntax)

s.upper() / s.lower()Change case
s.strip() / s.lstrip() / s.rstrip()Remove whitespace
s.replace(old, new)Replace substring
s.split(sep?)Split into list
s.startswith(x) / s.endswith(x)Check prefix / suffix
s.find(x)Find index of substring

List Methods (dot syntax)

lst.append(v)Add to end
lst.pop(i?)Remove & return item
lst.sort()Sort in place
lst.reverse()Reverse in place
lst.contains(v)Check membership
lst.len()Length of list

Operators & Extras New in v1.1

SyntaxDescriptionExample
**Exponentiation (right-associative)2 ** 10 → 1024
f"...{expr}..."F-string interpolationf"Hi {naam}!"
str * intString repetition"ha" * 3 → "hahaha"
lst[-1]Negative index (from end)[10,20,30][-1] → 30
+= -= *= /=Compound assignmenti += 1

README / About

About IndLan

IndLan (Indian Language) is a hobbyist programming language built in Python, designed to make coding feel natural for Hindi speakers. It is not a toy — it has variables, conditionals, loops, functions, classes, a full desktop IDE, f-strings, 20+ builtins, and Hindi input functions. The goal is to lower the barrier for people who think in Hindi but are expected to code in English.

🎯 Why IndLan?

Most beginner programmers in India learn to code by translating their logic from Hindi into English keywords. IndLan removes that translation step — write exactly what you're thinking, in your own language.

⚙ How it works

IndLan is a tree-walk interpreter. The lexer tokenises .ind files, the parser builds an AST, and the interpreter walks it. The IDE wraps all of this in a Tkinter UI compiled to a standalone .exe via PyInstaller.

📂 Project structure

lexer.py — tokeniser  ·  ind_parser.py — parser  ·  ast_nodes.py — AST nodes  ·  interpreter.py — evaluator  ·  indlan_ide.py — desktop IDE

🚀 Roadmap ideas

File I/O  ·  Error messages in Hindi  ·  Web REPL  ·  macOS / Linux builds  ·  Standard library modules  ·  Lambda / anonymous functions

Bhavya S Solanki
Bhavya S Solanki
bhavyasolanki.online
Creator of IndLan — building tools that make programming more accessible for Hindi speakers. Based in Gujarat, India.

Changelog

Version history

v2.1.4
IndLan 2.0
Latest

Python Ecosystem Bridge & VSCode Edition IDE

  • VSCode Edition IDE — file explorer sidebar, find & replace (Ctrl+F / Ctrl+H), font controls, tab navigation, integrated terminal, F5 run
  • Real Python objects — pandas.DataFrame, numpy.ndarray, torch.Tensor, sklearn models pass through unchanged
  • Universal & library-specific aliases — model.sikhao() → fit(), model.bhavishyavani() → predict(), np.sarni() → array(), pd.csv_padho() → read_csv(), plt.rekha() → plot(), ganit.vargmool() → math.sqrt()
  • Full keyword argument support — train_test_split(X, y, test_size=0.25, random_state=42)
  • Multi-variable unpacking — maano X_train, X_test, y_train, y_test = train_test_split(...)
  • Python API integration — import indlan as ind; ind.run(source_code)
  • Native file helpers — csv_padho, csv_likho, csv_jodo, csv_badlo, csv_chhano, json_padho, json_likho, excel_padho, excel_likho
  • Standalone .EXE executables — pre-compiled IndLan.exe and IndLan_IDE.exe for Windows
  • Import system — import / aayat, from / se, as / ke_roop_mein for dynamic Python module imports
v1.1.0
June 2026
Stable

Language & IDE Expansion

  • F-strings — f"Namaste {naam}!" — embed any expression in strings
  • Exponentiation operator — 2 ** 10 = 1024, right-associative
  • Hindi input aliases — aalao(), number_dalao(), decimal_dalao(), haan_na()
  • Typed input — input_int(), input_float(), input_bool() with validation
  • 15+ new builtins — abs, sqrt, max, min, floor, ceil, round, bool, char, insert, remove, reverse, sort, has
  • String methods via dot syntax — .upper(), .lower(), .strip(), .replace(), .split(), .startswith(), .endswith(), .find()
  • List methods via dot syntax — .append(), .pop(), .sort(), .reverse(), .contains()
  • String repetition — "ha" * 3 → "hahaha"
  • Negative indexes — arr[-1] returns last element
  • Bug fix — input() in IDE now correctly uses redirected stdin/stderr — no more RuntimeError: lost sys.stderr
  • Bug fix — indlan.py now reads files as UTF-8 — no more UnicodeDecodeError for Hindi source files
  • IDE syntax highlighting updated for all new builtins and Hindi aliases
  • Keyword Reference dialog expanded with builtins, operators, and extras sections
v1.0.0
June 2026
Stable

Initial Release

  • Full Hindi + English keyword support — agar, jabtak, pratyek, karo, vibhag, varg and more
  • VS Code–style desktop IDE with tabbed editing, syntax highlighting, and line numbers
  • Live output console with inline input() support — no terminal needed
  • Run / Stop controls — F5 to run, programs execute on a background thread
  • Built-in Keyword Reference (Help → Keyword Reference)
  • PyInstaller build pipeline — produces a standalone IndLanIDE.exe
  • .ind file association via register_ind_filetype.bat
  • Do-while loops, switch statements, classes, closures, lists, dicts
v0.3.0
May 2026
Stable

IDE Beta

  • Added Tkinter-based IDE — replacing the CLI-only workflow
  • Syntax highlighting for Hindi and English keywords
  • Output panel with real-time program output
  • Tab management: open multiple .ind files side by side
  • Keyboard shortcut system: F5, Ctrl+S, Ctrl+N, Ctrl+O, Ctrl+W
v0.2.0
April 2026
Stable

Language Expansion

  • Added class system: varg, init, yeh, naya
  • Added do-while loop: karo … jabtak
  • Added switch statement: vibhag / sthiti / anyatha
  • Added jaari (continue) and roko (break)
  • Improved error messages with line numbers
v0.1.0
March 2026
Stable

First Working Interpreter

  • Core lexer, parser, and AST interpreter in Python
  • Variables (maano / let), arithmetic, comparisons
  • If / elif / else (agar / nahito_agar / nahito)
  • While loop (jabtak) and for-each (pratyek … mein)
  • Functions with return values (kaam / vapas)
  • Print: chhap() / print() — CLI REPL and file runner