rclone-api 1.1.58__tar.gz → 1.1.59__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. {rclone_api-1.1.58 → rclone_api-1.1.59}/PKG-INFO +1 -1
  2. {rclone_api-1.1.58 → rclone_api-1.1.59}/pyproject.toml +1 -1
  3. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/profile/mount_copy_bytes.py +52 -24
  4. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/PKG-INFO +1 -1
  5. {rclone_api-1.1.58 → rclone_api-1.1.59}/.aiderignore +0 -0
  6. {rclone_api-1.1.58 → rclone_api-1.1.59}/.github/workflows/lint.yml +0 -0
  7. {rclone_api-1.1.58 → rclone_api-1.1.59}/.github/workflows/push_macos.yml +0 -0
  8. {rclone_api-1.1.58 → rclone_api-1.1.59}/.github/workflows/push_ubuntu.yml +0 -0
  9. {rclone_api-1.1.58 → rclone_api-1.1.59}/.github/workflows/push_win.yml +0 -0
  10. {rclone_api-1.1.58 → rclone_api-1.1.59}/.gitignore +0 -0
  11. {rclone_api-1.1.58 → rclone_api-1.1.59}/.pylintrc +0 -0
  12. {rclone_api-1.1.58 → rclone_api-1.1.59}/.vscode/launch.json +0 -0
  13. {rclone_api-1.1.58 → rclone_api-1.1.59}/.vscode/settings.json +0 -0
  14. {rclone_api-1.1.58 → rclone_api-1.1.59}/.vscode/tasks.json +0 -0
  15. {rclone_api-1.1.58 → rclone_api-1.1.59}/LICENSE +0 -0
  16. {rclone_api-1.1.58 → rclone_api-1.1.59}/MANIFEST.in +0 -0
  17. {rclone_api-1.1.58 → rclone_api-1.1.59}/README.md +0 -0
  18. {rclone_api-1.1.58 → rclone_api-1.1.59}/clean +0 -0
  19. {rclone_api-1.1.58 → rclone_api-1.1.59}/install +0 -0
  20. {rclone_api-1.1.58 → rclone_api-1.1.59}/lint +0 -0
  21. {rclone_api-1.1.58 → rclone_api-1.1.59}/requirements.testing.txt +0 -0
  22. {rclone_api-1.1.58 → rclone_api-1.1.59}/setup.cfg +0 -0
  23. {rclone_api-1.1.58 → rclone_api-1.1.59}/setup.py +0 -0
  24. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/__init__.py +0 -0
  25. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/assets/example.txt +0 -0
  26. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/cli.py +0 -0
  27. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/cmd/copy_large_s3.py +0 -0
  28. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/cmd/list_files.py +0 -0
  29. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/completed_process.py +0 -0
  30. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/config.py +0 -0
  31. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/convert.py +0 -0
  32. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/deprecated.py +0 -0
  33. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/diff.py +0 -0
  34. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/dir.py +0 -0
  35. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/dir_listing.py +0 -0
  36. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/exec.py +0 -0
  37. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/experimental/flags.py +0 -0
  38. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/experimental/flags_base.py +0 -0
  39. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/file.py +0 -0
  40. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/filelist.py +0 -0
  41. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/group_files.py +0 -0
  42. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/mount.py +0 -0
  43. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/process.py +0 -0
  44. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/rclone.py +0 -0
  45. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/remote.py +0 -0
  46. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/rpath.py +0 -0
  47. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/api.py +0 -0
  48. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/basic_ops.py +0 -0
  49. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/chunk_file.py +0 -0
  50. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/chunk_types.py +0 -0
  51. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/create.py +0 -0
  52. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/types.py +0 -0
  53. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/s3/upload_file_multipart.py +0 -0
  54. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/scan_missing_folders.py +0 -0
  55. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/types.py +0 -0
  56. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/util.py +0 -0
  57. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api/walk.py +0 -0
  58. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  59. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  60. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/entry_points.txt +0 -0
  61. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/requires.txt +0 -0
  62. {rclone_api-1.1.58 → rclone_api-1.1.59}/src/rclone_api.egg-info/top_level.txt +0 -0
  63. {rclone_api-1.1.58 → rclone_api-1.1.59}/test +0 -0
  64. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/archive/test_paramiko.py.disabled +0 -0
  65. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_cmd_list_files.py +0 -0
  66. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_copy.py +0 -0
  67. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_copy_bytes.py +0 -0
  68. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_copy_file_resumable_s3.py +0 -0
  69. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_copy_files.py +0 -0
  70. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_diff.py +0 -0
  71. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_group_files.py +0 -0
  72. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_is_synced.py +0 -0
  73. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_ls.py +0 -0
  74. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_mount.py +0 -0
  75. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_mount_s3.py +0 -0
  76. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_obscure.py +0 -0
  77. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_rclone_config.py +0 -0
  78. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_remote_control.py +0 -0
  79. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_remotes.py +0 -0
  80. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_s3.py +0 -0
  81. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_scan_missing_folders.py +0 -0
  82. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_size_files.py +0 -0
  83. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_size_suffix.py +0 -0
  84. {rclone_api-1.1.58 → rclone_api-1.1.59}/tests/test_walk.py +0 -0
  85. {rclone_api-1.1.58 → rclone_api-1.1.59}/tox.ini +0 -0
  86. {rclone_api-1.1.58 → rclone_api-1.1.59}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.58
3
+ Version: 1.1.59
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
@@ -23,7 +23,7 @@ dependencies = [
23
23
  ]
24
24
 
25
25
  # Change this with the version number bump.
