nci-cidc-api-modules 1.0.28__tar.gz → 1.0.33__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 (36) hide show
  1. {nci_cidc_api_modules-1.0.28/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.0.33}/PKG-INFO +11 -4
  2. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/models.py +21 -0
  3. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/emails.py +4 -4
  4. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33/nci_cidc_api_modules.egg-info}/PKG-INFO +11 -4
  5. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/nci_cidc_api_modules.egg-info/requires.txt +2 -2
  6. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/pyproject.toml +1 -1
  7. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/requirements.modules.txt +2 -2
  8. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/LICENSE +0 -0
  9. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/MANIFEST.in +0 -0
  10. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/README.md +0 -0
  11. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/config/__init__.py +0 -0
  12. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/config/db.py +0 -0
  13. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/config/logging.py +0 -0
  14. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/config/secrets.py +0 -0
  15. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/config/settings.py +0 -0
  16. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/csms/__init__.py +0 -0
  17. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/csms/auth.py +0 -0
  18. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/__init__.py +0 -0
  19. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/csms_api.py +0 -0
  20. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/files/__init__.py +0 -0
  21. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/files/details.py +0 -0
  22. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/files/facets.py +0 -0
  23. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/migrations.py +0 -0
  24. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/models/schemas.py +0 -0
  25. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/__init__.py +0 -0
  26. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/auth.py +0 -0
  27. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/gcloud_client.py +0 -0
  28. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/jose.py +0 -0
  29. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/cidc_api/shared/rest_utils.py +0 -0
  30. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/nci_cidc_api_modules.egg-info/SOURCES.txt +0 -0
  31. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/nci_cidc_api_modules.egg-info/dependency_links.txt +0 -0
  32. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/nci_cidc_api_modules.egg-info/not-zip-safe +0 -0
  33. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/nci_cidc_api_modules.egg-info/top_level.txt +0 -0
  34. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/setup.cfg +0 -0
  35. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/setup.py +0 -0
  36. {nci_cidc_api_modules-1.0.28 → nci_cidc_api_modules-1.0.33}/tests/test_api.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.0.28
3
+ Version: 1.0.33
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -26,9 +26,16 @@ Requires-Dist: numpy<2,>=1.16.5
26
26
  Requires-Dist: pandas==1.5.3
27
27
  Requires-Dist: python-dotenv==0.10.3
28
28
  Requires-Dist: requests==2.32.3
29
- Requires-Dist: jinja2==3.1.4
29
+ Requires-Dist: jinja2==3.1.5
30
30
  Requires-Dist: certifi==2024.7.4
31
- Requires-Dist: nci-cidc-schemas==0.26.37
31
+ Requires-Dist: nci-cidc-schemas==0.26.38
32
+ Dynamic: description
33
+ Dynamic: description-content-type
34
+ Dynamic: home-page
35
+ Dynamic: license
36
+ Dynamic: requires-dist
37
+ Dynamic: requires-python
38
+ Dynamic: summary
32
39
 
33
40
  # NCI CIDC API <!-- omit in TOC -->
34
41
 
@@ -272,6 +272,13 @@ class CommonColumns(BaseModel): # type: ignore
272
272
  asc(sort_attribute) if sort_direction == "asc" else desc(sort_attribute)
273
273
  )
274
274
  query = query.order_by(field_with_dir)
275
+ if sort_field != "id":
276
+ # When sorting, need to guarantee unique order for offset/limit pagination to produce
277
+ # consistent results. Adding secondary "id" sort field to ensure unique order.
278
+ secondary_field_with_dir = (
279
+ asc("id") if sort_direction == "asc" else desc("id")
280
+ )
281
+ query = query.order_by(secondary_field_with_dir)
275
282
 
276
283
  # Apply filter function
277
284
  query = filter_(query)
@@ -1375,6 +1382,20 @@ class TrialMetadata(CommonColumns):
1375
1382
  )
1376
1383
  setattr(trial, "num_samples", sample_counts.get(trial.trial_id, 0))
1377
1384
 
