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.
* — The MIT-licensed wolframalpha library is vendored in this release, to
work around this bug. Doing it this way is safest; the best
alternative was pinning to the Git branch of a pull request fixing it
that could be deleted at any time.
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, eithermetric(the default) ornonmetric
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.1 "Mirai to wa?"
Updated:
wolframalphalibrary now bundled, for bug-fixing reasons
Should upstream resume development,sopel-wolframwill switch back.
Meta:
- Future-proofed, PEP639-compliant license metadata (#27)
- Updated build/publish workflow (#27)
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
wolframalpha5.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_publicsetting 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 returnmetric(default) ornonmetricmeasurements (#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_idis missing (#1)
Meta:
- README reformatted (thanks @maxpowa)
- Begin maintaining version history in NEWS file
0.1.0 "Beginner"
- Initial release
- Adopted with permission from https://github.com/maxpowa/inumuta-modules/blob/e0b195c/wolfram.py
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sopel_wolfram-0.6.1.tar.gz.
File metadata
- Download URL: sopel_wolfram-0.6.1.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d43c25cf0571303ddc7999419a96de5c2317af2aeaec7e292bcc8473301fff9
|
|
| MD5 |
21a6d72d6611654d6b4c36978f9fdb1b
|
|
| BLAKE2b-256 |
7db731824af273591e7a4604e945d79a56755b03c712351c49cbfab037f222a9
|
Provenance
The following attestation bundles were made for sopel_wolfram-0.6.1.tar.gz:
Publisher:
pypi.yml on dgw/sopel-wolfram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sopel_wolfram-0.6.1.tar.gz -
Subject digest:
7d43c25cf0571303ddc7999419a96de5c2317af2aeaec7e292bcc8473301fff9 - Sigstore transparency entry: 628686185
- Sigstore integration time:
-
Permalink:
dgw/sopel-wolfram@fc88757b93a0fa43eb2979550ce690e1ab78677b -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/dgw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@fc88757b93a0fa43eb2979550ce690e1ab78677b -
Trigger Event:
release
-
Statement type:
File details
Details for the file sopel_wolfram-0.6.1-py3-none-any.whl.
File metadata
- Download URL: sopel_wolfram-0.6.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a27adaf2f7a7dbd55f2694867afc047011d6a81faeb06c5684927da079c3e19b
|
|
| MD5 |
0ccec8c1e0d8ee0adea0bbe09af57c6a
|
|
| BLAKE2b-256 |
e1d3c1a2b5063c366ed7914e5268ddbac9a4a636c047cfecbedea7f60eabbdab
|
Provenance
The following attestation bundles were made for sopel_wolfram-0.6.1-py3-none-any.whl:
Publisher:
pypi.yml on dgw/sopel-wolfram
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sopel_wolfram-0.6.1-py3-none-any.whl -
Subject digest:
a27adaf2f7a7dbd55f2694867afc047011d6a81faeb06c5684927da079c3e19b - Sigstore transparency entry: 628686191
- Sigstore integration time:
-
Permalink:
dgw/sopel-wolfram@fc88757b93a0fa43eb2979550ce690e1ab78677b -
Branch / Tag:
refs/tags/v0.6.1 - Owner: https://github.com/dgw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@fc88757b93a0fa43eb2979550ce690e1ab78677b -
Trigger Event:
release
-
Statement type: