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-3.2.1.tar.gz
(12.9 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-3.2.1-py3-none-any.whl
(12.6 kB
view details)
File details
Details for the file abulang-3.2.1.tar.gz.
File metadata
- Download URL: abulang-3.2.1.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fb1759b4639ed266c7950cea0ec8aa71ddd964fda2e8ffb34942c0324f6166
|
|
| MD5 |
f8242975a1006714b804da3aea6422f8
|
|
| BLAKE2b-256 |
d63ccd734e18d01da207926df2b3fad328cc9b8526badc1e8dc1e235e3c5b432
|
File details
Details for the file abulang-3.2.1-py3-none-any.whl.
File metadata
- Download URL: abulang-3.2.1-py3-none-any.whl
- Upload date:
- Size: 12.6 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 |
b7076003f1a6e7c7770d2eaf0ec4d1f6e9862108616feb73ee91acdab9f0adee
|
|
| MD5 |
9c565c1bc3e4ce0aec97daef1ab3e191
|
|
| BLAKE2b-256 |
2190a9fc744e41d2e5dad135cbeb20a66b78ea54469fe5e5df7251917e6b5d5e
|