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.11.1.tar.gz
(28.7 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.11.1-py3-none-any.whl
(29.3 kB
view details)
File details
Details for the file abulang-4.11.1.tar.gz.
File metadata
- Download URL: abulang-4.11.1.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1257a66abd9b9f4bdf0a8b703fb386e21c7653d074ad9d004ccb1be26f256ce
|
|
| MD5 |
9acdc2da101a2f8854cfce29e21c69f7
|
|
| BLAKE2b-256 |
f5753396964d6f833d0453adc74ce4aab5a50287e8d75328fc27f3d42bd5e6c1
|
File details
Details for the file abulang-4.11.1-py3-none-any.whl.
File metadata
- Download URL: abulang-4.11.1-py3-none-any.whl
- Upload date:
- Size: 29.3 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 |
5a9dc28cabe1e65c14deeb7c582aaef01a971f3b52051b8a0c8148d2574f9cb8
|
|
| MD5 |
414f38ced881688f29d5d341090a54da
|
|
| BLAKE2b-256 |
8088ceecc9653d6bca269b525cab09a2b6071a2567758f560384214d4e06a7d5
|