rclone-api 1.1.57__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.57 → rclone_api-1.1.59}/PKG-INFO +1 -1
  2. {rclone_api-1.1.57 → rclone_api-1.1.59}/pyproject.toml +1 -1
  3. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/profile/mount_copy_bytes.py +55 -25
  4. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/PKG-INFO +1 -1
  5. {rclone_api-1.1.57 → rclone_api-1.1.59}/.aiderignore +0 -0
  6. {rclone_api-1.1.57 → rclone_api-1.1.59}/.github/workflows/lint.yml +0 -0
  7. {rclone_api-1.1.57 → rclone_api-1.1.59}/.github/workflows/push_macos.yml +0 -0
  8. {rclone_api-1.1.57 → rclone_api-1.1.59}/.github/workflows/push_ubuntu.yml +0 -0
  9. {rclone_api-1.1.57 → rclone_api-1.1.59}/.github/workflows/push_win.yml +0 -0
  10. {rclone_api-1.1.57 → rclone_api-1.1.59}/.gitignore +0 -0
  11. {rclone_api-1.1.57 → rclone_api-1.1.59}/.pylintrc +0 -0
  12. {rclone_api-1.1.57 → rclone_api-1.1.59}/.vscode/launch.json +0 -0
  13. {rclone_api-1.1.57 → rclone_api-1.1.59}/.vscode/settings.json +0 -0
  14. {rclone_api-1.1.57 → rclone_api-1.1.59}/.vscode/tasks.json +0 -0
  15. {rclone_api-1.1.57 → rclone_api-1.1.59}/LICENSE +0 -0
  16. {rclone_api-1.1.57 → rclone_api-1.1.59}/MANIFEST.in +0 -0
  17. {rclone_api-1.1.57 → rclone_api-1.1.59}/README.md +0 -0
  18. {rclone_api-1.1.57 → rclone_api-1.1.59}/clean +0 -0
  19. {rclone_api-1.1.57 → rclone_api-1.1.59}/install +0 -0
  20. {rclone_api-1.1.57 → rclone_api-1.1.59}/lint +0 -0
  21. {rclone_api-1.1.57 → rclone_api-1.1.59}/requirements.testing.txt +0 -0
  22. {rclone_api-1.1.57 → rclone_api-1.1.59}/setup.cfg +0 -0
  23. {rclone_api-1.1.57 → rclone_api-1.1.59}/setup.py +0 -0
  24. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/__init__.py +0 -0
  25. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/assets/example.txt +0 -0
  26. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/cli.py +0 -0
  27. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/cmd/copy_large_s3.py +0 -0
  28. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/cmd/list_files.py +0 -0
  29. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/completed_process.py +0 -0
  30. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/config.py +0 -0
  31. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/convert.py +0 -0
  32. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/deprecated.py +0 -0
  33. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/diff.py +0 -0
  34. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/dir.py +0 -0
  35. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/dir_listing.py +0 -0
  36. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/exec.py +0 -0
  37. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/experimental/flags.py +0 -0
  38. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/experimental/flags_base.py +0 -0
  39. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/file.py +0 -0
  40. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/filelist.py +0 -0
  41. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/group_files.py +0 -0
  42. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/mount.py +0 -0
  43. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/process.py +0 -0
  44. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/rclone.py +0 -0
  45. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/remote.py +0 -0
  46. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/rpath.py +0 -0
  47. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/api.py +0 -0
  48. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/basic_ops.py +0 -0
  49. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/chunk_file.py +0 -0
  50. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/chunk_types.py +0 -0
  51. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/create.py +0 -0
  52. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/types.py +0 -0
  53. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/s3/upload_file_multipart.py +0 -0
  54. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/scan_missing_folders.py +0 -0
  55. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/types.py +0 -0
  56. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/util.py +0 -0
  57. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api/walk.py +0 -0
  58. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  59. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  60. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/entry_points.txt +0 -0
  61. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/requires.txt +0 -0
  62. {rclone_api-1.1.57 → rclone_api-1.1.59}/src/rclone_api.egg-info/top_level.txt +0 -0
  63. {rclone_api-1.1.57 → rclone_api-1.1.59}/test +0 -0
  64. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/archive/test_paramiko.py.disabled +0 -0
  65. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_cmd_list_files.py +0 -0
  66. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_copy.py +0 -0
  67. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_copy_bytes.py +0 -0
  68. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_copy_file_resumable_s3.py +0 -0
  69. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_copy_files.py +0 -0
  70. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_diff.py +0 -0
  71. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_group_files.py +0 -0
  72. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_is_synced.py +0 -0
  73. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_ls.py +0 -0
  74. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_mount.py +0 -0
  75. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_mount_s3.py +0 -0
  76. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_obscure.py +0 -0
  77. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_rclone_config.py +0 -0
  78. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_remote_control.py +0 -0
  79. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_remotes.py +0 -0
  80. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_s3.py +0 -0
  81. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_scan_missing_folders.py +0 -0
  82. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_size_files.py +0 -0
  83. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_size_suffix.py +0 -0
  84. {rclone_api-1.1.57 → rclone_api-1.1.59}/tests/test_walk.py +0 -0
  85. {rclone_api-1.1.57 → rclone_api-1.1.59}/tox.ini +0 -0
  86. {rclone_api-1.1.57 → 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.57
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.57"
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,6 +21,8 @@ os.environ["RCLONE_API_VERBOSE"] = "1"
21
21
  @dataclass
22
22
  class Args:
23
23
  direct_io: bool
24
+ num: int
25
+ size: SizeSuffix | None
24
26
 
25
27
 
26
28
  @dataclass
@@ -155,19 +157,29 @@ def _run_profile(
155
157
  print(f"Time: {diff:.1f} seconds")
156
158
 
157
159
 
158
- 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:
159
168
 
160
- sizes = [
161
- #1024 * 1024 * 1,
162
- #1024 * 1024 * 2,
163
- #1024 * 1024 * 4,
164
- #1024 * 1024 * 8,
165
- 1024 * 1024 * 16,
166
- # 1024 * 1024 * 32,
167
- 1024 * 1024 * 64,
168
- 1024 * 1024 * 128,
169
- # 1024 * 1024 * 256,
170
- ]
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
+ ]
171
183
  # transfer_list = [1, 2, 4, 8, 16]
172
184
  transfer_list = transfer_list or [1, 2, 4]
173
185
 
@@ -175,16 +187,14 @@ def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix, tran
175
187
  # sftp mount
176
188
  src_file = "src:aa_misc_data/aa_misc_data/world_lending_library_2024_11.tar.zst"
177
189
 
178
-
179
-
180
- for size in sizes:
190
+ for sz in sizes:
181
191
  for transfers in transfer_list:
182
192
  _run_profile(
183
193
  rclone=rclone,
184
194
  src_file=src_file,
185
195
  transfers=transfers,
186
196
  offset=offset,
187
- size=SizeSuffix(size),
197
+ size=SizeSuffix(sz),
188
198
  direct_io=args.direct_io,
189
199
  log_dir=mount_root_path,
190
200
  )
@@ -194,8 +204,12 @@ def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix, tran
194
204
  def _parse_args() -> Args:
195
205
  parser = argparse.ArgumentParser(description="Profile copy_bytes")
196
206
  parser.add_argument("--direct-io", help="Use direct IO", action="store_true")
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
+ )
197
211
  args = parser.parse_args()
198
- return Args(direct_io=args.direct_io)
212
+ return Args(direct_io=args.direct_io, num=args.num, size=args.size)
199
213
 
200
214
 
201
215
  def main() -> None:
@@ -214,13 +228,25 @@ def main() -> None:
214
228
 
215
229
  args = _parse_args()
216
230
  transfer_list = [1]
217
- parallel_workers = 4
218
-
219
- def task(offset: SizeSuffix, args=args, rclone=rclone, transfer_list=transfer_list, mount_root_path=mount_root_path):
220
- return test_profile_copy_bytes(args, rclone, offset, transfer_list, mount_root_path)
221
-
222
-
223
- with ThreadPoolExecutor(max_workers=parallel_workers) as executor:
231
+ parallel_workers = args.num
232
+
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 _:
224
250
  tasks: list[Future] = []
225
251
  for i in range(parallel_workers):
226
252
  offset = SizeSuffix(i * 1024 * 1024 * 256)
@@ -229,4 +255,8 @@ def main() -> None:
229
255
 
230
256
 
231
257
  if __name__ == "__main__":
258
+ import sys
259
+
260
+ sys.argv.append("--size")
261
+ sys.argv.append("16MB")
232
262
  main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.57
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