@@ -105,6 +105,7 @@ async def list_user_runs(
105105 repo_id : Optional [str ],
106106 username : Optional [str ],
107107 only_active : bool ,
108+ job_submissions_limit : Optional [int ],
108109 prev_submitted_at : Optional [datetime ],
109110 prev_run_id : Optional [uuid .UUID ],
110111 limit : int ,
@@ -148,7 +149,11 @@ async def list_user_runs(
148149 runs = []
149150 for r in run_models :
150151 try :
151- runs .append (run_model_to_run (r , return_in_api = True ))
152+ runs .append (
153+ run_model_to_run (
154+ r , return_in_api = True , job_submissions_limit = job_submissions_limit
155+ )
156+ )
152157 except pydantic .ValidationError :
153158 pass
154159 if len (run_models ) > len (runs ):
@@ -653,6 +658,7 @@ async def delete_runs(
653658def run_model_to_run (
654659 run_model : RunModel ,
655660 include_job_submissions : bool = True ,
661+ job_submissions_limit : Optional [int ] = None ,
656662 return_in_api : bool = False ,
657663 include_sensitive : bool = False ,
658664) -> Run :
@@ -666,6 +672,11 @@ def run_model_to_run(
666672 ):
667673 submissions = []
668674 job_model = None
675+ if job_submissions_limit is not None :
676+ if job_submissions_limit == 0 :
677+ job_submissions = []
678+ else :
679+ job_submissions = list (job_submissions )[- job_submissions_limit :]
669680 for job_model in job_submissions :
670681 if include_job_submissions :
671682 job_submission = job_model_to_job_submission (job_model )
0 commit comments