rclone-api 1.1.54__tar.gz → 1.1.56__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.54 → rclone_api-1.1.56}/PKG-INFO +1 -1
  2. {rclone_api-1.1.54 → rclone_api-1.1.56}/pyproject.toml +1 -1
  3. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/profile/mount_copy_bytes.py +23 -17
  4. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/PKG-INFO +1 -1
  5. {rclone_api-1.1.54 → rclone_api-1.1.56}/.aiderignore +0 -0
  6. {rclone_api-1.1.54 → rclone_api-1.1.56}/.github/workflows/lint.yml +0 -0
  7. {rclone_api-1.1.54 → rclone_api-1.1.56}/.github/workflows/push_macos.yml +0 -0
  8. {rclone_api-1.1.54 → rclone_api-1.1.56}/.github/workflows/push_ubuntu.yml +0 -0
  9. {rclone_api-1.1.54 → rclone_api-1.1.56}/.github/workflows/push_win.yml +0 -0
  10. {rclone_api-1.1.54 → rclone_api-1.1.56}/.gitignore +0 -0
  11. {rclone_api-1.1.54 → rclone_api-1.1.56}/.pylintrc +0 -0
  12. {rclone_api-1.1.54 → rclone_api-1.1.56}/.vscode/launch.json +0 -0
  13. {rclone_api-1.1.54 → rclone_api-1.1.56}/.vscode/settings.json +0 -0
  14. {rclone_api-1.1.54 → rclone_api-1.1.56}/.vscode/tasks.json +0 -0
  15. {rclone_api-1.1.54 → rclone_api-1.1.56}/LICENSE +0 -0
  16. {rclone_api-1.1.54 → rclone_api-1.1.56}/MANIFEST.in +0 -0
  17. {rclone_api-1.1.54 → rclone_api-1.1.56}/README.md +0 -0
  18. {rclone_api-1.1.54 → rclone_api-1.1.56}/clean +0 -0
  19. {rclone_api-1.1.54 → rclone_api-1.1.56}/install +0 -0
  20. {rclone_api-1.1.54 → rclone_api-1.1.56}/lint +0 -0
  21. {rclone_api-1.1.54 → rclone_api-1.1.56}/requirements.testing.txt +0 -0
  22. {rclone_api-1.1.54 → rclone_api-1.1.56}/setup.cfg +0 -0
  23. {rclone_api-1.1.54 → rclone_api-1.1.56}/setup.py +0 -0
  24. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/__init__.py +0 -0
  25. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/assets/example.txt +0 -0
  26. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/cli.py +0 -0
  27. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/cmd/copy_large_s3.py +0 -0
  28. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/cmd/list_files.py +0 -0
  29. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/completed_process.py +0 -0
  30. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/config.py +0 -0
  31. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/convert.py +0 -0
  32. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/deprecated.py +0 -0
  33. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/diff.py +0 -0
  34. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/dir.py +0 -0
  35. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/dir_listing.py +0 -0
  36. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/exec.py +0 -0
  37. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/experimental/flags.py +0 -0
  38. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/experimental/flags_base.py +0 -0
  39. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/file.py +0 -0
  40. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/filelist.py +0 -0
  41. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/group_files.py +0 -0
  42. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/mount.py +0 -0
  43. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/process.py +0 -0
  44. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/rclone.py +0 -0
  45. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/remote.py +0 -0
  46. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/rpath.py +0 -0
  47. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/api.py +0 -0
  48. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/basic_ops.py +0 -0
  49. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/chunk_file.py +0 -0
  50. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/chunk_types.py +0 -0
  51. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/create.py +0 -0
  52. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/types.py +0 -0
  53. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/s3/upload_file_multipart.py +0 -0
  54. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/scan_missing_folders.py +0 -0
  55. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/types.py +0 -0
  56. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/util.py +0 -0
  57. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api/walk.py +0 -0
  58. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/SOURCES.txt +0 -0
  59. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/dependency_links.txt +0 -0
  60. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/entry_points.txt +0 -0
  61. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/requires.txt +0 -0
  62. {rclone_api-1.1.54 → rclone_api-1.1.56}/src/rclone_api.egg-info/top_level.txt +0 -0
  63. {rclone_api-1.1.54 → rclone_api-1.1.56}/test +0 -0
  64. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/archive/test_paramiko.py.disabled +0 -0
  65. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_cmd_list_files.py +0 -0
  66. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_copy.py +0 -0
  67. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_copy_bytes.py +0 -0
  68. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_copy_file_resumable_s3.py +0 -0
  69. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_copy_files.py +0 -0
  70. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_diff.py +0 -0
  71. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_group_files.py +0 -0
  72. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_is_synced.py +0 -0
  73. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_ls.py +0 -0
  74. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_mount.py +0 -0
  75. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_mount_s3.py +0 -0
  76. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_obscure.py +0 -0
  77. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_rclone_config.py +0 -0
  78. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_remote_control.py +0 -0
  79. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_remotes.py +0 -0
  80. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_s3.py +0 -0
  81. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_scan_missing_folders.py +0 -0
  82. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_size_files.py +0 -0
  83. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_size_suffix.py +0 -0
  84. {rclone_api-1.1.54 → rclone_api-1.1.56}/tests/test_walk.py +0 -0
  85. {rclone_api-1.1.54 → rclone_api-1.1.56}/tox.ini +0 -0
  86. {rclone_api-1.1.54 → rclone_api-1.1.56}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.54
