🌟 Manage your team with User Roles and Database Support
April 10, 2023
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.