Skip to main content

Wolfram|Alpha plugin for the Sopel IRC bot framework

Project description

sopel-wolfram

Wolfram|Alpha plugin for the Sopel IRC bot framework

Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is pip:

$ pip install sopel-wolfram

Requirements

  • Sopel 8.x
  • wolframalpha 5.x

You will also need a Wolfram|Alpha App ID; see details below in the "Configuring" section.

Configuring

The easiest way to configure sopel-wolfram is via Sopel's configuration wizard—simply run sopel-plugins configure wolfram and enter the values for which it prompts you.

However, you can manually add the following section to your Sopel bot's configuration file if desired:

[wolfram]
app_id = yourappidgoeshere

The app_id setting is required, and you will need to get your own App ID from Wolfram|Alpha at https://developer.wolframalpha.com/

Optional settings:

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

Example 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)

Changelog

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

0.6.0 "Bocchi de Skip"

First release as sopel-wolfram, replacing the old sopel_modules.wolfram package for Sopel 7 and older.

Updated:

  • Sopel 8.x and Python 3.8+ now required (#25)
  • Upgraded to wolframalpha 5.x (#25)
  • Modernized packaging & package metadata (#25)
  • Streamlined documentation (#25)

0.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)

0.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)

0.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)

0.3.1 "Nusumareta kuchibiru"

Updates:

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

0.3.0 "So long!"

Updates:

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

0.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)

0.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

0.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

0.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

0.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.

Source Distribution

sopel_wolfram-0.6.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

sopel_wolfram-0.6.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file sopel_wolfram-0.6.0.tar.gz.

File metadata

  • Download URL: sopel_wolfram-0.6.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for sopel_wolfram-0.6.0.tar.gz
Algorithm Hash digest
SHA256 2821c50af435e0225cb7f7bcc6370b0eaee16cad2a78bc2af47ed8fd05025c4c
MD5 7e5b18a70fed9675dcd44a677f024ee2
BLAKE2b-256 8e2addc5adb6f377fe6b67d273272f6109cc6aa664e5a231091e45c0a80cb3a0

See more details on using hashes here.

File details

Details for the file sopel_wolfram-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sopel_wolfram-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35d5dcfa07f26a230b65eb1b0179a662854a69c6b3da7a636e5b7cf3823466c5
MD5 1cc53f7ea5b9c63734b9ae5d515aa7ae
BLAKE2b-256 4075d6002f6fb4c5b600b6020eb40888d2c2dd7702c612d04b4651cd666c0a90

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