The rsync method looks like exactly what I have been looking for, but I am not sure how one would use it to say sync data from two different s3 buckets which required difference credentials.
What I would want is something like
fs1_args = {'client_kwargs': {'aws_access_key_id': 'foo', 'aws_secret_access_key': 'bar'}}
fs2_args = {'client_kwargs': {'aws_access_key_id': 'baz', 'aws_secret_access_key': 'qux'}}
fs1 = fsspec.filesystem("s3", **fs1_args)
fs2 = fsspec.filesystem("s3", **fs2_args)
fsspec.generic.rsync("s3://bucket1/somepath", "s3://bucket2/somepath", from_fs=fs1, to_fs=fs2)
but the rsync method only takes an fs= not a to_fs and from_fs. So how is one supposed to pass in both values? Why does the rsync method only take one if it is meant to be able to copy cross systems?