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.3.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.3-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abulang-3.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 1b33475866ed34ae2b94e960a358177aef0a2461f5ab2275bbbd7730a386ec1f
MD5 da87eb309f44d8746b54927dae75d986
BLAKE2b-256 f0b463c2e05ae1f2da71fea036153ec85ffdc9824d216213ff6a17c948ee32e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abulang-3.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8a95b212dc67cf8a4233e4ef5d6116d566605da606cef32421f180f85e24a390
MD5 9dc18332755ffbb33c54efafab968d64
BLAKE2b-256 419dc2da7f16d7ecb6d68c88476897b96f90808f51f53a68ec37e5c7d6080fcd

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