Metadata-Version: 2.0
Name: sopel-modules.wolfram
Version: 0.4.1
Summary: Wolfram|Alpha module for Sopel IRC bot framework
Home-page: https://github.com/dgw/sopel-wolfram
Author: dgw
Author-email: sopel-wolfram@dgw.me
License: Eiffel Forum License, version 2
Platform: UNKNOWN
Requires-Dist: sopel (<7,>=6.0)
Requires-Dist: wolframalpha (<4.0,>=2.4)

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
<https://pypi.python.org/pypi/sopel-modules.wolfram>`_ 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 <https://github.com/sopel-irc/sopel/issues/1056>`_ 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 <https://github.com/dgw/sopel-wolfram/issues/new>`_
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.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 <https://github.com/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


