Skip to content

Conversation

@helen-m-lin
Copy link
Collaborator

@helen-m-lin helen-m-lin commented Nov 4, 2025

related to https://github.com/AllenNeuralDynamics/aind-aws-infrastructure/issues/438

This PR adds new register_co_result method to send request to registration endpoints. Assumes that the user already created an internal or external result asset in Code Ocean with the correct permissions. Uses the version parameter when creating the client to target v1/v2 metadata collections.

Note: I created a new method rather than adding optional params to the existing register_asset method to make a clear distinction between assets in AIND-buckets compared to assets from CO internal/external results -- open to discussion.

Usage:

from requests import HTTPError
from aind_data_access_api.document_db import MetadataDbClient

client = MetadataDbClient(
    host="api.allenneuraldynamics-test.org",
    version="v1", # "v1" or "v2" depending on which metadata collection to target
)

# codeocean internal result
register_response = client.register_co_result(
    s3_location="s3://codeocean-bucket/123-456",
    name="123456_2000-01-01_01-12-01_test_2025-08-26_17-18-59",
    co_asset_id="123-456,
    co_computation_id="comp-789",
)
print(register_response)

# codeocean external result
# optionally wrap with try-except to print error reponse
try:
    register_response = client.register_co_result(
        s3_location="s3://aind-open-data/123456_2000-01-01_01-12-01_test_2025-08-26_17-18-59",
        name="123456_2000-01-01_01-12-01_test_2025-08-26_17-18-59",
        co_asset_id="123-456",
        co_computation_id="comp-789",
    )
    print(register_response)
except HTTPError as e:
    print(e.response.status_code)
    print(e.response.text)

@helen-m-lin helen-m-lin requested a review from jtyoung84 November 4, 2025 21:06
@helen-m-lin helen-m-lin merged commit 1771382 into dev Nov 6, 2025
3 checks passed
@helen-m-lin helen-m-lin deleted the feat-register-co-result branch November 6, 2025 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants