Skip to main content

Wolfram|Alpha module for Sopel IRC bot framework

Project description

Sopel Wolfram|Alpha plugin

Wolfram|Alpha plugin for Sopel IRC bot framework

Requirements

  • Sopel 7.x
  • wolframalpha 3.x

Installation

This package’s full name is sopel-modules.wolfram and it is listed on PyPI under that identifier.

The only supported installation method is via pip:

pip install sopel-modules.wolfram

Use pip3 as appropriate for your Python environment.

Development versions can be installed from GitHub via pip also:

pip install git+https://github.com/dgw/sopel-wolfram.git@master

Note that pip does not keep track of packages obtained from sources outside of PyPI, so pip install --upgrade sopel-modules.wolfram will not work for GitHub installations. Instead, to upgrade to the latest code, do:

pip install --upgrade git+https://github.com/dgw/sopel-wolfram.git@master

Configuration

Required

The Wolfram|Alpha API requires a key to be added in the bot’s config. Click the “Get an AppID” button at https://developer.wolframalpha.com/portal/myapps/ and add your new AppID to Sopel’s configuration file:

[wolfram]
app_id = yourappidgoeshere

Optional

  • max_public: the number of lines over which results will be sent in NOTICE instead of to the channel (default: 10)
  • units: measurement system displayed in results, either metric (the default) or nonmetric

Usage

<User> .wa 2+2
<Sopel> [W|A] 2+2 = 4

<User> .wa python language release date
<Sopel> [W|A] Python | date introduced = 1991

<User> .wa airspeed velocity of an unladen swallow
<Sopel> [W|A] estimated average cruising airspeed of an unladen European
        swallow = 25 mph  (miles per hour)(asked, but not answered, about a
        general swallow in the 1975 film Monty Python and the Holy Grail)

A Note About Reloading

Due to Python limitations, reloading a “packaged” Sopel plugin such as this one, might not actually reload all of the code. After updating sopel-wolfram, please restart the bot at your earliest convenience, rather than using Sopel’s .reload function. The last tested version was: Sopel 7.0.0

Support

Help with installing or configuring the module is available by pinging either dgw or maxpowa in #sopel on freenode. dgw is also available in #Kaede on Rizon.

Bugs and feature requests can be submitted to the GitHub issue tracker, preferably after first bringing them up on IRC.

Changelog

Ticket numbers in changelog entries can be looked up by visiting https://github.com/dgw/sopel-wolfram/issue/<number>

sopel-wolfram v0.5.0 “ALIVE”

That’s “ALIVE” as in “This project isn’t DEAD” (despite the last release being over two years old).

Updated:

  • Sopel 7.x now supported & required (#23)
  • Dropped support for Sopel 6.x (#23)
  • Dropped support for wolframalpha 2.x (#23)
  • Internal refactoring to take advantage of new Sopel features (#23)

Meta:

  • No more ZIP releases; PyPI only allows one file type now (#22)

sopel-wolfram v0.4.1 “Kibou ni tsuite”

This release named in memory of LuckyNumber78, who changed lives every day simply by being her excitable, fun-loving self. She is missed by many.

Fixed:

  • max_public setting could cause errors because it was treated as a string (#21)

sopel-wolfram v0.4.0 “Mirai no kajitsu”

Added:

  • Support for wolframalpha 3.0 with transitional fallback to 2.4 (#11, #19; see README notes)
  • New configuration option max_public, a number defining the maximum number of lines that can be sent without using NOTICEs. Default: 5 (#13)
  • New configuration option units, to specify whether the API should return metric (default) or nonmetric measurements (#18; see #16)

Updated:

  • Threshold for using NOTICEs is now 5 lines, up from the previous default of 3

Fixed:

  • Non-ASCII text in output is no longer \:encoded (#15)

sopel-wolfram v0.3.1 “Nusumareta kuchibiru”

Updates:

  • Unicode-encode query to avoid UnicodeEncodeError on non-ASCII characters (#10)

sopel-wolfram v0.3.0 “So long!”

Updates:

  • Results longer than 3 lines will be sent via NOTICE instead of flooding channels (#8)

sopel-wolfram v0.2.1 “Mae shika mukanee”

Updates:

  • Output now split into multiple messages when line breaks are present (#4)
  • Tell pip we do not want wolframalpha 3.0 yet (#6)

sopel-wolfram v0.2.0 “Miraibashi”

Updates:

  • Try a lot harder to give useful output (#3)
  • Tell user to try again if an unspecified error occurs (empty error message)

Meta:

  • Cleanup: PEP8 & unused imports
  • Refactor to make future addition of integration tests easier

sopel-wolfram v0.1.2 “Switch”

Updates:

  • Shorten some error messages
  • Identify as “[W|A]” instead of “[Wolfram]” in output for brevity
  • Ensure all module output is prefixed
  • Add more examples to help output and README

Meta:

  • README now includes installation instructions and where to get help/report bugs

sopel-wolfram v0.1.1 “Already”

Updates:

  • Now outputs error if app_id is missing (#1)

Meta:

  • README reformatted (thanks @maxpowa)
  • Begin maintaining version history in NEWS file

sopel-wolfram v0.1.0 “Beginner”

Project details


Download files

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

Files for sopel-modules.wolfram, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size sopel_modules.wolfram-0.5.0.tar.gz (6.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page