26
- version = "1.1.58"
26
+ version = "1.1.59"
27
27
 
28
28
  [tool.setuptools]
29
29
  package-dir = {"" = "src"}
@@ -6,7 +6,7 @@ import argparse
6
6
  import os
7
7
  import shutil
8
8
  import time
9
- from concurrent.futures import ThreadPoolExecutor, Future
9
+ from concurrent.futures import Future, ThreadPoolExecutor
10
10
  from dataclasses import dataclass
11
11
  from pathlib import Path
12
12
 
@@ -21,7 +21,8 @@ os.environ["RCLONE_API_VERBOSE"] = "1"
21
21
  @dataclass
22
22
  class Args:
23
23
  direct_io: bool
24
- num: int = 1
24
+ num: int
25
+ size: SizeSuffix | None
25
26
 
26
27
 
27
28
  @dataclass
@@ -156,19 +157,29 @@ def _run_profile(
156
157
  print(f"Time: {diff:.1f} seconds")
157
158
 
158
159
 
159
- def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix, transfer_list: list[int] | None, mount_root_path: Path) -> None:
160
+ def test_profile_copy_bytes(
161
+ args: Args,
162
+ rclone: Rclone,
163
+ offset: SizeSuffix,
164
+ transfer_list: list[int] | None,
165
+ mount_root_path: Path,
166
+ size: SizeSuffix | None,
167
+ ) -> None:
160
168
 
161
- sizes = [
162
- #1024 * 1024 * 1,
163
- #1024 * 1024 * 2,
164
- #1024 * 1024 * 4,
165
- #1024 * 1024 * 8,
166
- 1024 * 1024 * 16,
167
- # 1024 * 1024 * 32,
168
- 1024 * 1024 * 64,
169
- 1024 * 1024 * 128,
170
- # 1024 * 1024 * 256,
171
- ]
169
+ if size:
170
+ sizes = [size.as_int()]
171
+ else:
172
+ sizes = [
173
+ # 1024 * 1024 * 1,
174
+ # 1024 * 1024 * 2,
175
+ # 1024 * 1024 * 4,
176
+ # 1024 * 1024 * 8,
177
+ 1024 * 1024 * 16,
178
+ # 1024 * 1024 * 32,
179
+ 1024 * 1024 * 64,
180
+ 1024 * 1024 * 128,
181
+ # 1024 * 1024 * 256,
182
+ ]
172
183
  # transfer_list = [1, 2, 4, 8, 16]
173
184
  transfer_list = transfer_list or [1, 2, 4]
174
185
 
@@ -176,16 +187,14 @@ def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix, tran
176
187
  # sftp mount
177
188
  src_file = "src:aa_misc_data/aa_misc_data/world_lending_library_2024_11.tar.zst"
178
189
 
179
-
180
-
181
- for size in sizes:
190
+ for sz in sizes:
182
191
  for transfers in transfer_list:
183
192
  _run_profile(
184
193
  rclone=rclone,
185
194
  src_file=src_file,
186
195
  transfers=transfers,
187
196
  offset=offset,
188
- size=SizeSuffix(size),
197
+ size=SizeSuffix(sz),
189
198
  direct_io=args.direct_io,
190
199
  log_dir=mount_root_path,
191
200
  )
@@ -196,8 +205,11 @@ def _parse_args() -> Args:
196
205
  parser = argparse.ArgumentParser(description="Profile copy_bytes")
197
206
  parser.add_argument("--direct-io", help="Use direct IO", action="store_true")
198
207
  parser.add_argument("-n", "--num", help="Number of workers", type=int, default=1)
208
+ parser.add_argument(
209
+ "--size", help="Size of the file to download", type=SizeSuffix, default=None
210
+ )
199
211
  args = parser.parse_args()
200
- return Args(direct_io=args.direct_io, num=args.num)
212
+ return Args(direct_io=args.direct_io, num=args.num, size=args.size)
201
213
 
202
214
 
203
215
  def main() -> None:
@@ -218,11 +230,23 @@ def main() -> None:
218
230
  transfer_list = [1]
219
231
  parallel_workers = args.num
220
232
 
221
- def task(offset: SizeSuffix, args=args, rclone=rclone, transfer_list=transfer_list, mount_root_path=mount_root_path):
222
- return test_profile_copy_bytes(args, rclone, offset, transfer_list, mount_root_path)
223
-
224
-
225
- with ThreadPoolExecutor(max_workers=parallel_workers) as executor:
233
+ def task(
234
+ offset: SizeSuffix,
235
+ args=args,
236
+ rclone=rclone,
237
+ transfer_list=transfer_list,
238
+ mount_root_path=mount_root_path,
239
+ ):
240
+ return test_profile_copy_bytes(
241
+ args=args,
242
+ rclone=rclone,
243
+ offset=offset,
244
+ mount_root_path=mount_root_path,
245
+ transfer_list=transfer_list,
246
+ size=args.size,
247
+ )
248
+
249
+ with ThreadPoolExecutor(max_workers=parallel_workers) as _:
226
250
  tasks: list[Future] = []
227
251
  for i in range(parallel_workers):
228
252
  offset = SizeSuffix(i * 1024 * 1024 * 256)
@@ -231,4 +255,8 @@ def main() -> None:
231
255
 
232
256
 
233
257
  if __name__ == "__main__":
258
+ import sys
259
+
260
+ sys.argv.append("--size")
261
+ sys.argv.append("16MB")
234
262
  main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.58
3
+ Version: 1.1.59
4
4
  Summary: rclone api in python
5
5
  Home-page: https://github.com/zackees/rclone-api
6
6
  License: BSD 3-Clause License
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes