Wolfram|Alpha module for Sopel IRC bot framework
Project description
Sopel Wolfram|Alpha module
Wolfram|Alpha module for Sopel IRC bot framework
Requirements
Sopel 6.x
wolframalpha 2.4+
Note: Some features are unavailable when run with wolframalpha 2.4. Support for wolframalpha 2.4 is deprecated and will be removed in a future release. All bugs must be reported against sopel-wolfram with wolframalpha 3.0+.
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. Sign up for API access at http://developer.wolframalpha.com/portal/apisignup.html and add the App ID 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: the measurements to use in results, metric or nonmetric (needs wolframalpha 3.0)
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
In versions of sopel up to 6.5.0 (the last tested version), reloading a third-party module installed from pip, such as wolfram, results in duplicated output. This is a known issue in sopel and is being worked on.
Workaround: After updating sopel-wolfram through pip, restart the bot at your earliest convenience to enable the latest code.
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.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”
Initial release
Adopted from https://github.com/maxpowa/inumuta-modules/blob/e0b195c/wolfram.py with permission
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for sopel_modules.wolfram-0.4.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ed9b2ffdf44a0309b5c823ce998ad19bee77b783615773d6abffa2924826df1 |
|
MD5 | ef087c3d067ef65cf2a65ea892c1a12b |
|
BLAKE2b-256 | 43c621162b2808b2144ddd6db7755a87d64298ab471f8ccc6e8d7892cb874d15 |
Hashes for sopel_modules.wolfram-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a303261d1c49b277059d213c6fa1318175c1766df13379387c54115767c148b |
|
MD5 | 45cb8f8e9d8632ce93fcdb183eeadd41 |
|
BLAKE2b-256 | 15ab0f07dd4e4e10f1b0d577049c18e883bcbbbcdeccdab75042001c1361fc97 |
Hashes for sopel_modules.wolfram-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e23713df8c19d5cb738a7199ad4da7ce68abc9479214efdeb6a2054b6444a6fd |
|
MD5 | 03a1bfec6601ac2a684d981280401ab9 |
|
BLAKE2b-256 | 77966cdc46e74f916daa365a6c2c0e621f4f13af64e8100e999103f3900059eb |
Hashes for sopel_modules.wolfram-0.4.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f53f13861d77672a8709bb4f21b109645804c9b7575dd668dbe058e8b98eb8d |
|
MD5 | 83acf149c7ef3aaa32d4ab1f4e880cd8 |
|
BLAKE2b-256 | e871ac6cb35d003eba7151ea9fe300ea1969f44906722ab9087c91e7ef823655 |