The aiWARE OS manages a fixed set of resources that developers use to build and package their applications. By leveraging the same components that comprise the core of the aiWARE system, developers can create more sophisticated AI solutions with greater efficiency. This approach reduces development time and costs while increasing flexibility and innovation in the creation and distribution of AI applications.
aiWARE packages provide a way to bundle these resources together for easy distribution to other instances and organizations. For example, a resource developer using the Veritone Developer application can bundle together one or more engines and any associated schemas that are required for a particular set of processing tasks. Using aiWARE Hub, the single package object can then be distributed to other aiWARE instances or organizations, rather than having to select multiple engines and schemas.
Distribution types for packages
aiWARE packages can be created in one instance and then be distributed to other instances and organizations based on the permissions that have been granted. Package distribution flags are set by resource developers using aiWARE applications. The distribution options are:
| Distribution type | Share to Hub | Grant to Orgs | Public | Description |
|---|
| Private | False | False | False | The package will not be distributed outside either the organization or the aiWARE instance it was created in. |
| Org-locked | True | False | False | The package can only be distributed to instances within the current aiWARE organization. If the organization uses more than one instance of aiWARE, the package can be provisioned on those instances for that aiWARE organization only. |
| Shareable | True | True | False | The package can be granted to other organizations, but unlike Public packages, it is not automatically shared, and must be granted to them. |
| Instance-locked | False | True | False | The package can be granted to any organization on the same instance it was created on. |
| Public | True | True | True | The package will be made available to all organizations in the same aiWARE instance without needing to be granted. |
The lifecycle of a package
The following is a visual representation of the lifecycle of a package that was created in the Veritone Developer application.

- An aiWARE resource developer using an aiWARE application such as Automate Studio or Veritone Developer specifies that the package will be available for distribution through Hub.
- If the Hub instance setting for promoting packages is enabled on the instance that developer is working in, the aiWARE instance promotes any newly distributable packages at regular intervals. The interval is configurable in Hub, and defaults to every 15 minutes. To enable promoting or provisioning packages for an instance, or to change the frequency of the intervals that Hub checks for or provisions new packages, seeĀ Edit Hub instance settings.
- Once Hub is aware of the newly distributable aiWARE packages, it makes them available to additional organizations and instances according to the distribution rules selected by the resource developer.
- If the Hub instance setting for provisioning packages is enabled, Hub users who have the owner role in the owner organization for that instance can add the package to their instance. SeeĀ Add a package to an instance.
- aiWARE users within the instance can start using the new aiWARE package.