This fails on a very large project def get_timestamps_from_s3_bucket(s3client: boto3.client, branch: str, s3_bucket_name :str): # Find all files matching the branch prefix response = s3client.list_objects_v2( Bucket=s3_bucket_name, EncodingType="url", Prefix=branch ) data = response["Contents"] while response["IsTruncated"]: token = response["NextContinuationToken"] response = s3client.list_objects_v2( Bucket=s3_bucket_name, Prefix=branch, ContinuationToken=token ) data = data + response["Contents"] data_files = [] session_files = [] session_info_files = [] session_benchmarks_files = [] # Handle branch names that contain '/'char : nb_extra_path_depth = len(branch.split("/")) for file in data: filename = file["Key"] path = filename.split("/") if len(path) == 3 + nb_extra_path_depth: data_files.append(filename) else: if path[1 + nb_extra_path_depth] == "session_benchmarks.csv": session_benchmarks_files.append(filename) print(f"{filename} - session_benchmarks_files") if path[1 + nb_extra_path_depth] == "session.csv": session_files.append(filename) print(f"{filename} - session_files") if path[1 + nb_extra_path_depth] == "session_info.csv": session_info_files.append(filename) print(f"{filename} - session_info_files") print(f"session_info_files = {len(session_info_files)} | session_files = {len(session_files)} | session_benchmarks_files = {session_benchmarks_files}") assert len(session_files) == len(session_info_files) assert len(session_info_files) == len(session_benchmarks_files) erorrs shows someting like this assert len(session_info_files) == len(session_benchmarks_files) AssertionError How to refactor it do get it working? I want to have an array of timestamps for further task. Continue reading...