pysodafair 0.1.66__py3-none-any.whl → 0.1.68__py3-none-any.whl
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.
- pysoda/core/dataset_generation/upload.py +12 -7
- pysoda/core/metadata/code_description.py +37 -1
- pysoda/core/metadata/dataset_description.py +3 -1
- pysoda/core/metadata/performances.py +14 -1
- pysoda/core/metadata/resources.py +16 -1
- pysoda/core/metadata/samples.py +25 -74
- pysoda/core/metadata/sites.py +14 -1
- pysoda/core/metadata/subjects.py +51 -22
- pysoda/core/metadata_templates/.dss +1 -0
- pysoda/core/metadata_templates/dataset_description.xlsx +0 -0
- pysoda/core/metadata_templates/samples.xlsx +0 -0
- pysoda/core/metadata_templates/subjects.xlsx +0 -0
- pysoda/core/metadata_templates/submission.xlsx +0 -0
- pysoda/schema/code_description.json +121 -51
- pysoda/schema/dataset_description.json +35 -31
- pysoda/schema/manifest.json +1 -1
- pysoda/schema/performances.json +16 -6
- pysoda/schema/resources.json +2 -1
- pysoda/schema/samples.json +31 -5
- pysoda/schema/sites.json +4 -2
- pysoda/schema/subjects.json +41 -10
- pysoda/schema/submission_schema.json +7 -4
- pysoda/utils/exceptions.py +10 -2
- pysoda/utils/pennsieveAgentUtils.py +11 -2
- {pysodafair-0.1.66.dist-info → pysodafair-0.1.68.dist-info}/METADATA +2 -5
- {pysodafair-0.1.66.dist-info → pysodafair-0.1.68.dist-info}/RECORD +28 -27
- {pysodafair-0.1.66.dist-info → pysodafair-0.1.68.dist-info}/WHEEL +0 -0
- {pysodafair-0.1.66.dist-info → pysodafair-0.1.68.dist-info}/licenses/LICENSE +0 -0
pysoda/schema/subjects.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"subject_id": {
|
|
11
11
|
"type": "string",
|
|
12
12
|
"description": "Unique identifier for the subject. This should be a unique identifier for the subject within the dataset.",
|
|
13
|
-
"
|
|
13
|
+
"pattern": "^(pop-)?sub-[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
|
|
14
14
|
},
|
|
15
15
|
"pool_id": {
|
|
16
16
|
"type": "string",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"sex": {
|
|
28
28
|
"type": "string",
|
|
29
|
-
"description": "Sex of the subject."
|
|
29
|
+
"description": "Sex of the subject. Can be represented as freetext or a CURIE or IRI from a standard ontology such as PATO."
|
|
30
30
|
},
|
|
31
31
|
"species": {
|
|
32
32
|
"type": "string",
|
|
33
|
-
"description": "Species of the subject. This should be the scientific name of the species."
|
|
33
|
+
"description": "Species of the subject. This should be the scientific name of the species. For example CURIE or IRI from NCBI taxonomy or something free form."
|
|
34
34
|
},
|
|
35
35
|
"strain": {
|
|
36
36
|
"type": "string",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
},
|
|
39
39
|
"rrid_for_strain": {
|
|
40
40
|
"type": "string",
|
|
41
|
-
"description": "RRID for strain. This should be a unique identifier for the strain in the Research Resource Identifier (RRID) database."
|
|
41
|
+
"description": "RRID for strain. This should be a unique identifier for the strain in the Research Resource Identifier (RRID) database.",
|
|
42
|
+
"pattern": "^$|^RRID:"
|
|
42
43
|
},
|
|
43
44
|
"age_category": {
|
|
44
45
|
"type": "string",
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
},
|
|
47
48
|
"also_in_dataset": {
|
|
48
49
|
"type": "string",
|
|
49
|
-
"description": "Indicates if the subject is also part of another dataset."
|
|
50
|
+
"description": "Indicates if the subject is also part of another dataset. Should be a DOI or https link to another dataset or an other identifier."
|
|
50
51
|
},
|
|
51
52
|
"member_of": {
|
|
52
53
|
"type": "string",
|
|
@@ -56,6 +57,10 @@
|
|
|
56
57
|
"type": "string",
|
|
57
58
|
"description": "Indicates if this entry is metadata only."
|
|
58
59
|
},
|
|
60
|
+
"number_of_directly_derived_samples": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Number of samples directly derived from this sample."
|
|
63
|
+
},
|
|
59
64
|
"laboratory_internal_id": {
|
|
60
65
|
"type": "string",
|
|
61
66
|
"description": "Internal identifier used by the laboratory for the subject."
|
|
@@ -73,8 +78,24 @@
|
|
|
73
78
|
"description": "Maximum age range of the subject."
|
|
74
79
|
},
|
|
75
80
|
"body_mass": {
|
|
76
|
-
"
|
|
77
|
-
|
|
81
|
+
"oneOf": [
|
|
82
|
+
{
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Body mass of the subject."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "number",
|
|
88
|
+
"description": "Body mass of the subject."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "object",
|
|
92
|
+
"properties": {
|
|
93
|
+
"type": { "type": "string" },
|
|
94
|
+
"value": { "type": "number" },
|
|
95
|
+
"unit": { "type": "string" }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
78
99
|
},
|
|
79
100
|
"genotype": {
|
|
80
101
|
"type": "string",
|
|
@@ -100,7 +121,7 @@
|
|
|
100
121
|
"type": "string",
|
|
101
122
|
"description": "Date of the experiment involving the subject."
|
|
102
123
|
},
|
|
103
|
-
"
|
|
124
|
+
"disease": {
|
|
104
125
|
"type": "string",
|
|
105
126
|
"description": "Disease or disorder associated with the subject."
|
|
106
127
|
},
|
|
@@ -118,10 +139,20 @@
|
|
|
118
139
|
},
|
|
119
140
|
"protocol_url_or_doi": {
|
|
120
141
|
"type": "string",
|
|
121
|
-
"description": "URL or DOI of the protocol used for the subject."
|
|
142
|
+
"description": "URL or DOI of the protocol used for the subject.",
|
|
143
|
+
"anyOf": [
|
|
144
|
+
{ "pattern": "^$" },
|
|
145
|
+
{
|
|
146
|
+
"pattern": "^https://[A-Za-z0-9.-]+[A-Za-z0-9](:[0-9]+)?(/.*)?$"
|
|
147
|
+
},
|
|
148
|
+
{ "pattern": "^10\\.\\d{4,9}/[-._;()/:A-Za-z0-9]+$" },
|
|
149
|
+
{
|
|
150
|
+
"pattern": "^https://doi\\.org/10\\.\\d{4,9}/[-._;()/:A-Za-z0-9]+$"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
122
153
|
}
|
|
123
154
|
},
|
|
124
|
-
"required": ["subject_id"],
|
|
155
|
+
"required": ["subject_id", "species"],
|
|
125
156
|
"additionalProperties": {
|
|
126
157
|
"type": "string",
|
|
127
158
|
"description": "Additional properties for the subject. This can include any other relevant information about the subject that is not covered by the predefined fields."
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
"properties": {
|
|
5
5
|
"consortium_data_standard": {
|
|
6
6
|
"type": "string",
|
|
7
|
-
"description": "The consortium data standard used for the submssion.
|
|
7
|
+
"description": "The consortium data standard used for the submssion. At the moment SPARC is the only supported standard in pysoda. Future support for HEAL is planned.",
|
|
8
|
+
"enum": ["SPARC", "HEAL"]
|
|
8
9
|
},
|
|
9
10
|
"funding_consortium": {
|
|
10
11
|
"type": "string",
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
},
|
|
13
14
|
"award_number": {
|
|
14
15
|
"type": "string",
|
|
15
|
-
"description": "The award number associated with the funding. This is typically a unique identifier assigned by the funding agency."
|
|
16
|
+
"description": "The award number associated with the funding. This is typically a unique identifier assigned by the funding agency. TODO: Check regex coverage for RE-JOIN before applying pattern."
|
|
16
17
|
},
|
|
17
18
|
"milestone_achieved": {
|
|
18
19
|
"type": "array",
|
|
@@ -21,8 +22,10 @@
|
|
|
21
22
|
},
|
|
22
23
|
"milestone_completion_date": {
|
|
23
24
|
"type": "string",
|
|
24
|
-
"description": "The date when the milestone was completed. This should be in ISO 8601 format."
|
|
25
|
+
"description": "The date when the milestone was completed. This should be in ISO 8601 format.",
|
|
26
|
+
"pattern": "^([0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9]([.,][0-9]{1,9})?)?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9]))?$"
|
|
25
27
|
}
|
|
26
28
|
},
|
|
27
|
-
"required": []
|
|
29
|
+
"required": [],
|
|
30
|
+
"description": "TODO: Add funding_consortium, milestone_completion_date, and consortium_data_standard to required fields list once SODA front end has validation page."
|
|
28
31
|
}
|
pysoda/utils/exceptions.py
CHANGED
|
@@ -17,6 +17,14 @@ class PennsieveAgentError(Exception):
|
|
|
17
17
|
def __str__(self):
|
|
18
18
|
return self.error_message
|
|
19
19
|
|
|
20
|
+
|
|
21
|
+
class PennsieveAgentRPCError(Exception):
|
|
22
|
+
def __init__(self, error_message):
|
|
23
|
+
self.error_message = error_message
|
|
24
|
+
|
|
25
|
+
def __str__(self):
|
|
26
|
+
return self.error_message
|
|
27
|
+
|
|
20
28
|
class FailedToFetchPennsieveDatasets(Exception):
|
|
21
29
|
def __init__(self, error_message):
|
|
22
30
|
self.error_message = error_message
|
|
@@ -120,7 +128,7 @@ class PennsieveDatasetNameInvalid(Exception):
|
|
|
120
128
|
class PennsieveAccountInvalid(Exception):
|
|
121
129
|
def __init__(self, account_name):
|
|
122
130
|
self.account_name = account_name
|
|
123
|
-
self.error_message = f"The Pennsieve account name {self.account_name} is invalid."
|
|
131
|
+
self.error_message = f"The Pennsieve account name {self.account_name} is invalid. Please try again. If the issue persists, please contact the SODA team."
|
|
124
132
|
|
|
125
133
|
def __str__(self):
|
|
126
134
|
return self.error_message
|
|
@@ -138,7 +146,7 @@ def validation_error_message(e):
|
|
|
138
146
|
input: e (ValidationError): The validation error from the validate library.
|
|
139
147
|
output: human readable message for the validation error.
|
|
140
148
|
"""
|
|
141
|
-
msg = "
|
|
149
|
+
msg = "The following error was found in your metadata:"
|
|
142
150
|
e_type = e.schema_path.pop().strip()
|
|
143
151
|
print(e.schema_path)
|
|
144
152
|
if e_type == "type":
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from pennsieve2.pennsieve import Pennsieve
|
|
2
|
-
from .exceptions import PennsieveAgentError
|
|
2
|
+
from .exceptions import PennsieveAgentError, PennsieveAgentRPCError, PennsieveAccountInvalid
|
|
3
3
|
|
|
4
4
|
def connect_pennsieve_client(account_name):
|
|
5
5
|
"""
|
|
@@ -8,4 +8,13 @@ def connect_pennsieve_client(account_name):
|
|
|
8
8
|
try:
|
|
9
9
|
return Pennsieve(profile_name=account_name)
|
|
10
10
|
except Exception as e:
|
|
11
|
-
|
|
11
|
+
if "End of TCP stream" in str(e):
|
|
12
|
+
raise PennsieveAgentRPCError(f"Could not connect to the Pennsieve Agent error coming from the Agent. This can likely be resolved by retrying. If the issue persists, please contact the SODA team and they will reach out to Pennsieve to help resolve this.") from e
|
|
13
|
+
elif isinstance(e, AttributeError):
|
|
14
|
+
raise Exception("The Pennsieve Agent cannot access datasets but needs to in order to work. Please try again. If the issue persists, please contact the SODA team. The SODA team will contact Pennsieve to help resolve this issue.") from e
|
|
15
|
+
elif "Profile not found" in str(e):
|
|
16
|
+
raise PennsieveAccountInvalid(account_name) from e
|
|
17
|
+
elif "Error connecting to server" in str(e):
|
|
18
|
+
raise PennsieveAgentError(f"Could not connect to the Pennsieve agent: {e}") from e
|
|
19
|
+
else:
|
|
20
|
+
raise PennsieveAgentError("An unknown error occurred when trying to connect to the Pennsieve Agent. If this issue persists, please contact the SODA team.") from e
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pysodafair
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.68
|
|
4
4
|
Summary: Pysoda package for Fairdataihub tools
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Author: Christopher Marroquin
|
|
8
8
|
Author-email: cmarroquin@calmi2.org
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.9
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -4,13 +4,13 @@ pysoda/core/__init__.py,sha256=bXnu4fYemJ915xId8nwh-Gy2IUEvVuoS9Hk3CXyJp8U,235
|
|
|
4
4
|
pysoda/core/dataset_generation/__init__.py,sha256=tisLmJeXLeAINXf7BdNZGi2i9vQwImWGa_S5FNwQFbs,299
|
|
5
5
|
pysoda/core/dataset_generation/manifestSession/__init__.py,sha256=kqkTAFEhluyQJ9mmMhYQTh1tgowBeJdH-Q9s5ifGkSE,51
|
|
6
6
|
pysoda/core/dataset_generation/manifestSession/manifest_session.py,sha256=TML_KOJ-1REohqSaHCZNFJrbDR1UDQ9sFcithJRx9t8,4669
|
|
7
|
-
pysoda/core/dataset_generation/upload.py,sha256=
|
|
7
|
+
pysoda/core/dataset_generation/upload.py,sha256=XC1ELfTKEV9T0HY8xxUa3poGTq9H2sL-VT356IDrXH4,172819
|
|
8
8
|
pysoda/core/dataset_importing/__init__.py,sha256=NbWs4HAqqydFLACFoVwl6g457dkYvjiZKx9NzB9wFxE,114
|
|
9
9
|
pysoda/core/dataset_importing/import_dataset.py,sha256=cx8qCQmR_BKdC2G-jzqE4dWg2JhkOS3jM8kpjLIsObk,29487
|
|
10
10
|
pysoda/core/metadata/__init__.py,sha256=Tkx6vdEQEPwAHmVSc9GfdbDZUkvuAqEgHJOxRDeX5vE,821
|
|
11
|
-
pysoda/core/metadata/code_description.py,sha256=
|
|
11
|
+
pysoda/core/metadata/code_description.py,sha256=DlHcbKkegZ_hJ1kYrYX0wUBW0h0P_ew_CCE3Yt0-FiQ,5964
|
|
12
12
|
pysoda/core/metadata/constants.py,sha256=PR78huqBKdBpzDUGxVKy9YW3pUrJ4ftuF4MfqpNb1bU,1052
|
|
13
|
-
pysoda/core/metadata/dataset_description.py,sha256=
|
|
13
|
+
pysoda/core/metadata/dataset_description.py,sha256=KH7koPzGaB7wy3w_jwBfIHior7zZnsn9onsoWpYglq4,10356
|
|
14
14
|
pysoda/core/metadata/excel_utils.py,sha256=FQ8-DBq2lxFdpDUZeABfFKe284JzRTe6AYPxEw7yzsg,1216
|
|
15
15
|
pysoda/core/metadata/helpers.py,sha256=jDf4KPTbx4unHT7pDlFEa0jls1OZY-dpdKf3kUGMtvg,10609
|
|
16
16
|
pysoda/core/metadata/manifest.py,sha256=LO8ZP8oJ0vEjbXU0yPVEYm62MLOZwIYVUaW4VEczO9k,4195
|
|
@@ -18,29 +18,30 @@ pysoda/core/metadata/manifest_package/__init__.py,sha256=7qiNT62WsI1LKb-lvnK31lW
|
|
|
18
18
|
pysoda/core/metadata/manifest_package/manifest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
pysoda/core/metadata/manifest_package/manifest_import.py,sha256=5rKOBf-NMt2dVsPJYotk5V855wnmtiMqrpknSOYOEl0,1347
|
|
20
20
|
pysoda/core/metadata/manifest_package/manifest_writer.py,sha256=AjtKdGYd9e2TS9hpPTPXH0mqer5PH_hLbxvYQPhhFHg,27358
|
|
21
|
-
pysoda/core/metadata/performances.py,sha256=
|
|
22
|
-
pysoda/core/metadata/resources.py,sha256=
|
|
23
|
-
pysoda/core/metadata/samples.py,sha256=
|
|
24
|
-
pysoda/core/metadata/sites.py,sha256=
|
|
25
|
-
pysoda/core/metadata/subjects.py,sha256=
|
|
21
|
+
pysoda/core/metadata/performances.py,sha256=0DZevDiGJ1Zf493Ayc0f8rSS2-5w32nE2RLKq6-XTyA,2527
|
|
22
|
+
pysoda/core/metadata/resources.py,sha256=6EGR6f70pMj2gOxA9ZvJ78yhPPhafw3UM8aRNsTQCyE,2563
|
|
23
|
+
pysoda/core/metadata/samples.py,sha256=IOUPpRkGI47Cv7wJThFlLzocydqTKI0SQ6uy-f6XHQk,6360
|
|
24
|
+
pysoda/core/metadata/sites.py,sha256=Dh0UTesFj_MFNEmNp_0PeRLR4AQ4prEdRxybkyGfiyI,2427
|
|
25
|
+
pysoda/core/metadata/subjects.py,sha256=vIe29xj3HdMFqh8y4H4-zbTY2xm62h4N4Llv0v-7nVM,9046
|
|
26
26
|
pysoda/core/metadata/submission.py,sha256=Ym949kEIzdjjyyNWCvtP8OftFKKUBDQy98HOOTUEej4,3002
|
|
27
27
|
pysoda/core/metadata/text_metadata.py,sha256=GYiRxNiQp5Lw-6na80jcrvQBMF4-KHp3CGK2Mmv6TFI,1846
|
|
28
|
+
pysoda/core/metadata_templates/.dss,sha256=mAgD4xcDXkcAx01ZfZ-vJbD_Klkkgago2s1XyQNNwss,12
|
|
28
29
|
pysoda/core/metadata_templates/CHANGES,sha256=XIdY2AIWPX8aEtMJeXprL1kHXRH173l5ubTxzMDoCH4,78
|
|
29
30
|
pysoda/core/metadata_templates/LICENSE,sha256=XIdY2AIWPX8aEtMJeXprL1kHXRH173l5ubTxzMDoCH4,78
|
|
30
31
|
pysoda/core/metadata_templates/README.md,sha256=rIxGEC2qoPl4YcSj-G64MX5fmM1JdNed1KCDUFVYRnc,129
|
|
31
32
|
pysoda/core/metadata_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
33
|
pysoda/core/metadata_templates/code_description.xlsx,sha256=hONjq4nmDxtHbMmCTAcrosoIA6rxnlt1fub-EjDFDS0,12007
|
|
33
34
|
pysoda/core/metadata_templates/code_parameters.xlsx,sha256=vhHX99V7Abye8dN3GkjzFuJ8g9MUOSQDfAMRrR8DehQ,6027
|
|
34
|
-
pysoda/core/metadata_templates/dataset_description.xlsx,sha256=
|
|
35
|
+
pysoda/core/metadata_templates/dataset_description.xlsx,sha256=G79X1UKI5LEu30asVWKAQF_9lxXOlX9rOZjDhuln7NA,18417
|
|
35
36
|
pysoda/core/metadata_templates/manifest.xlsx,sha256=uHUVfmy_jcNeW5qctDLyymOdhyVOwRJCQavungPBR0o,5273
|
|
36
37
|
pysoda/core/metadata_templates/performances.xlsx,sha256=jjiPBb669FHjC7W8hTo3gChTspX5DluBdrvO6UZhFOk,5184
|
|
37
38
|
pysoda/core/metadata_templates/resources.xlsx,sha256=mT-KbF1KzZjV3AifENZHkY2nX6AHB6sLO34pX_6xcAI,5155
|
|
38
|
-
pysoda/core/metadata_templates/samples.xlsx,sha256=
|
|
39
|
+
pysoda/core/metadata_templates/samples.xlsx,sha256=AQtHRIssRrrPjBSHPX5-bNE0b2rWL3OafaHZhiyp0cY,8462
|
|
39
40
|
pysoda/core/metadata_templates/sites.xlsx,sha256=C_XehlNXZSUUxjayZr0XW6OvuGRxoFzA8xM6OklXszM,8081
|
|
40
|
-
pysoda/core/metadata_templates/subjects.xlsx,sha256=
|
|
41
|
+
pysoda/core/metadata_templates/subjects.xlsx,sha256=CqhZvmHhwN_JPtr4bFlm9tFkUlOoji959jLl5KaOGOg,8626
|
|
41
42
|
pysoda/core/metadata_templates/subjects_pools_samples_structure.xlsx,sha256=AXUBNtYBIAN9C3l7-clGFTCnyLkSFhuoFca227jbxgc,12154
|
|
42
43
|
pysoda/core/metadata_templates/subjects_pools_samples_structure_example.xlsx,sha256=69DcsxOR6H8oTZZq43vOuoyud1D_BOXdzLxJlotdQVk,12154
|
|
43
|
-
pysoda/core/metadata_templates/submission.xlsx,sha256=
|
|
44
|
+
pysoda/core/metadata_templates/submission.xlsx,sha256=gWQy0_ZnluGcSOwLO8P2jFJLVWSKtXn2DTJx150ZV9w,5039
|
|
44
45
|
pysoda/core/permissions/__init__.py,sha256=YUoJACCe8SO7_TXrn27jzz5gWx1xvCMPy37cNPmV2Mw,85
|
|
45
46
|
pysoda/core/permissions/permissions.py,sha256=l8OTNhzjidF7PrL74PYjcpxVYd1YQpgcs202yh4CJyg,1076
|
|
46
47
|
pysoda/core/pysoda/__init__.py,sha256=gNQ5O-A6wqTc88OGGfLy0UoeFxgPi0T5NMtF7YdUY_U,58
|
|
@@ -49,29 +50,29 @@ pysoda/core/pysoda/soda_object.py,sha256=ISkV2uRREp-ScHt5_ZH_4K20O3veVxYGnP-9Avv
|
|
|
49
50
|
pysoda/core/upload_manifests/__init__.py,sha256=SOiyflYmZDtkLwWpeu7flyn3J2SAj9WL4y82O6cEpzg,74
|
|
50
51
|
pysoda/core/upload_manifests/upload_manifests.py,sha256=Hd2XSXYieG-EMcPTLSYXvdtraipp1XBSo5cGpZR-vbA,1223
|
|
51
52
|
pysoda/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
pysoda/schema/code_description.json,sha256=
|
|
53
|
-
pysoda/schema/dataset_description.json,sha256=
|
|
54
|
-
pysoda/schema/manifest.json,sha256=
|
|
55
|
-
pysoda/schema/performances.json,sha256=
|
|
56
|
-
pysoda/schema/resources.json,sha256=
|
|
57
|
-
pysoda/schema/samples.json,sha256=
|
|
58
|
-
pysoda/schema/sites.json,sha256=
|
|
53
|
+
pysoda/schema/code_description.json,sha256=UhZjGNp1LLA035FhBm0ThmKWoQzlYc6R51TTGtba6qM,20607
|
|
54
|
+
pysoda/schema/dataset_description.json,sha256=hhVLzKm4B-WCROkxbV8THsHPjP_1pIJLynBdEH-0uaA,10298
|
|
55
|
+
pysoda/schema/manifest.json,sha256=u78jhXWEmp_fR_2TLyvorWP3fUNTATFj6AgmeYwKwwo,3043
|
|
56
|
+
pysoda/schema/performances.json,sha256=2d8l9SrNVpHlrbHqw6qEwMG0i7DMvFybm5IqcOcg6LA,1927
|
|
57
|
+
pysoda/schema/resources.json,sha256=og4bKPecUp4Z9Iag_EDrs8LRaznfT3XbDW4Anqi0Wj0,1349
|
|
58
|
+
pysoda/schema/samples.json,sha256=sXMxp_8LvvrWTQKm_qraLZPNIb0WO7ZpPaA6fXRIcgk,4255
|
|
59
|
+
pysoda/schema/sites.json,sha256=wmpjuPpwdmqUvh094NUgjhia0aNzKxTgM8MpnIVzecU,1288
|
|
59
60
|
pysoda/schema/soda_schema.json,sha256=QSe8G39wOMO5wS_MUU0mW6yeM4etufACE6iuAzZMBoA,19290
|
|
60
|
-
pysoda/schema/subjects.json,sha256=
|
|
61
|
-
pysoda/schema/submission_schema.json,sha256
|
|
61
|
+
pysoda/schema/subjects.json,sha256=Dmst7DFzrmuZGW6rkBlwR6MWFAAucgGkZrs6EAHYcTA,6062
|
|
62
|
+
pysoda/schema/submission_schema.json,sha256=-ASgTEHjGtBQhrEN5P78DFAEIo8VGstftfcb0sk2F7U,1609
|
|
62
63
|
pysoda/utils/__init__.py,sha256=cdrc-Ueb7djdA9rPl5FR3nsinCxfOB9lbOhicNCbeCY,1243
|
|
63
64
|
pysoda/utils/authentication.py,sha256=Ed6xXaCSyi23qGz_LkdDB-Cjum5G5az_tMhSWKBGVSY,11943
|
|
64
65
|
pysoda/utils/config.py,sha256=8UC0j89ihuMnPCwl9bTVUupC9Kg_39ly9Hju5W4OmWo,2471
|
|
65
|
-
pysoda/utils/exceptions.py,sha256=
|
|
66
|
+
pysoda/utils/exceptions.py,sha256=mvGgfag0KN7GvSqb75RkY3eZsGSlfCnjxgSNERxsAmc,5068
|
|
66
67
|
pysoda/utils/logger.py,sha256=fxqJoqxe_wdVTq7IXN5QsWSC-z7mSfsLaJsKU9-UhqA,211
|
|
67
68
|
pysoda/utils/metadata_utils.py,sha256=nCQc24biSsrpnXbjXiZEtISWkfBS-CV00sv5MMydoww,1804
|
|
68
|
-
pysoda/utils/pennsieveAgentUtils.py,sha256=
|
|
69
|
+
pysoda/utils/pennsieveAgentUtils.py,sha256=yoHYBl2EXmLA0Ty-zrYG8LYhofnR8II9OkcE2c6EGqE,1439
|
|
69
70
|
pysoda/utils/pennsieveUtils.py,sha256=B_L2NicOR3eQin0sd7TsRLWNDSxhSxyGgUJCGoWBVkM,4622
|
|
70
71
|
pysoda/utils/profile.py,sha256=di4D_IE1rGSfHl0-SRVjrJK2bCdedW4ugp0W-j1HarQ,937
|
|
71
72
|
pysoda/utils/schema_validation.py,sha256=3w3FRPyn4P3xMhITzItk-jYte8TTlNrgCWmY-s05x9Y,4438
|
|
72
73
|
pysoda/utils/time_utils.py,sha256=g5848bivtzWj6TDoWo6CcohF-THxShETP4qTyHTjBWw,131
|
|
73
74
|
pysoda/utils/upload_utils.py,sha256=-BCvfXsJSFqnwEZVCFQX1PLfkdeW0gyGLjLGW6Uxdf8,4607
|
|
74
|
-
pysodafair-0.1.
|
|
75
|
-
pysodafair-0.1.
|
|
76
|
-
pysodafair-0.1.
|
|
77
|
-
pysodafair-0.1.
|
|
75
|
+
pysodafair-0.1.68.dist-info/METADATA,sha256=8qrQ_Rks5WrW_lZifAyehbKo6s-MNhNOWIuGwQZmQuA,6861
|
|
76
|
+
pysodafair-0.1.68.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
77
|
+
pysodafair-0.1.68.dist-info/licenses/LICENSE,sha256=Jlt0uGnx87qPRGXPQHsBkg_S7MOsYS2E9Rh1zy47bfw,1082
|
|
78
|
+
pysodafair-0.1.68.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|