Argilla open-source tool

Introducing Argilla 1.6.0

🌟 Manage your team with User Roles and Database Support

April 10, 2023

José Francisco Calvo

We are thrilled to announce two of the newest additions that come with Argilla v1.6.0 - integration with relational databases and user roles.

As part of this upgrade, Argilla will now create a default SQLite database to store users and workspaces. PostgreSQL is also officially supported. Simply set a custom value for the ARGILLA_DATABASE_URL environment variable pointing to your PostgreSQL instance.

Argilla 1.6.0 also includes the ability to assign roles to users. Currently, there are two available roles: admin and annotator. Users with admin role have the ability to manage users and workspaces by creating, listing, and deleting them. On the other hand, the annotator role is specifically designed for users who focus solely on annotating datasets.

Migrate your old users config file

If you’re using an older version of Argilla that relies on a .users.yml config file to define user credentials, you may experience login issues after upgrading to version 1.6.0. To address this, we have developed a migration task that will allow you to transfer all user information from your .users.yml file to Argilla’s database.

To initiate the migration, simply execute the following command:

python -m argilla.tasks.users.migrate

It is important to note that the migration task relies on the ARGILLA_LOCAL_AUTH_USERS_DB_FILE environment variable to access the file that contains the user data to be migrated. If something is not working please check that the value of this environment variable is pointing to the location of your .users.yml file.

Add users from console

You can also create users from the console by executing the following command:

python -m argilla.tasks.users.create

When running this task, you will be prompted to provide the necessary information to create your new user.

To obtain information on available options for creating users, you can use the --help parameter as follows:

python -m argilla.tasks.users.create --help

Manage users with Argilla API

Argilla users can also be managed using our API, which now includes new endpoints for listing, creating, and deleting users and workspaces. Additionally, users can be assigned to existing workspaces using one of these new endpoints.

To create a new user, you can send a POST request to /api/users with the following JSON body as an example:

{  "first_name": "Roy",  "last_name": "Batty",  "username": "roybatt",  "role": "annotator",  "password": "electricsheep2016"}

For more information visit your Argilla instance API docs at /api/docs.

Conclusion

We understand that storing and managing data is a critical aspect of any software development project, and we believe that the addition of relational databases support in Argilla 1.6.0 is a significant step forward for our platform. We’re excited to see how this update will help our users better manage their data and improve their data labeling workflows.

If you want to learn more about this feature, read our docs.