Skip to main content

A Python module and bridge for reflecting KoLmafia's Java environment

Project description

pymafia

A Python module and bridge for reflecting KoLmafia's Java environment.

Overview

The aim of the pymafia module is to provide an easy-to-use environment for scripting Kingdom of Loathing in Python. It achieves this by reflecting and wrapping the community-developed KoLmafia desktop tool. While other languages for scripting KoL exist, they are arguably less approachable to non-developers than Python (although the efforts of LASS have made this less so). This project was inspired by Samuel Gaus's frattlesnake repository.

Installation

pip install pymafia

The pymafia module uses PyJNIus to access Java classes, so make sure a Java Development Kit (JDK) is installed on your operating system. On windows, make sure JAVA_HOME points to your java installation so PyJNIus can locate the jvm.dll file to start java. For more information see https://pyjnius.readthedocs.io/en/stable/installation.html.

Quickstart

>>> from pymafia import *

>>> login("devster6")
>>> ash.my_name()
"devster6"

>>> Effect("Synthesis: Greed").quality
<EffectQuality.GOOD: 0>

>>> ash.display_amount(Item("big rock"))
6540

>>> ash.appearance_rates(Location("Barf Mountain"))
{Monster('none'): 0.0,
 Monster('angry tourist'): 33.333333333333336,
 Monster('horrible tourist family'): 33.333333333333336,
 Monster('garbage tourist'): 33.333333333333336}

>>> get_property("sourceTerminalEducate1")
'digitize.edu'

>>> get_property("_sourceTerminalDigitizeMonster", Monster)
Monster('Knob Goblin Embezzler')

>>> boxing_daycare.have()
True

>>> witchess.fights_left()
5

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

pymafia-0.2.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

pymafia-0.2.0-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

Details for the file pymafia-0.2.0.tar.gz.

File metadata

  • Download URL: pymafia-0.2.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.11 Linux/5.15.0-1035-azure

File hashes

Hashes for pymafia-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cb3301add13d94f7adb45a99047865654578ba1fc51bf6680da839c57cf9a059
MD5 e0e06f74fdf1b3a00cf304894da40681
BLAKE2b-256 767c2c0d03208b208874a712e57362cdd640e44c659d6ae5397b1f79ea591910

See more details on using hashes here.

File details

Details for the file pymafia-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pymafia-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.11 Linux/5.15.0-1035-azure

File hashes

Hashes for pymafia-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb1a538b378ecb14194156004b3ba6ae713264e2c3ae0773ef26e71d7df06596
MD5 f1e2ff5b284715d9b45cce447061a319
BLAKE2b-256 445c66ae6210d3306cd5c356ff97c0144d54de43d253d81ba723f0ac8fa3a760

See more details on using hashes here.

Supported by

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