Skip to main content

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 output
  • ask(prompt) - Get user input

Import Commands

  • libra(module) - Import library

Advanced Features (NEW!)

  • get_line(n, file) - Read specific line from file
  • save_as(file) - Save format buffer to file
  • switch(format) - Multi-format blocks (yaml, json, csv)
  • assign_compare(var, val, cmp) - Inverse walrus operator (=:)
  • isolate(str, list) - Filter list by string
  • local(func).var - Access local variables from functions
  • local_to_global(func, var) - Pull local variable to global
  • save_local(func, var, val) - Save local variable

See ADVANCED_FEATURES.md for complete guide!

Math Commands

  • plus(a, b) - Add numbers
  • minus(a, b) - Subtract numbers
  • multi(a, b) - Multiply numbers
  • divid(a, b) - Divide numbers
  • expon(a, b) - Power (a^b)
  • modul(a, b) - Modulo (a%b)
  • absof(x) - Absolute value
  • sumup(list) - Sum of list
  • avera(list) - Average of list

String Commands

  • strip(text) - Remove spaces
  • lower(text) - Lowercase
  • upper(text) - Uppercase
  • replc(text, old, new) - Replace text
  • findt(text, word) - Find substring
  • lengt(text) - Length

System Commands

  • pausi(seconds) - Pause/sleep
  • exitp() - Exit program

File Commands

  • readf(file) - Read file
  • write(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


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.2.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

abulang-3.2.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file abulang-3.2.2.tar.gz.

File metadata

  • Download URL: abulang-3.2.2.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

Hashes for abulang-3.2.2.tar.gz
Algorithm Hash digest
SHA256 d8d7b76bb060f7dad41015fb62d0af82e190e9a18b23424b4d8d4b57dba9b2a3
MD5 a61a26bcf64281fd1627e8f677be4809
BLAKE2b-256 5cc225fc449aa86f1087bb42882d75f6bda1744ee56b72a30a4dc227662f5bda

See more details on using hashes here.

File details

Details for the file abulang-3.2.2-py3-none-any.whl.

File metadata

  • Download URL: abulang-3.2.2-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

Hashes for abulang-3.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 520f336f379d3e9e1a4b739c68b8c56c69b386d598ff3c71908e77820e8d8dac
MD5 32c07638036797019d88286759e4cf77
BLAKE2b-256 3dcd0c95b3818543f7180de7fe25618579ae0d46d08a1cfbdde6e7bdfaca07e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page