TechScript โ A simple, friendly programming language (.txs)
Project description
๐ TechScript
A friendly programming language that reads like plain English โ and now builds websites too!
๐ค What is TechScript? (Explain Like I'm 10)
Imagine you want to tell a computer to do something. Normally, computers only understand confusing code like this:
const x = document.getElementById('name');
if (x !== null && x.value.length > 0) { ... }
TechScript makes that feel like writing a sentence:
make name = ask "What is your name? "
say f"Hello, {name}!"
That's it. No semicolons. No brackets. No confusing symbols. Just simple words that make sense.
TechScript is:
- ๐ข A programming language โ you can write code that runs on your computer
- ๐ A web builder โ you can build full websites with it (no HTML or CSS needed!)
- ๐ Powered by Python โ works on any computer that has Python installed
- ๐ฆ One command โ
tech run yourfile.txsand your program runs instantly
๐ What Can TechScript Do?
| What you want to do | TechScript can do it? |
|---|---|
| Print text to screen | โ
say "Hello!" |
| Ask the user a question | โ
make answer = ask "Your name? " |
| Do math | โ
say 10 + 5 * 2 |
| Make decisions | โ
when age > 18 { say "Adult" } |
| Loop (repeat stuff) | โ
each i in 1..10 { say i } |
| Make functions (reusable code) | โ
build greet(name) { say f"Hi {name}!" } |
| Make classes/objects | โ
model Dog { ... } |
| Handle errors | โ
attempt { ... } catch err { ... } |
| Build a website | โ
use web + page.run() |
| Replace HTML | โ
page.h1("Title"), page.div([...]) |
| Replace CSS | โ
page.style("body", { "color": "white" }) |
| Replace JavaScript | โ
page.script("function hello() {...}") |
| Replace React/Vue | โ
Built-in state management via JS in page.script() |
๐ช Install on Windows (Easy โ No Terminal Needed!)
Option 1: One-Click Installer (Recommended for Beginners)
- Go to the ๐ฅ Releases page
- Download
TechScript-Setup.exe - Double-click it โ it will install everything automatically!
- Open PowerShell (press
Win + Xโ "Windows PowerShell") and type:
tech version
You should see: TechScript v1.0.1 ๐
What the installer does automatically:
- โ
Puts
tech.exeon your computer - โ
Makes the
techcommand available everywhere in your terminal - โ
Registers
.txsfiles so they know they belong to TechScript - โ Installs the VS Code extension for syntax highlighting
Option 2: Using pip (If you already have Python)
pip install techscript
๐ง Install on Linux (Ubuntu, Kali, Arch, etc.)
Super Simple โ Just paste this in your terminal:
curl -fsSL https://raw.githubusercontent.com/Tcode-Moti/TechScript/main/scripts/install.sh | bash
Or manually:
# Step 1: Make sure Python 3.10+ is installed
python3 --version
# Step 2: Install TechScript
pip3 install techscript
# Step 3: Test it
tech version
๐ Install on macOS
# If you have Homebrew and Python:
pip3 install techscript
# OR use the one-line installer:
curl -fsSL https://raw.githubusercontent.com/Tcode-Moti/TechScript/main/scripts/install.sh | bash
๐ฑ Install on Android (Termux)
pkg install python
pip install techscript
tech version
โ๏ธ Your First TechScript Program
Create a new file called hello.txs (you can use Notepad, VS Code, or any text editor):
# This is a comment โ the computer ignores it
# The 'say' keyword means "print this to the screen"
say "Hello, World!"
say "I am learning TechScript!"
say "It is very easy to read ๐"
Now run it:
tech run hello.txs
Output:
Hello, World!
I am learning TechScript!
It is very easy to read ๐
๐ Language Guide (With Explanations for Beginners)
๐ฆ Variables โ Storing Information
A variable is like a box where you put something to use later.
# 'make' creates a new box called 'name' and puts "Alice" inside
make name = "Alice"
# 'keep' creates a CONSTANT โ a box you can NEVER change
keep PI = 3.14159
# You can store numbers, text, lists, anything!
make age = 25
make items = [1, 2, 3, 4, 5] # A list (like a shopping list)
make info = { "city": "Delhi" } # A dictionary (like a phone book)
๐จ๏ธ Output โ Talking to the User
say "Hello!" # Prints: Hello!
say "Name:", name # Prints: Name: Alice
say f"My name is {name}!" # f-strings insert variables: My name is Alice!
say 10 + 5 # Prints: 15
๐ฌ Input โ Asking the User a Question
make name = ask "What is your name? "
say f"Nice to meet you, {name}!"
When run, it pauses and waits for the user to type something.
๐ Conditions โ Making Decisions
Think of this like: "IF this is true, do that. Otherwise, do this other thing."
make age = 20
when age >= 18 {
say "You are an adult!"
} or when age >= 13 {
say "You are a teenager!"
} else {
say "You are a child!"
}
๐ Loops โ Doing Things Repeatedly
each loop โ do something for every item in a list:
# Count from 1 to 5
each i in 1..5 {
say f"Count: {i}"
}
# Go through each item in a list
each fruit in ["apple", "banana", "mango"] {
say f"I like {fruit}!"
}
repeat loop โ keep doing something while a condition is true:
make x = 1
repeat x <= 5 {
say x
x = x + 1
}
๐ง Functions โ Reusable Code Blocks
A function is a piece of code you write once and can use many times.
# 'build' creates a function. 'name' is the input it receives.
build greet(name, greeting = "Hello") {
say f"{greeting}, {name}!"
}
# Call the function:
greet("Alice") # Prints: Hello, Alice!
greet("Bob", "Hi there") # Prints: Hi there, Bob!
greet("Charlie", "Hey") # Prints: Hey, Charlie!
๐๏ธ Classes โ Blueprints for Objects
A class is like a blueprint for creating things (called objects).
# Define what a "Dog" is
model Dog {
build init(self, name, breed) {
self.name = name # Every dog has a name
self.breed = breed # Every dog has a breed
}
build speak(self) {
say f"{self.name} says: Woof! Woof!"
}
build info(self) {
say f"{self.name} is a {self.breed}"
}
}
# Create two dogs (two "objects" from the Dog blueprint)
make rex = Dog("Rex", "German Shepherd")
make buddy = Dog("Buddy", "Golden Retriever")
rex.speak() # Rex says: Woof! Woof!
rex.info() # Rex is a German Shepherd
buddy.speak() # Buddy says: Woof! Woof!
โ ๏ธ Error Handling โ Catching Mistakes Gracefully
What if something goes wrong? Instead of crashing, you can handle it:
attempt {
# Try to do this risky thing
make result = 10 / 0 # Division by zero!
} catch err {
# If anything goes wrong, come here instead of crashing
say f"Oops! Something went wrong: {err.message}"
}
say "Program continues normally after the error!"
๐ Building Websites with TechScript (New in v1.0.1!)
This is the most exciting feature โ you can build a complete running website using only TechScript. No HTML. No CSS. No JavaScript files. Just one .txs file!
How it works
- Write
use webat the top โ this loads the web module - Create a page with
make page = WebPage("My Title") - Add styling, content, and scripts
- Call
page.run()โ your browser opens automatically! ๐
Simple Website Example
use web
# Create a page with a title
make page = WebPage("My First Website")
# Add CSS styles (like a style sheet)
page.style("body", {
"background": "#0f0f11", # Dark background
"color": "#eeeeee", # White text
"font-family": "sans-serif", # Clean font
"text-align": "center",
"padding": "60px"
})
# Add JavaScript (for interactive buttons)
page.script("""
function sayHello() {
alert('Hello from TechScript! ๐');
}
""")
# Build the page layout
page.body([
page.h1("Welcome to My Website! ๐"),
page.p("This website was built 100% in TechScript."),
page.p("No HTML. No CSS files. No React. Just TechScript!"),
page.button("Click Me!", { "onclick": "sayHello()" })
])
# Run the server โ browser opens automatically!
page.run()
Run it:
tech run my_website.txs
That's it! Your browser opens and shows your website. Press Ctrl+C to stop the server.
๐ ๏ธ All CLI Commands
| Command | What it does | Example |
|---|---|---|
tech run file.txs |
Run a TechScript file | tech run hello.txs |
tech run file.txs --debug |
Run with debug info | tech run calc.txs --debug |
tech check file.txs |
Check for errors without running | tech check myapp.txs |
tech repl |
Open interactive mode (type and run live) | tech repl |
tech transpile file.txs |
Convert your code to Python | tech transpile hello.txs |
tech version or tech -V |
Show installed version | tech -V |
๐ All Example Programs
Run any of these to see TechScript in action:
| File | What it does | Run it |
|---|---|---|
examples/hello.txs |
Prints Hello World | tech run examples/hello.txs |
examples/fibonacci.txs |
Calculates Fibonacci numbers | tech run examples/fibonacci.txs |
examples/fizzbuzz.txs |
The classic FizzBuzz challenge | tech run examples/fizzbuzz.txs |
examples/classes.txs |
Dogs and cats using OOP | tech run examples/classes.txs |
examples/calculator.txs |
Simple calculator | tech run examples/calculator.txs |
examples/guessing_game.txs |
Guess the number game | tech run examples/guessing_game.txs |
examples/web_app_simple.txs |
Simple dark-theme website | tech run examples/web_app_simple.txs |
examples/web_complete.txs |
Full showcase: counter, API, form | tech run examples/web_complete.txs |
๐จ VS Code / Cursor Editor Extension
Get syntax highlighting, code snippets, and the ๐ dragon file icon for .txs files:
Method 1 โ Command line (fastest):
code --install-extension vscode-extension/techscript-1.0.2.vsix
Method 2 โ Using the GUI:
- Open VS Code
- Press
Ctrl+Shift+Xto open Extensions - Click the
ยทยทยทmenu (top right of the Extensions panel) - Select "Install from VSIX..."
- Choose
vscode-extension/techscript-1.0.2.vsix
After installing, all your .txs files will have the dragon icon and coloured syntax! ๐จ
โจ v1.0.1 Changelog โ What's New vs v1.0.0
| Feature | v1.0.0 | v1.0.1 |
|---|---|---|
| Basic scripting (say, make, loops) | โ | โ |
| Functions, classes, error handling | โ | โ |
| 80+ built-in functions | โ | โ |
| VS Code extension (syntax + icons) | โ | โ Updated to v1.0.2 |
use web โ Build websites |
โ | โ NEW |
| No HTML/CSS/JS needed | โ | โ NEW |
| Browser opens automatically | โ | โ NEW |
| Auto port selection (no conflicts) | โ | โ NEW |
| Windows one-click Setup.exe | โ | โ NEW |
| Mac/Linux one-line install script | โ | โ NEW |
| Auto PATH setup | โ | โ NEW |
| Reactive counter demo | โ | โ NEW |
| Live API fetch example | โ | โ NEW |
| Contact form example | โ | โ NEW |
๐ Documentation
| Document | Description |
|---|---|
| Quick Start Guide | Simple step-by-step install for all platforms |
| Language Cheat Sheet | All keywords, functions, and syntax at a glance |
| Web Module Guide | How to build websites with TechScript |
๐ Platform Support
| Platform | Status | Install Method |
|---|---|---|
| Windows 10/11 | โ Fully supported | TechScript-Setup.exe or pip |
| macOS | โ Fully supported | install.sh or pip |
| Linux (Ubuntu, Kali, Arch) | โ Fully supported | install.sh or pip |
| Android (Termux) | โ Works | pip |
Minimum requirement: Python 3.10 or newer.
๐ License
MIT License โ free to use, share, and modify. See LICENSE.
Made with ๐ by the TechScript Team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file techscript-1.0.3.tar.gz.
File metadata
- Download URL: techscript-1.0.3.tar.gz
- Upload date:
- Size: 43.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b53453e6351148ec4f0c71b24e407c2817b1f010405dcecebece9fa4011a7560
|
|
| MD5 |
9d1257a7b246f3fbdd1279d545e54423
|
|
| BLAKE2b-256 |
b3f5c441fad06dc4614cf570940f5b9971886dac1fad83eff6f3cea00e484ff6
|
File details
Details for the file techscript-1.0.3-py3-none-any.whl.
File metadata
- Download URL: techscript-1.0.3-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3eb1f5fdcbd8575ef04f48723c320d7c75efe29503af0567fb1b0de0ff859347
|
|
| MD5 |
ec4060dcb6dccddd035e56199146f9c3
|
|
| BLAKE2b-256 |
051f6372dc0c5fd0f2b02ca4e6fe7bc2c39e84f50fef3c0bcbf37450af82318f
|