geoseeq 0.6.11__tar.gz → 0.6.12__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. {geoseeq-0.6.11 → geoseeq-0.6.12}/PKG-INFO +1 -1
  2. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/main.py +1 -1
  3. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/upload_download_manager.py +26 -11
  4. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/PKG-INFO +1 -1
  5. {geoseeq-0.6.11 → geoseeq-0.6.12}/pyproject.toml +1 -1
  6. {geoseeq-0.6.11 → geoseeq-0.6.12}/LICENSE +0 -0
  7. {geoseeq-0.6.11 → geoseeq-0.6.12}/README.md +0 -0
  8. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/__init__.py +0 -0
  9. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/app.py +0 -0
  10. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/blob_constructors.py +0 -0
  11. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/bulk_creators.py +0 -0
  12. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/__init__.py +0 -0
  13. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/constants.py +0 -0
  14. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/copy.py +0 -0
  15. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/detail.py +0 -0
  16. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/download.py +0 -0
  17. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/fastq_utils.py +0 -0
  18. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/get_eula.py +0 -0
  19. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/manage.py +0 -0
  20. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/progress_bar.py +0 -0
  21. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/project.py +0 -0
  22. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/raw.py +0 -0
  23. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/run.py +0 -0
  24. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/search.py +0 -0
  25. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/__init__.py +0 -0
  26. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/common_state.py +0 -0
  27. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/config.py +0 -0
  28. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/id_handlers.py +0 -0
  29. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/obj_getters.py +0 -0
  30. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/shared_params/opts_and_args.py +0 -0
  31. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/upload/__init__.py +0 -0
  32. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/upload/upload.py +0 -0
  33. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/upload/upload_advanced.py +0 -0
  34. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/upload/upload_reads.py +0 -0
  35. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/user.py +0 -0
  36. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/utils.py +0 -0
  37. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/cli/view.py +0 -0
  38. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/constants.py +0 -0
  39. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/__init__.py +0 -0
  40. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/ncbi/__init__.py +0 -0
  41. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/ncbi/api.py +0 -0
  42. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/ncbi/bioproject.py +0 -0
  43. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/ncbi/cli.py +0 -0
  44. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/contrib/ncbi/setup_logging.py +0 -0
  45. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/file_system_cache.py +0 -0
  46. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/__init__.py +0 -0
  47. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/from_blobs.py +0 -0
  48. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/from_ids.py +0 -0
  49. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/from_names.py +0 -0
  50. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/from_uuids.py +0 -0
  51. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/resolvers.py +0 -0
  52. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/id_constructors/utils.py +0 -0
  53. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/knex.py +0 -0
  54. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/organization.py +0 -0
  55. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/pipeline.py +0 -0
  56. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/__init__.py +0 -0
  57. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/constants.py +0 -0
  58. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/highcharts.py +0 -0
  59. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/map/__init__.py +0 -0
  60. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/map/base_layer.py +0 -0
  61. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/map/map.py +0 -0
  62. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/map/overlay.py +0 -0
  63. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/plotting/selectable.py +0 -0
  64. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/project.py +0 -0
  65. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/remote_object.py +0 -0
  66. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/__init__.py +0 -0
  67. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/bioinfo.py +0 -0
  68. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/file_chunker.py +0 -0
  69. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/file_download.py +0 -0
  70. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/file_upload.py +0 -0
  71. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/result_file.py +0 -0
  72. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/result_folder.py +0 -0
  73. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/resumable_download_tracker.py +0 -0
  74. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/resumable_upload_tracker.py +0 -0
  75. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/result/utils.py +0 -0
  76. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/sample.py +0 -0
  77. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/search.py +0 -0
  78. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/user.py +0 -0
  79. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/utils.py +0 -0
  80. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/__init__.py +0 -0
  81. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/checksum.py +0 -0
  82. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/cli.py +0 -0
  83. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/clone.py +0 -0
  84. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/constants.py +0 -0
  85. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/vc_cache.py +0 -0
  86. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/vc_dir.py +0 -0
  87. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/vc_sample.py +0 -0
  88. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/vc/vc_stub.py +0 -0
  89. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq/work_orders.py +0 -0
  90. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/SOURCES.txt +0 -0
  91. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/dependency_links.txt +0 -0
  92. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/entry_points.txt +0 -0
  93. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/requires.txt +0 -0
  94. {geoseeq-0.6.11 → geoseeq-0.6.12}/geoseeq.egg-info/top_level.txt +0 -0
  95. {geoseeq-0.6.11 → geoseeq-0.6.12}/setup.cfg +0 -0
  96. {geoseeq-0.6.11 → geoseeq-0.6.12}/setup.py +0 -0
  97. {geoseeq-0.6.11 → geoseeq-0.6.12}/tests/__init__.py +0 -0
  98. {geoseeq-0.6.11 → geoseeq-0.6.12}/tests/test_api_client.py +0 -0
  99. {geoseeq-0.6.11 → geoseeq-0.6.12}/tests/test_plotting.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: geoseeq
3
- Version: 0.6.11
3
+ Version: 0.6.12
4
4
  Summary: GeoSeeq command line tools and python API
5
5
  Author: David C. Danko
6
6
  Author-email: "David C. Danko" <dcdanko@biotia.io>
@@ -54,7 +54,7 @@ def version():
54
54
  Use of this tool implies acceptance of the GeoSeeq End User License Agreement.
55
55
  Run `geoseeq eula show` to view the EULA.
56
56
  """
57
- click.echo('0.6.11') # remember to update pyproject.toml
57
+ click.echo('0.6.12') # remember to update pyproject.toml
58
58
 
59
59
 
60
60
  @main.group('advanced')
@@ -127,15 +127,22 @@ class GeoSeeqUploadManager:
127
127
 
128
128
 
129
129
  def _download_one_file(args):
130
- url, file_path, pbar, ignore_errors, head, log_level, parallel_downloads = args
130
+ original_url, file_path, key, callback, pbar, ignore_errors, head, log_level, parallel_downloads = args
131
131
  if parallel_downloads:
132
132
  _make_in_process_logger(log_level)
133
- if isinstance(url, ResultFile):
134
- url = url.get_download_url()
133
+ if isinstance(original_url, ResultFile):
134
+ url = original_url.get_download_url()
135
+ else:
136
+ url = original_url
135
137
  try:
136
138
  if dirname(file_path):
137
139
  makedirs(dirname(file_path), exist_ok=True)
138
- return download_url(url, filename=file_path, progress_tracker=pbar, head=head)
140
+ local_path = download_url(url, filename=file_path, progress_tracker=pbar, head=head)
141
+ if callback is not None:
142
+ callback_result = callback(local_path)
143
+ else:
144
+ callback_result = None
145
+ return local_path, key, callback_result
139
146
  except Exception as e:
140
147
  if ignore_errors:
141
148
  logger.error(f"Error downloading {url}: {e}")
@@ -153,13 +160,14 @@ class GeoSeeqDownloadManager:
153
160
  self.log_level = log_level
154
161
  self._result_files = []
155
162
 
156
- def add_download(self, url, file_path=None, progress_tracker=None):
163
+
164
+ def add_download(self, url, file_path=None, progress_tracker=None, callback=None, key=None):
157
165
  if not file_path:
158
166
  if isinstance(url, ResultFile):
159
167
  file_path = url.get_local_filename()
160
168
  else:
161
169
  raise ValueError("file_path must be provided if url is not a ResultFile object.")
162
- self._result_files.append((url, file_path))
170
+ self._result_files.append((url, file_path, key, callback))
163
171
 
164
172
 
165
173
  def add_result_folder_download(self, result_folder, local_folder_path, hidden_files=True):
@@ -170,14 +178,14 @@ class GeoSeeqDownloadManager:
170
178
 
171
179
  def get_preview_string(self):
172
180
  out = ["Download Preview:"]
173
- for url, file_path in self._result_files:
181
+ for url, file_path, _, _ in self._result_files:
174
182
  out.append(f"{url} -> {file_path}")
175
183
  return "\n".join(out)
176
184
 
177
185
  def get_url_string(self):
178
186
  self._convert_result_files_to_urls()
179
187
  out = []
180
- for url, _ in self._result_files:
188
+ for url, _, _, _ in self._result_files:
181
189
  out.append(url)
182
190
  return "\n".join(out)
183
191
 
@@ -188,16 +196,23 @@ class GeoSeeqDownloadManager:
188
196
  self._result_files = [(
189
197
  url.get_download_url() if isinstance(url, ResultFile) else url,
190
198
  file_path,
191
- ) for url, file_path in self._result_files]
199
+ key,
200
+ callback
201
+ ) for url, file_path, key, callback in self._result_files]
192
202
 
193
203
  def download_files(self):
204
+ """Return a list of 3-ples (local_path, key, callback_result).
205
+
206
+ If no key was provided the key is None
207
+ If no callback was provided with the file callback result is None
208
+ """
194
209
  self._convert_result_files_to_urls()
195
210
  download_args = [(
196
- url, file_path,
211
+ url, file_path, key, callback,
197
212
  self.progress_tracker_factory(file_path),
198
213
  self.ignore_errors, self.head, self.log_level,
199
214
  self.n_parallel_downloads > 1
200
- ) for url, file_path in self._result_files]
215
+ ) for url, file_path, key, callback in self._result_files]
201
216
  out = []
202
217
  if self.n_parallel_downloads == 1:
203
218
  logger.info(f"Downloading files in series.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: geoseeq
3
- Version: 0.6.11
3
+ Version: 0.6.12
4
4
  Summary: GeoSeeq command line tools and python API
5
5
  Author: David C. Danko
6
6
  Author-email: "David C. Danko" <dcdanko@biotia.io>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "geoseeq"
7
- version = "0.6.11"
7
+ version = "0.6.12"
8
8
  authors = [
9
9
  { name="David C. Danko", email="dcdanko@biotia.io" },
10
10
  ]
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
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
File without changes
File without changes