I am using the API to create a project with an associated S3 file source that I am hosting on Minio. I am doing it like so.
client = LabelStudio(
base_url="http://localhost:8080",
api_key="user-token",
)
project = client.projects.create(**{"title":..., "label_config":...})
storage = client.import_storage.s3.create(
title="Page Images",
aws_access_key_id="minioadmin",
aws_secret_access_key="minioadmin",
bucket="label-studio",
prefix="page-images",
s3endpoint="http://minio:9000",
use_blob_urls=True,
presign=False,
project=project.id,
)
client.import_storage.s3.validate(id=storage.id, project=project.id)
client.import_storage.s3.sync(storage.id)
Everything gets set up correctly, except the file source is still set to use presigned URLs. I have manually turn that off in the web UI.
Having presigned URLs breaks my setup. The problem may ultimately lie with Minio, but for the moment I need to be able to set presigned URLs to False via the API.
Am I doing something wrong, or is the fact that the Label Studio API is ignoring the presign=False
parameter a bug?