Description
The AIOTClient
class and AIOTObject
in the current implementation of the Python library refer to the concept of AI in an IoT environment, which is not applicable in the context of this project. The terms AIOT might cause confusion to users who expect to see Artificial Intelligence related functionality in these classes. Therefore, I suggest renaming the AIOTClient
class to ArduinoCloud
ArduinoCloudClient
and AIOTObject
to ArduinoCloudObject
.
The term "ArduinoCloud" more accurately reflects the functionality and purpose of the class, which is to handle cloud communication for Arduino devices. This change will help users quickly identify the intended use of the class and prevent any confusion.
In addition, renaming these classes to ArduinoCloud
ArduinoCloudClient
and ArduinoCloudObject
will also bring improved consistency with the Arduino version of the library, which already uses the ArduinoCloud
class name.
I propose the following changes to be made:
Rename the AIOTClient
class to ArduinoCloud
ArduinoCloudClient
throughout the Python codebase.
Rename the AIOTObject
class to ArduinoCloudObject
throughout the Python codebase.
Update the relevant documentation and examples to reflect the new class names.
This change will not affect the existing functionality of the classes, and users can continue to use the classes as they did before with the new class names. This change will also bring consistency with the Arduino version of the library, which will make it easier for users to switch between the Python and Arduino versions.
UPDATE: “Client” is a widely used term in the context of web services, and indicates the client side interface to interact with a (web) service. After some discussion I've come to the conclusion that this may save the users some confusion and it may be more intuitive for developers who work with our code. We already use such suffix for the ArduinoCloudObject
so this would follow the same pattern.
It's also more future proof to indicate the use case of the class through the "Client" suffix in case we need to add different functionality which is not related to the communication with the web API.
It comes at the cost of the sacrificed consistency with the Arduino library. However, the benefits outweigh this drawback imo. Hence I'd go with ArduinoCloudClient