3
+ Version: 1.1.56
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.54"
26
+ version = "1.1.56"
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
9
+ from concurrent.futures import ThreadPoolExecutor, Future
10
10
  from dataclasses import dataclass
11
11
  from pathlib import Path
12
12
 
@@ -138,8 +138,8 @@ def _run_profile(
138
138
  bytes_sent = net_io_end.bytes_sent - net_io_start.bytes_sent
139
139
  bytes_recv = net_io_end.bytes_recv - net_io_start.bytes_recv
140
140
  packets_sent = net_io_end.packets_sent - net_io_start.packets_sent
141
- efficiency = size / (bytes_recv)
142
- efficiency_100 = efficiency.as_int() * 100
141
+ efficiency = size.as_int() / (bytes_recv)
142
+ efficiency_100 = efficiency * 100
143
143
  efficiency_str = f"{efficiency_100:.2f}"
144
144
 
145
145
  bytes_send_suffix = SizeSuffix(bytes_sent)
@@ -155,7 +155,7 @@ def _run_profile(
155
155
  print(f"Time: {diff:.1f} seconds")
156
156
 
157
157
 
158
- def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix) -> None:
158
+ def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix, transfer_list: list[int] | None, mount_root_path: Path) -> None:
159
159
 
160
160
  sizes = [
161
161
  1024 * 1024 * 1,
@@ -169,15 +169,13 @@ def test_profile_copy_bytes(args: Args, rclone: Rclone, offset: SizeSuffix) -> N
169
169
  # 1024 * 1024 * 256,
170
170
  ]
171
171
  # transfer_list = [1, 2, 4, 8, 16]
172
- transfer_list = [1, 2, 4]
172
+ transfer_list = transfer_list or [1, 2, 4]
173
173
 
174
174
  # src_file = "dst:rclone-api-unit-test/zachs_video/internaly_ai_alignment.mp4"
175
175
  # sftp mount
176
176
  src_file = "src:aa_misc_data/aa_misc_data/world_lending_library_2024_11.tar.zst"
177
177
 
178
- mount_root_path = Path("rclone_logs") / "mount"
179
- if mount_root_path.exists():
180
- shutil.rmtree(mount_root_path)
178
+
181
179
 
182
180
  for size in sizes:
183
181
  for transfers in transfer_list:
@@ -210,16 +208,24 @@ def main() -> None:
210
208
  print(creds)
211
209
  rclone = Rclone(config)
212
210
 
213
- args = _parse_args()
214
-
215
- with ThreadPoolExecutor() as executor:
216
-
217
- def task(offset: SizeSuffix, args=args, rclone=rclone):
218
- return test_profile_copy_bytes(args, rclone, offset)
211
+ mount_root_path = Path("rclone_logs") / "mount"
212
+ if mount_root_path.exists():
213
+ shutil.rmtree(mount_root_path)
219
214
 
220
- executor.submit(task, SizeSuffix(0))
221
- executor.submit(task, SizeSuffix("1G"))
222
- executor.submit(task, SizeSuffix("2G"))
215
+ args = _parse_args()
216
+ 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:
224
+ tasks: list[Future] = []
225
+ for i in range(parallel_workers):
226
+ offset = SizeSuffix(i * 1024 * 1024 * 256)
227
+ future = ThreadPoolExecutor().submit(lambda: task(offset=offset))
228
+ tasks.append(future)
223
229
 
224
230
 
225
231
  if __name__ == "__main__":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rclone_api
3
- Version: 1.1.54
3
+ Version: 1.1.56
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