Goal is to support the "Continous operation of a categorization project" workflow.
In this design, the client interface is model-centric, meaning that the client's methods return models (as opposed to POJO or an API request builder). Those models' methods also return models.
Models are just objects with properties to access data owned by that model (e.g. Project
model has a name
property) and methods to get other models (e.g. Project
model has a unified_dataset()
method that returns a Dataset
model).
Models can also have methods for trigger tasks/jobs in Unify. These methods will return Operation
models. By default, these methods are synchronous, so you might not need access to the returned operation model.