Skip to content

feat: adds paginated search method to data asset api#24

Merged
zvikagart merged 5 commits intocodeocean:mainfrom
jtyoung84:feat-23-paginate-search
Jan 7, 2025
Merged

feat: adds paginated search method to data asset api#24
zvikagart merged 5 commits intocodeocean:mainfrom
jtyoung84:feat-23-paginate-search

Conversation

@jtyoung84
Copy link
Contributor

@jtyoung84 jtyoung84 commented Jan 6, 2025

Closes #23

  • Adds pagination method to data asset api
  • Example usage:
import os
from codeocean.data_asset import DataAssetSearchParams, DataAssetType
from codeocean import CodeOcean
from urllib3.util import Retry


def run_job():

    domain = os.getenv("CO_DOMAIN")
    token = os.getenv("CO_TOKEN")
    retry = Retry(
        total=5,
        backoff_factor=1,
        status_forcelist=[429],
        allowed_methods=["GET", "POST"]
    )
    client = CodeOcean(domain=domain, token=token, retries=retry)
    search_params = DataAssetSearchParams(
        limit=1000,
        archived=False,
        favorite=False,
        type=DataAssetType.Dataset,
    )

    paginator = client.data_assets.search_data_assets_iterator(
        data_asset_search_params=search_params
    )
    for data_asset in paginator:
          print(data_asset.id)


if __name__ == "__main__":
    run_job()

Copy link
Contributor

@zvikagart zvikagart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is indeed very useful. Thanks for the PR!

json=transfer_params.to_dict()
)

def paginate_search(self, data_asset_search_params: DataAssetSearchParams) -> Iterator[DataAsset]:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you pull this method up right after the search_data_assets for better context?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved this function to right after the search_assets function in the latest commit.

@zvikagart zvikagart merged commit de649e2 into codeocean:main Jan 7, 2025
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.

Add paginator to DataAsset api

2 participants