Skip to content

Rename AIOTClient and AIOTObject classes #51

Open
@sebromero

Description

@sebromero

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions