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

Uploaded Source

Built Distribution

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

abulang-4.6.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: abulang-4.6.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for abulang-4.6.0.tar.gz
Algorithm Hash digest
SHA256 2fc29a89a726447d21a70c2f7eaf6e82641c50534aef9a41bcb80f29efd2d619
MD5 27c789695feac35ca2c14c8aac635d1a
BLAKE2b-256 4e63df925908f56d911df7567bb4364a79db9a08ebbc9f63ccbdcaa2cc3308d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abulang-4.6.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for abulang-4.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 754f916c5389bab67665e3e349fc9d3b149c9a6d45d0e5eab654659c67ef9094
MD5 ae6cf4bdf611a9b9d6e46fafc52197a0
BLAKE2b-256 10474b0e3e70879b0d2b591d1f9be23bd7665d253e643464419036412ed1314a

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