Skip to main content

Python bindings for Objective-LOL

Project description

Objective-LOL Python Bindings

Python bindings for the Objective-LOL programming language - a modern, strongly-typed language inspired by LOLCODE.

Installation

pip install objective-lol

Quick Start

import objective_lol as olol

# Create a VM instance
vm = olol.ObjectiveLOLVM()

# Execute Objective-LOL code
code = """
I CAN HAS STDIO?
HAI ME TEH FUNCSHUN MAIN
    I HAS A VARIABLE X TEH INTEGR ITZ 42
    SAYZ WIT X
KTHXBAI
"""

vm.execute(code)  # Prints: 42

Features

  • Execute Objective-LOL code: Run complete programs or code snippets
  • Python integration: Call Python functions from Objective-LOL and vice versa
  • Type conversion: Automatic conversion between Python and Objective-LOL types
  • Module system: Import and use custom modules
  • Class definitions: Define and use classes from Python

Advanced Usage

Defining Python Functions for Objective-LOL

vm = olol.ObjectiveLOLVM()

def add_numbers(a, b):
    return a + b

vm.define_function("add_numbers", add_numbers)

code = """
I CAN HAS STDIO?
HAI ME TEH FUNCSHUN MAIN
    I HAS A VARIABLE RESULT TEH INTEGR ITZ add_numbers WIT 10 AN WIT 20
    SAYZ WIT RESULT
KTHXBAI
"""

vm.execute(code)  # Prints: 30

Working with Classes

vm = olol.ObjectiveLOLVM()

class Calculator:
    def add(self, x, y):
        return x + y

    def multiply(self, x, y):
        return x * y

vm.define_class(Calculator)

code = """
I CAN HAS STDIO?
HAI ME TEH FUNCSHUN MAIN
    I HAS A VARIABLE CALC TEH Calculator ITZ NEW Calculator
    I HAS A VARIABLE SUM TEH INTEGR ITZ CALC DO add WIT 5 AN WIT 3
    SAYZ WIT SUM
KTHXBAI
"""

vm.execute(code)  # Prints: 8

Type Mapping

Objective-LOL Type Python Type
INTEGR int
DUBBLE float
STRIN str
BOOL bool
NOTHIN None
BUKKIT (array) list
BASKIT (map) dict

Links

License

MIT License

Changelog

[0.0.4] - 2026-04-29

Added

  • Added a mechanism to specify the working directory of the Objective-LOL interpreter from Python at initialization time

Fixed

  • Fixed interop of setting primitive values on Python objects from within Objective-LOL

[0.0.3] - 2026-03-24

Fixed

  • Fixed interop of nested lists and dicts between Python and Objective-LOL

[0.0.2] - 2025-09-16

Changed

  • Modified octal prefix from 0 to 0o

Fixed

  • Fixed a stack corruption crash on Windows by using compatibility function calls with separate goroutines

[0.0.1] - 2025-09-14

Added

  • Initial Python bindings for Objective-LOL interpreter
  • Pre-built wheels for Windows, macOS, and Linux for Python 3.9+

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

objective_lol-0.0.4-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

objective_lol-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

objective_lol-0.0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

objective_lol-0.0.4-cp313-cp313-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

objective_lol-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

objective_lol-0.0.4-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

objective_lol-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

objective_lol-0.0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

objective_lol-0.0.4-cp312-cp312-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

objective_lol-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

objective_lol-0.0.4-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

objective_lol-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

objective_lol-0.0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

objective_lol-0.0.4-cp311-cp311-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

objective_lol-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

objective_lol-0.0.4-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

objective_lol-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

objective_lol-0.0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

objective_lol-0.0.4-cp310-cp310-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

objective_lol-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

objective_lol-0.0.4-cp39-cp39-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.9Windows x86-64

objective_lol-0.0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

objective_lol-0.0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

objective_lol-0.0.4-cp39-cp39-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

objective_lol-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file objective_lol-0.0.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0b1c5b16041a85de35d62c7a7fa92346f993455057c8b4452ccd8edbc24c53ad
MD5 8c27e42d0f76b83541623ad62bb2c4ed
BLAKE2b-256 b86d15ad11fe957379092ae175a19c75f0b1f6d931f3620b53c0e63ad5ed6f4a

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0049820c01d25ecd3952615062a25ae5d2479a9e9cf52df50edb86f0fe4dc92f
MD5 6ac3597765339a78c0a31cc1b6dc4eb9
BLAKE2b-256 aec01042957c67363944aab041f8b100dd24d0de6f66cd04f90d9e7d14d271cf

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 8449e85fc9523fa1c7272db0e83755ebe9a2f828c894f06919570d4557c5e51f
MD5 ce734b33fce0afc4e16882c889effc5a
BLAKE2b-256 b598f1c761101adc483a8fc77dfa730b0b4547bf79e89f42ab28af2d833d64a9

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 204eea2289e4fd4bd82394aeb07b93f1f808f987c3f2732d9d4b67b6410db59a
MD5 266f113e2ec2c915257a88dd6ee43273
BLAKE2b-256 d90dc2287be600f16db70abbb349310927e71855b532039a1f2409827eae9139

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c4d6c47fbabcad9b96e5e114c969dc856c9827a1f07e049c0f67ffc438cfa7bc
MD5 6ab4e4cb063a5fd3c69c7baac5827b0d
BLAKE2b-256 e0a6094ae05c981130cc774a66fccbae4c4437b139b321a308f1ae072f9c5866

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3041d1f0393cd613985729712876d19da950f0309c7a114b0d6a69410701cf87
MD5 42ac16f12714a85591b9374f039d9e63
BLAKE2b-256 efccc0bf33ff0a764c683bc7a5e7abba7814b2854803c16460c0509785af01cf

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d38bb371ab5f9e967cf1323ff431d4056aad33271275908d2d13e25a03ef8485
MD5 df9a1a72e3f7114b89c25627122903ca
BLAKE2b-256 59f89668330b01cdeec9f6585b93487976f57f6c975fffe0ab01f3cd63b18a03

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 88b9ebd5d31f44297a60b74b23b5ffeffaa04110d42d8bccfe15eaccaf9f05fd
MD5 70ed9444b69125bcf0799470befb954e
BLAKE2b-256 12ddb6e149e977ad706beb1062ca729dc8dc4ff91829ce98f033f1795d70106e

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd56491813a5e502dba5fde55e09b107cf53a20882bba7e2db646db91bf140d1
MD5 415fe9e1f3b5b7f92ab729ac29914c91
BLAKE2b-256 5755e7079668ea8e890477f4ad952915c4fc05d11d21aa5421f5e5c3250cff56

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 aa6b7501a8fcb17b0e39a13a5abce81cf21a8fbd6d36bd2b9d7a5f7552baa363
MD5 c22f7f56b0cc01020a6d94b66a3ff3d4
BLAKE2b-256 b278bcaabc2b82f6ebf77f93b82adfda61a265d7f20c9cd5caf891173824a6c3

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2410bb0ef82d22f290096716f9e0fe2ca5bdc21a139de41354c36fb6cc003bfe
MD5 e7d1953fafd0d8f0814044cb5e7e93ee
BLAKE2b-256 4332bb232f0b1499de83d4a19866dad653a58b41b2d4e3f3ca387aced8ec1fd5

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a3c3b39318607252eb3771873dd352a6e5a0b67f70429c641599cbff8640dec
MD5 663c0434c4953646c541a0a05cc6e1bb
BLAKE2b-256 516408f6bae5076e4e8d88629ecb76de84c9a56fa6a570acbc5b4173067e22ea

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1eca3d85755df6b3f0fd95be76e95e8d2c4df166b31d77a56f1f9e1259f34f14
MD5 59f11ff7699a740a8339ca6a339a254b
BLAKE2b-256 a8bbaf888ab5cd379d8fc81e1542da5578e2b85aa7a5be1317735e0a2e57ff29

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74118daab27ae621b96b57857798444ae1607f632cbca09de821a8731f0be8c6
MD5 3629492b6fce3d6c052e8c8911ad74ab
BLAKE2b-256 3a5a10b8c661e31936b45cf8e65e8430ee3105d43b736e508985d371177a9b29

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ccf9e6ea681991a9a3bb6165026fbd59b1b94ed106c75390b263457bbdfa2061
MD5 330a6d6906ebcbec36ccdc5507f6ab29
BLAKE2b-256 10f661b5e11e2549107e66b52647a36fa6b16d9edac7b71a25ea3372bd41203f

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fd9a6e15cebf58c33e788ca73ecd698aeda2044b7771b190adbb74b15f1b912d
MD5 330feb58ee66b68b7db3ee1f2d719d55
BLAKE2b-256 e6b1edd5c2bbf18785047878f92d2d9f932f04f27d7fd98ec0e9c88984fb1ab6

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 40a3214ef12bc420f1e61d632c404200b10fe6b5b8b0fb6f0f4a6c920484b43d
MD5 e3daf3892b12d04168a3d6908edd059e
BLAKE2b-256 ecdfa2769e156b703b4c0ac82752a3d7bed1e008c909a9a1f1a852fb0f50df12

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 af5e5e099a189ab8fff793ec8ff555f02351e66656ab27f346529142aa9c4327
MD5 81fc2427e65dc883515b68263b77bb24
BLAKE2b-256 56f1d36818edb554996d1f283fb47a2cab5fd2e1af3bac534761de669ce2036b

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7d0a8a08f213fc008aaddbfa86848d29c4ff9b27d2bcbf00a402d5711398418
MD5 41c26d4b94a9b9dde1e249bbf3f826b4
BLAKE2b-256 ae575b5752352538d35e03fa7bcb53916e8a8fb90822ab2c2edf98916ccd4a9e

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8d71072957e9c03869d04b39522eaef169eb572552b10edaa9dfcd2ec98695de
MD5 1d45e4c1450d402eb75279492f60d112
BLAKE2b-256 7e63518c8cfd6467c72c757074d4e6d648ae507a0f02793ee2374610be5a5c57

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d656720d97b4a83e42596abce262d9341e4bbe4364b2f924a429998bfec9fc84
MD5 394bfc0e946d42154ab4e64de79e925a
BLAKE2b-256 5dc5db47f7e34fbbe96bdfcfb537db33a5c8ee441b8d5c23fd5446971af1cfc7

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1440b98c62402cfa552fb9ae18be1928f2da4e69e13e6d8c7756ca38aea289fc
MD5 5a932aab73f3eb4782731a83bd8cbc80
BLAKE2b-256 d1bf5fd40298bf7c518469cf3f1e8282bbf739a7c1826fe4f48ab1bc885f9483

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6509323bd7c07836cfccbd2621d3bff3c3fddcb8f516fd55faab5a21d6e3f5cd
MD5 e5a4e16e04a8d29b69dc89b18f6c7870
BLAKE2b-256 8b1da7a68e3b7ec102b88c98e72b0f630e6505a39a6c7330e0038ba93b6aa45c

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 434b4ec992a66db80048f45a18e9cc98dcfc17b2b38dd3f20ab1b5d6609f7095
MD5 72d53824d0bd4c102faf0173ca197acd
BLAKE2b-256 9c0728c9041fe8bcd768188eac093dae3b60cba24651f5bd4f140fabaf6da563

See more details on using hashes here.

File details

Details for the file objective_lol-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for objective_lol-0.0.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dd729f01548893b4453d258d9ee1ab9c9aeb8e206688c35ae7f1c6a76dcf09b2
MD5 b0a636120712af30fc406cdc8e07ee6d
BLAKE2b-256 657bad609b17912319731325297d6533dd54b7e326fab96aa26f27319f5ea3f1

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