Complete AbuLang integration for Python IDLE - All commands work natively
Project description
AbuLangModule - Complete AbuLang for Python IDLE
This module enables ALL AbuLang commands to work in Python IDLE with full syntax support.
Installation
# In Python IDLE
import sys
sys.path.append('path/to/AbuLangModule')
from AbuLangModule import *
Or install as package:
pip install -e AbuLangModule
Usage in IDLE
>>> from AbuLangModule import *
[AbuLang] Initializing AbuLang Module...
[AbuLang] ✓ Enabled!
[AbuLang] Available commands:
I/O: show, ask, input
Import: libra, library
Math: plus, minus, multi, divid, expon, modul, absof, sumup, avera
String: strip, lower, upper, replc, findt, lengt
System: pausi, exitp
File: readf, write
Type 'help_abulang()' for full command list
>>> show("Hello, AbuLang!")
Hello, AbuLang!
>>> x = 10
>>> y = 5
>>> show("Sum:", plus(x, y))
Sum: 15
>>> name = ask("Your name: ")
Your name: Abu
>>> show("Hello,", name)
Hello, Abu
>>> libra("math")
[AbuLang] Imported math
>>> show(math.sqrt(16))
4.0
Available Commands
I/O Commands
show(...)- Display outputask(prompt)- Get user input
Import Commands
libra(module)- Import library
Advanced Features (NEW!)
get_line(n, file)- Read specific line from filesave_as(file)- Save format buffer to fileswitch(format)- Multi-format blocks (yaml, json, csv)assign_compare(var, val, cmp)- Inverse walrus operator (=:)isolate(str, list)- Filter list by stringlocal(func).var- Access local variables from functionslocal_to_global(func, var)- Pull local variable to globalsave_local(func, var, val)- Save local variable
See ADVANCED_FEATURES.md for complete guide!
Math Commands
plus(a, b)- Add numbersminus(a, b)- Subtract numbersmulti(a, b)- Multiply numbersdivid(a, b)- Divide numbersexpon(a, b)- Power (a^b)modul(a, b)- Modulo (a%b)absof(x)- Absolute valuesumup(list)- Sum of listavera(list)- Average of list
String Commands
strip(text)- Remove spaceslower(text)- Lowercaseupper(text)- Uppercasereplc(text, old, new)- Replace textfindt(text, word)- Find substringlengt(text)- Length
System Commands
pausi(seconds)- Pause/sleepexitp()- Exit program
File Commands
readf(file)- Read filewrite(file, text)- Write file
AbuLang Packages
AbuSmart - System Utilities
>>> libra("AbuSmart")
>>> show(smart.time())
10:30:45
>>> show(smart.date())
2024-11-15
>>> smart.system_info()
=== System Information ===
...
AbuFILES - File Operations
>>> libra("AbuFILES")
>>> data = {"name": "Abu", "score": 100}
>>> files.save_data("mydata", data)
>>> loaded = files.load_data("mydata")
>>> show(loaded)
{'name': 'Abu', 'score': 100}
AbuINSTALL - Package Manager
>>> libra("AbuINSTALL")
>>> installer.check("requests")
✓ requests is installed
>>> installer.list_installed()
[List of packages...]
AbuChess - Chess AI
>>> libra("AbuChess")
>>> chess.info()
=== AbuChess - Neural Chess AI ===
...
>>> chess.AIweb() # Launch web interface
Complete Example
>>> from AbuLangModule import *
[AbuLang] Initializing AbuLang Module...
[AbuLang] ✓ Enabled!
>>> show("=== Calculator ===")
=== Calculator ===
>>> x = ask("First number: ")
First number: 10
>>> y = ask("Second number: ")
Second number: 5
>>> x = int(x)
>>> y = int(y)
>>> show("Sum:", plus(x, y))
Sum: 15
>>> show("Difference:", minus(x, y))
Difference: 5
>>> show("Product:", multi(x, y))
Product: 50
>>> show("Division:", divid(x, y))
Division: 2.0
>>> libra("math")
[AbuLang] Imported math
>>> show("Square root of x:", math.sqrt(x))
Square root of x: 3.1622776601683795
>>> libra("AbuSmart")
>>> show("Current time:", smart.time())
Current time: 10:30:45
Help
>>> help_abulang()
[Shows complete command list]
Disable AbuLang
>>> disable_abulang()
[AbuLang] Disabled
Notes
- In IDLE, you must use parentheses:
show("text") - For no-parentheses syntax, use .abu files:
python cli.py file.abu - All commands are added to Python's builtins
- Original builtins are preserved and can be restored
Requirements
- Python 3.8+
- PyYAML (for commands.yaml)
Optional:
- psutil (for battery info)
- pyperclip (for clipboard)
- opencv-python (for webcam)
- python-chess, torch, flask (for AbuChess)
Made with ❤️ by Abu
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
abulang-4.5.0.tar.gz
(24.1 kB
view details)
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
abulang-4.5.0-py3-none-any.whl
(24.1 kB
view details)
File details
Details for the file abulang-4.5.0.tar.gz.
File metadata
- Download URL: abulang-4.5.0.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6000ab8555a78ab31f8be77c78e50a854b7db6a083fba8c8cc1eaa526f027581
|
|
| MD5 |
43c38ef9a33d66665a7f8d76933138fb
|
|
| BLAKE2b-256 |
5d40a4d56ed8980fd79a452aae0834405f5d719e0b4f88cf1c3b3a7483817330
|
File details
Details for the file abulang-4.5.0-py3-none-any.whl.
File metadata
- Download URL: abulang-4.5.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd375c8ff5d8d8ac65b07d540e675fdc70bc9f60a1fcf27df6dfe1b0492f1e67
|
|
| MD5 |
28f04ca0c20dc18cc5e872d4b3ee9195
|
|
| BLAKE2b-256 |
e6643f661bddf9306d39d0611d9e2f3b64439206309803eea7560f8ed1d5762a
|