1385
+ if include_file_bundles and hasattr(trial, "file_bundle"):
1386
+ for assay in trial.file_bundle:
1387
+ size_results = {}
1388
+ for files_list_key in trial.file_bundle[assay]:
1389
+ ids = trial.file_bundle[assay][files_list_key]
1390
+ size_results[f"{files_list_key}_size"] = (
1391
+ DownloadableFiles.get_total_bytes(
1392
+ filter_=lambda q: q.filter(
1393
+ DownloadableFiles.id.in_(ids)
1394
+ )
1395
+ )
1396
+ )
1397
+ trial.file_bundle[assay].update(size_results)
1398
+
1378
1399
  trials.append(trial)
1379
1400
 
1380
1401
  return trials
@@ -19,7 +19,7 @@ from ..config.settings import ENV, GOOGLE_ACL_DATA_BUCKET
19
19
  # - errors from CSMS in update_cidc_from_csms,
20
20
  # - errors from kicking off permissions in grant_download_permissions, and
21
21
  # - errors from implementing permissions in worker > permissions_worker
22
- CIDC_MAILING_LIST = "essex-alert@cimac-network.org"
22
+ CIDC_MAILING_LIST = ["essex-alert@cimac-network.org", "mustafa.kucukkal@nih.gov"]
23
23
 
24
24
 
25
25
  def sendable(email_template):
@@ -76,7 +76,7 @@ def new_user_registration(email: str) -> dict:
76
76
  )
77
77
 
78
78
  email = {
79
- "to_emails": [CIDC_MAILING_LIST],
79
+ "to_emails": CIDC_MAILING_LIST,
80
80
  "subject": subject,
81
81
  "html_content": html_content,
82
82
  }
@@ -110,7 +110,7 @@ def new_upload_alert(upload, full_metadata) -> dict:
110
110
  """
111
111
 
112
112
  email = {
113
- "to_emails": [CIDC_MAILING_LIST],
113
+ "to_emails": CIDC_MAILING_LIST,
114
114
  "subject": subject,
115
115
  "html_content": html_content,
116
116
  }
@@ -152,7 +152,7 @@ def intake_metadata(
152
152
  """
153
153
 
154
154
  email = {
155
- "to_emails": [CIDC_MAILING_LIST],
155
+ "to_emails": CIDC_MAILING_LIST,
156
156
  "subject": subject,
157
157
  "html_content": html_content,
158
158
  }
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.0.28
3
+ Version: 1.0.33
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -26,9 +26,16 @@ Requires-Dist: numpy<2,>=1.16.5
26
26
  Requires-Dist: pandas==1.5.3
27
27
  Requires-Dist: python-dotenv==0.10.3
28
28
  Requires-Dist: requests==2.32.3
29
- Requires-Dist: jinja2==3.1.4
29
+ Requires-Dist: jinja2==3.1.5
30
30
  Requires-Dist: certifi==2024.7.4
31
- Requires-Dist: nci-cidc-schemas==0.26.37
31
+ Requires-Dist: nci-cidc-schemas==0.26.38
32
+ Dynamic: description
33
+ Dynamic: description-content-type
34
+ Dynamic: home-page
35
+ Dynamic: license
36
+ Dynamic: requires-dist
37
+ Dynamic: requires-python
38
+ Dynamic: summary
32
39
 
33
40
  # NCI CIDC API <!-- omit in TOC -->
34
41
 
@@ -17,6 +17,6 @@ numpy<2,>=1.16.5
17
17
  pandas==1.5.3
18
18
  python-dotenv==0.10.3
19
19
  requests==2.32.3
20
- jinja2==3.1.4
20
+ jinja2==3.1.5
21
21
  certifi==2024.7.4
22
- nci-cidc-schemas==0.26.37
22
+ nci-cidc-schemas==0.26.38
@@ -60,7 +60,7 @@ google-api-python-client = "2.64.0"
60
60
  pandas = "1.5.3"
61
61
  python-dotenv = "0.10.3"
62
62
  requests = "2.32.3"
63
- jinja2 = "3.1.4"
63
+ jinja2 = "3.1.5"
64
64
  nci-cidc-schemas = "0.26.36"
65
65
 
66
66
  # keep the existing build step
@@ -17,6 +17,6 @@ numpy>=1.16.5,<2
17
17
  pandas==1.5.3
18
18
  python-dotenv==0.10.3
19
19
  requests==2.32.3
20
- jinja2==3.1.4
20
+ jinja2==3.1.5
21
21
  certifi==2024.7.4
22
- nci-cidc-schemas==0.26.37
22
+ nci-cidc-schemas==0.26.38