Observed since 20 Oct, 19:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A Sanskrit programming language — from Pāṇini to silicon.
A Sanskrit programming language — from Pāṇini to silicon.
Ādeśa ("command") is a small interpreted language whose keywords are real Sanskrit imperatives, written in the pure-ASCII Harvard-Kyoto convention so they type on any keyboard. When you write vada you are writing वद — the loṭ lakāra imperative "Speak!" — and the machine obeys.
$ python adesha.py
Ādeśa shell (Harvard-Kyoto) — type 'samApti' to quit.
>> vada namaste lokAH
namaste lokAH
>> punaH tri vada punarukti
punarukti
punarukti
punarukti
punaH tri — "again, three times." Numbers can be Sanskrit words (eka, dvi, tri, … aSTottarazata = 108) or digits; both work everywhere.
Not decoration — lineage. Pāṇini's Aṣṭādhyāyī (~500 BCE) is a formal generative grammar of ~4,000 ordered rewrite rules with meta-rules and context-sensitive transformations — structurally the same device as the BNF notation that defines modern programming languages (computer scientists sometimes call it the Pāṇini–Backus form). Piṅgala's Chandaḥśāstra (~200 BCE) encoded poetic meter as sequences of light (laghu) and heavy (guru) syllables — a binary notation, two millennia early. Sanskrit is arguably the only human language that was formally specified, the way programming languages are. Ādeśa is built on that inheritance: Sanskrit structure and vocabulary — never a claim that the machine "understands" Sanskrit meaning.
# lesson0_final.adesha — my first program
sthApaya nama rAma # "establish!" — set a variable
vada namaste nama # "speak!" — print (namaste rAma)
yadi nama == rAma # "if"
vada sAdhu # blocks end with iti ("thus")
anyathA # "otherwise"
vada anyat
iti
vidhi ghata n # "procedure" — define a function
yadi n <= eka
dehi 1 # "give!" — return a value
iti
dehi n * ghata(n - 1)
iti
gaNaya ghata(paJca) # "compute!" — 120 (recursion works)
samUha s # "collection" — make a list
yojaya s Adi # "join!" — append
vada s[eka] # 1-based indexing: eka is the first element
mudrA nama # "seal!" — 108-bit integrity fingerprint
Booleans are satya/asatya. Logic is ca/vA/na (and/or/not). Errors speak both languages with a numbered doSa code, a line number, and a did-you-mean:
>> vad namaste
doSa-001: ajYAta Adeza 'vad' (did you mean: vada?) — unknown command 'vad' (did you mean: vada?)
Every keyword is registered in three spellings: Harvard-Kyoto canonical (sthApaya), lowercase (sthapaya), and Devanagari (स्थापय).
adesha seal file.adesha stamps a script with its own fingerprint footer; adesha parIkSA file.adesha later answers siddha (intact, exit 0) or bhraSTa (tampered, exit 1). Like a wax seal on a letter — tamper-evident homework, lesson files, and documents.
Ādeśa is a two-layer stack:
adesha/ — the high-level language (this repo, fully self-contained, Python stdlib only).aos_asm.py — a low-level layer whose FOLD/lane operations mirror a private RNS chip design (the A0S project). It runs here on a software model. The chip-true lane_residue() in this repo was verified against the chip's RTL by co-simulation: 1,000/1,000 randomized inputs agree bit-for-bit across the built-in mirror, the verified golden model, and the Verilog core under Icarus Verilog — see tests/reports/c2_parity_report.md. The chip design itself is not in this repo, and nothing here requires it.Two different numbers, two different jobs: mudrA is a 108-bit software integrity fingerprint (mod M107); the chip lane residue (mod 12289) reflects Harvard-Kyoto prosodic weight and is deliberately not an integrity primitive.
git clone https://github.com/ayushbhoi08-lab/adesha.git
cd adesha
python adesha.py # REPL
python adesha.py examples/zloka_mudra.adesha # seal a Bhagavad Gītā verse
python adesha.py --trace run examples/function.adesha # watch it execute
python -m pytest tests -q # the test suite
The browser playground (Pyodide, zero install) lives in playground/ — serve it with python -m http.server from that folder, or open it directly at https://ayushbhoi08-lab.github.io/adesha/.
New to programming? Start with Lesson Zero — five steps that teach one programming concept and one real Sanskrit grammar note at a time.
Active, early, and honest about it. The language core (tokenizer, expression parser, blocks, functions with recursion, lists, dual-language errors, seal/verify CLI) is complete and tested. On the roadmap: a sandhi-based macro layer (Pāṇini's own mechanism as a language feature), an aṣṭa-dik turtle for teaching, and offline Sanskrit voice commands. This project makes no claims of natural-language understanding, translation, or NLP.
pypistats · 42 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-18 – 2026-10-18 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-17 – 2026-10-17 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-13 – 2026-10-13 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-11 – 2026-10-11 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-10 – 2026-10-10 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-09 – 2026-10-09 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-08 – 2026-10-08 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-06 – 2026-10-06 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-02 – 2026-10-02 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-10-01 – 2026-10-01 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-30 – 2026-09-30 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-29 – 2026-09-29 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-28 – 2026-09-28 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-27 – 2026-09-27 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-26 – 2026-09-26 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-24 – 2026-09-24 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-19 – 2026-09-19 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-16 – 2026-09-16 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-14 – 2026-09-14 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-12 – 2026-09-12 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-09 – 2026-09-09 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-07 – 2026-09-07 | 5 | 2026-10-20T19:58:31.5692898Z |
| 2026-09-01 – 2026-09-01 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-31 – 2026-08-31 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-28 – 2026-08-28 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-24 – 2026-08-24 | 7 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-23 – 2026-08-23 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-20 – 2026-08-20 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-17 – 2026-08-17 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-14 – 2026-08-14 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-13 – 2026-08-13 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-09 – 2026-08-09 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-06 – 2026-08-06 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-03 – 2026-08-03 | 3 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-08-01 – 2026-08-01 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-20T19:58:31.5692898Z |
| 2026-07-26 – 2026-07-26 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-07-25 – 2026-07-25 | 1 | 2026-10-20T19:58:31.5692898Z |
| 2026-07-23 – 2026-07-23 | 4 | 2026-10-20T19:58:31.5692898Z |
| 2026-07-22 – 2026-07-22 | 2 | 2026-10-20T19:58:31.5692898Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 5 Jul 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 19:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2277debedfdd87a404ff845101d8cce3c7a5b95a58bbf96caf23ad3cd564a34f