All notable changes, fixes, and additions to the project is listed in this changelog.
The project adheres to semantic versioning.
- ec5f3dd
EventHistory
now supports bothto_pandas()
andto_polars()
when extra dependencies are installed.
- #136 Explicit event attributes and types on
Reported
class.
- #135 Added new value
is_backfilled
toTemperature
event.
- #134 Added connection constants to
ConnectionStatus
event.
- #133 Added missing state on
ProbeWireStatus
event.
- #132 Added support for
Contact
andProbeWireStatus
events.
- #130 Added support for Python 3.12.
- #129 Added optional
organization_id
in methodclaim_info()
.
- #126 Fixed an issue where UTC tzinfo "Z" was appended to iso-strings already containing tzinfo, resulting in an invalid format.
- #124 Bumped pandas extras dependency to major 2.0.
- #125 Python 3.7 is end-of-life and has been deprecated.
- #123 Added missing constant
disruptive.Device.MOTION
.
- #122 Explicit definition of
Key
andMember
classes.
- #121 Support for new
remarks
field indeskOccupancy
events.
- #120 Unhandled
RequestExceptions
now raised directly. - #119 Redirected
/v2/:claim-info
to/v2/claimInfo
.
- #118 Python 3.11 support.
- #117 Method
dt.Claim.claim
parameterdry_run
True by default.
- #116 Namespace conflict between
dt.Device
anddt.Claim.Device
in documentation.
- #114 Implemented Claim API under the
dt.Claim
namespace.
- #108 Emulator desk occupancy support.
- #106 NetworkStatus event parameters made optional to better reflect API.
- #107
Co2
event parameterppm
should be int.
- #105 Added support for new Desk Occupancy sensor and event.
- #104 Ensure event constants and classes are re-exported and seen by LSPs.
- #103 Ensure modules are re-exported and seen by LSPs.
- #102 Type-checkers like MyPy will now assume we're PEP 561 compliant.
- #101
Member
class should have attributemember_id
.
- #100 Method
get_device
optional parameterproject_id
default changed toNone
for consistency.
- #95 Changed stream decoding from ascii to utf-8.
- #97 Retry policy refined to account for more exceptions.
- #98 Added support for motion sensor and event.
- #99 Added raw attribute to all resource result classes.
- #93 Attribute
Project.id
deprecated in favor ofProject.project_id
.
- #91 Added
Co2
- andPressure
events inpublish_event()
parameter types. - #92 Added members
errors
andoutputs
to disruptive module.
- #90 Added missing
EVENT_TYPES
constant of list of all types.
- #89 Added support for new Co2 sensor and its Co2- and Pressure event types.
- #87 Package will now authenticate using service account credential environment variables if set.
- #86 Added custom User-Agent header.
- Updates to the reference documentation.
- #82 Invalid
log_level
string would cause recusion fixed.
Moved to development stage Production/Stable.
- #80 Fixed formatting bug for non-datetime timestamps.
- #78 Renamed
NetworkStatusCloudConnector
attributecloudconnector_id
todevice_id
for consistency.
- #77 Fixed a bug where Device constructor crashed if productNumber was missing in response.
- #74 Fixed a bug where the stream would simply exit silently if an error were returned by the API.
- #75 Added new
product_number
attribute toDevice
class.
- #69 Renamed Humidity event attribute "humidity" to "relative_humidity".
- #70 Replaced EmptyStringError with more general ConfigurationError.
- #72 Added support for 2nd generation temperature sensors.
Released on 2021-06-07.
- e1ae80b Added missing constructor for UnknownError.
- #68 Added stricter rules for MyPy, resulting in stronger typing.
Released on 2021-05-13.
- #52 Replaced
disruptive.errors.TypeError
anddisruptive.errors.ValueError
with built-ins. - #54 Combined
disruptive.Stream.device()
and.project()
into.event_stream()
. - #56 Method
disruptive.Project.update_member()
roles parameter no longer optional. - #57 Method
disruptive.EventHistory.list_events()
now returns a list of events, not anEventHistory
object. - #58 A few key names have been changed.
- All
serviceaccount
occurances have been renamed toservice_account
. - All
dataconnector
occurances have been renamed todata_connector
.
- All
- #60
Auth
methods now returns instances of classes special to the chosen method, likeServiceAccountAuth
. - #61 Renamed a few variables and parameters.
- Renamed
ServiceAccount
attributebasic_auth
tobasic_auth_enabled
. - Renamed
api_url
tobase_url
. - Renamed
emulator_url
toemulator_base_url
.
- Renamed
- #64 Method
disruptive.Stream.event_stream()
parameterlabel_filters
now takes dict instead of list.
- #62 Batch-style resource methods now return a list of errors objects.
- #63 Exceptions are now grouped into four main groups for easier handling.
Released on 2021-05-04.
- #49 Fixed forgotten Humidity attribute rename from
temperature
tocelsius
. - #50 ConnectionStatus event parameter
available
should belist[str]
, notstr
.
Released on 2021-05-02.
- #44 A few parameters and attributes has been renamed for consistency.
- Organization attribute
id
renamed toorganization_id
. - Methods
create_dataconnector()
andupdate_dataconnector()
parameterevents
renamed toevent_types
. - Method
get_device()
parameterproject_id
now defaults to wildcard"-"
instead of None.
- Organization attribute
- #45 Config variable
request_retries
renamed torequest_attempts
to better reflect what is actually does. - #46 Logging has been expanded to use either
disruptive.log_level
or thelogging
module.
Released on 2021-04-24.
- #39 Request retry logic ran 1 loop too few.
- #38 Type constant
CLOUD_CONNECTOR
were missing on the Device resource. - #41 Added events module type constants on the form
disruptive.events.EVENT_TYPE
.
Released on 2021-04-22.
- #27 Various attributes has been changed.
- Device attribute
type
renamed todevice_type
. - Device attribute
is_emulator
renamed tois_emulated
. - Humidity attribute
temperature
replaced withcelsius
andfahrenheit
.
- Device attribute
- #35 Moved Data Connector configuration classes to the DataConnector resource.
- #29 Log would show default
request_retries
even when it was overwritten. - #30 Stream.project() did not support
**kwargs
, which it should. - #31 Stream retry logic ran one too many times.
Released on 2021-04-20.
- #25 Double timezone info
(+00:00Z)
would break allowed format.
- #24 Public classes provided with
__repr__
that adheres toeval(repr(x))
. - #26 Added type constants to Device, DataConnector, and Role resource classes.
Released on 2021-04-18.
- #23 Added missing metadata about the project for better PyPI presentation.
Released on 2021-04-17.
Initial pre-release, open-sourcing, and PyPI publication of the project.