- All clients now support a user-provided httpx.Client.
- Added support for the VBML
absolutePosition
style. - Added support for the VBML
rawCharacters
component field. SubscriptionClient
provides a client interface to Vestaboard's Subscription API.
- The
encode_*()
functions now consistently specify keyword-only arguments. - Vestaboard has deprecated the Platform API, so our
Client
interface is also considered deprecated. Switch toSubscriptionClient
, which offers nearly identical functionality.
VBMLClient
provides a client interface to Vestaboard's VBML (Vestaboard Markup Language) API.- Added support for Python 3.12.
- Switched to a
pyproject.toml
-based package configuration.
- Added text message support to
ReadWriteClient.write_message()
.
ReadWriteClient.get_message()
now correctly returns aRows
value rather than a JSON-encoded string.
- Added
max_rows
toencode_text()
for controlling the maximum number of rows that will be returned (defaulting to 6). It can be set to a lower value to produce a partial board or 0 to support unlimited rows.
encode_text()
no longer raisesValueError
when the result exceeds the maximum number of rows. Instead, the result is truncated tomax_rows
.
- Added
Color.BLANK
andColor.FILLED
color values.
- Switched to HTTPX as the underlying HTTP library.
Color.BLACK
now uses the official "black" character code (70). UseColor.BLANK
for character code 0 (previously used byColor.BLACK
).- The default "fill" color is now
Color.BLANK
instead ofColor.BLACK
.
- Dropped support for Python 3.7.
LocalClient
provides a client interface to Vestaboard's Local API.ReadWriteClient
provides a client interface to Vestaboard's Read / Write API.
- The documentation now uses the Furo theme.
- Requests version 2.27.0 or later is now required.
- Various typing improvements, including a
py.typed
marker file.
encode_text()
'svalign
argument can be set toNone
to disable row padding.
encode()
's error handling has been improved. AValueError
will now be raised for all unsupported character codes, including those within the [0, 69] range such as 57, 58, and 61.
encode_text()
was adding a leading blank character to the row after a line break.
encode_text()
offers avalign
argument for controlling vertical alignment within the board.Client.post_message()
now raises ValueError ifmessage
is a list of encoded characters with the wrong dimensions.
encode_text()
now always produces six rows of output (a full board).
- Dropped support for Python 3.6, which has officially reached the end of its supported life.
encode_text()
for encoding lines of text
- Fix space character encoding
- Initial Sphinx-based documentation
- Initial release