Previous version: 0.2b0
- All
Connection
methods where the user can choose the return type betweenstr
andbytes
now have areturn_bytes
option that defaults to False (except forreceive()
, whosestr
counterpart is stillreceive_str()
), addressing #105
- Cleaned up repetitive code in
Connection
, also addressing #105 - Added automatic documentation and formatted most docstrings (except for
RestApiHandler
) in Google's docstring format. Library API docs now generated usingmkdocstrings
.
Previous version: 0.1.*
- Deleted
Builtins
because of compatibility issues
- Added logging using Python's
logging
module and also added logging to file when disconnects happen, addressing #73 - CLI now runs production server instead of development server by default, and now recommending production server, addressing #97
- Updated
__repr__
forConnection
- Added new
ConnectionRoutes
class for adding resources which gives users more flexibility over their Flask app object than the oldRestApiHandler
(check docs for more details), addressing #104 - Added
start_app
,start_conns
,add_resources
, anddisconnect_conns
as helper functions toConnectionRoutes
, which allow it to start the connections and run the server. ConnectionRoutes
explicitly responds with500 Internal Server Error
rather than relying on exceptions from theConnection
class when the connection is disconnected.- Added the new V1 API which uses
ConnectionRoutes
and follows RESTful principles more than the V0 API, addressing #86 - Fixed type annotations such that it passes
mypy
static typing checks - Added
tox
, making CI with Github Actions easier - CLI now uses
click
instead ofdocopt
and serves V1 API - Deleted CLI docs because help option is now better
- Updated all
Getting Started
and homepages to useConnectionRoutes
Previous version: 0.1.3
- Fixed parts of docs that were written during version 0 that were not true/very confusing and misleading
Previous version: 0.1.2
Previous version: 0.1.1
- Added versioning in built-in API, addressing #90
- Fixed return type annotation in
api_server.py
, addressing #88 - Fixed dependency list in
setup.py
Previous version: 0.1
- Added
q-sz
option indicating the maximum receive queue size, addressing #81 - Any endpoint will now respond with
503 Service Unavailable
if another endpoint is in use by another process at the time the request is made, addressing #80
Previous version: 0.1b1
- Added some more examples in the examples directory, addressing #74.
- Fixed #78 by adding thread lock to binary search method for checking availability, and also a lock to the
Connection.get_all_rcv()
andConnection.get_all_rcv_str()
methods to deep copy the receive queue instead of directly returning the receive queue. - Added more verbose output to the disconnect handler, including that port that it reconnected to.
Previous version: 0.1b0
- Updated CLI - see CLI docs to view how the CLI now works. Previous commands may not work.
- Updated
reconnect()
method; reconnects using ports provided in__init__()
method rather than providing a port.
- Fixed #63 by making 404 handling default behavior
- Made IO thread in
BaseConnection
abstract - Added new endpoint
/connection_state
, getting some properties of theConnection
object, addressing #60 - Added option to remove 0.01 second delay at end of IO thread, addressing #68
exception
inBaseConnection
andConnection
objects is now DEPRECATED- Added disconnect handling in server (reconnects automatically, responds with
500
when disconnected) - Cleaned up typing in source code
Previous version: 0.0.*
- Changed the way the
RestApiHandler.add_endpoint
decorator works:- Instead of having the decorator above a function which returns a nested class, the decorator will instead go directly above the class that extends
ConnectionResource
. To use the connection, useself.conn
in the methods.
- Instead of having the decorator above a function which returns a nested class, the decorator will instead go directly above the class that extends
- Added the
SendQueue
andReceiveQueue
objects which allow the user to use the send queues and receive queues without accidentally breaking the program- Added tests for these objects
- Added the ability for the user to define a custom IO thread with a connection object, the
ReceiveQueue
, and theSendQueue
- Added constants for the common baud rates:
NORMAL_BAUD_RATE
: 9600 bits/secFAST_BAUD_RATE
: 115200 bits/sec
- Added the ability to initialize with multiple ports, addressing #39
- Added the ability to add cross origin resource sharing to the Flask object in the
RestApiHandler
- Added verbose mode where the program will print arguments received from request to
stdout
- Formatted code using black
- Added more tests that actually test that the data is being sent and received correctly, addressing #34
- Added a changelog to keep track of changes