metafold 0.8.dev1__tar.gz → 0.8.dev3__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 (29) hide show
  1. {metafold-0.8.dev1 → metafold-0.8.dev3}/PKG-INFO +3 -2
  2. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/assets.py +4 -0
  3. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/jobs.py +5 -0
  4. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/workflows.py +2 -0
  5. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold.egg-info/PKG-INFO +3 -2
  6. {metafold-0.8.dev1 → metafold-0.8.dev3}/pyproject.toml +1 -1
  7. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_assets.py +12 -0
  8. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_jobs.py +16 -0
  9. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_workflows.py +6 -0
  10. {metafold-0.8.dev1 → metafold-0.8.dev3}/LICENSE +0 -0
  11. {metafold-0.8.dev1 → metafold-0.8.dev3}/README.md +0 -0
  12. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/__init__.py +0 -0
  13. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/api.py +0 -0
  14. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/auth.py +0 -0
  15. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/client.py +0 -0
  16. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/exceptions.py +0 -0
  17. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/func.py +0 -0
  18. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/func_types.py +0 -0
  19. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/nx.py +0 -0
  20. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/projects.py +0 -0
  21. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold/utils.py +0 -0
  22. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold.egg-info/SOURCES.txt +0 -0
  23. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold.egg-info/dependency_links.txt +0 -0
  24. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold.egg-info/requires.txt +0 -0
  25. {metafold-0.8.dev1 → metafold-0.8.dev3}/metafold.egg-info/top_level.txt +0 -0
  26. {metafold-0.8.dev1 → metafold-0.8.dev3}/setup.cfg +0 -0
  27. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_func.py +0 -0
  28. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_projects.py +0 -0
  29. {metafold-0.8.dev1 → metafold-0.8.dev3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: metafold
3
- Version: 0.8.dev1
3
+ Version: 0.8.dev3
4
4
  Summary: Metafold SDK for Python
5
5
  Author-email: Metafold 3D <info@metafold3d.com>
6
6
  License: Copyright 2024 Metafold 3D
@@ -46,6 +46,7 @@ Requires-Dist: requests-toolbelt~=1.0; extra == "test"
46
46
  Provides-Extra: networkx
47
47
  Requires-Dist: networkx~=3.2; extra == "networkx"
48
48
  Requires-Dist: types-networkx~=3.2; extra == "networkx"
49
+ Dynamic: license-file
49
50
 
50
51
  # Metafold SDK for Python
51
52
 
@@ -19,6 +19,8 @@ class Asset:
19
19
  checksum: File checksum.
20
20
  created: Asset creation datetime.
21
21
  modified: Asset last modified datetime.
22
+ project_id: Project ID.
23
+ job_id: Job ID.
22
24
  """
23
25
  id: str
24
26
  filename: str
@@ -26,6 +28,8 @@ class Asset:
26
28
  checksum: str
27
29
  created: datetime = field(converter=asdatetime)
28
30
  modified: datetime = field(converter=asdatetime)
31
+ project_id: str
32
+ job_id: Optional[str] = None
29
33
 
30
34
 
31
35
  class AssetsEndpoint:
@@ -61,6 +61,9 @@ class Job:
61
61
  error: Error message for failed jobs.
62
62
  inputs: Input assets and parameters.
63
63
  outputs: Output assets and parameters.
64
+ needs: List of upstream job IDs in a workflow graph.
65
+ project_id: Project ID.
66
+ workflow_id: Workflow ID.
64
67
  assets: (Deprecated) List of generated asset resources.
65
68
  parameters: (Deprecated) Job parameters.
66
69
  meta: (Deprecated) Additional metadata generated by the job.
@@ -78,6 +81,8 @@ class Job:
78
81
  inputs: IO = field(converter=lambda v: v if isinstance(v, IO) else IO.from_dict(v))
79
82
  outputs: IO = field(converter=lambda v: v if isinstance(v, IO) else IO.from_dict(v))
80
83
  needs: list[str]
84
+ project_id: Optional[str] = None
85
+ workflow_id: Optional[str] = None
81
86
  # NOTE(ryan): Deprecated
82
87
  assets: Optional[list[Asset]] = field(
83
88
  converter=lambda v: optional(_assets)(v), default=None)
@@ -19,6 +19,7 @@ class Workflow:
19
19
  started: Workflow started datetime.
20
20
  finished: Workflow finished datetime.
21
21
  definition: Workflow definition string.
22
+ project_id: Project ID.
22
23
  """
23
24
  id: str
24
25
  jobs: list[str] = field(factory=list)
@@ -29,6 +30,7 @@ class Workflow:
29
30
  finished: Optional[datetime] = field(
30
31
  converter=lambda v: optional_datetime(v), default=None)
31
32
  definition: str
33
+ project_id: str
32
34
 
33
35
 
34
36
  class WorkflowsEndpoint:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: metafold
3
- Version: 0.8.dev1
3
+ Version: 0.8.dev3
4
4
  Summary: Metafold SDK for Python
5
5
  Author-email: Metafold 3D <info@metafold3d.com>
6
6
  License: Copyright 2024 Metafold 3D
@@ -46,6 +46,7 @@ Requires-Dist: requests-toolbelt~=1.0; extra == "test"
46
46
  Provides-Extra: networkx
47
47
  Requires-Dist: networkx~=3.2; extra == "networkx"
48
48
  Requires-Dist: types-networkx~=3.2; extra == "networkx"
49
+ Dynamic: license-file
49
50
 
50
51
  # Metafold SDK for Python
51
52
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "metafold"
7
- version = "0.8.dev1"
7
+ version = "0.8.dev3"
8
8
  authors = [
9
9
  {name = "Metafold 3D", email = "info@metafold3d.com"},
10
10
  ]
@@ -24,6 +24,8 @@ asset_list = [
24
24
  "checksum": "sha256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
25
25
  "created": "Mon, 01 Jan 2024 00:00:00 GMT",
26
26
  "modified": "Mon, 01 Jan 2024 00:00:00 GMT",
27
+ "project_id": "1",
28
+ "job_id": None,
27
29
  },
28
30
  {
29
31
  "id": "2",
@@ -32,6 +34,8 @@ asset_list = [
32
34
  "checksum": "sha256:6310a5951d58eb3e0fdd8c8767c606615552899e65019cb1582508a7c7bfec39",
33
35
  "created": "Mon, 01 Jan 2024 00:00:00 GMT",
34
36
  "modified": "Mon, 01 Jan 2024 00:00:00 GMT",
37
+ "project_id": "1",
38
+ "job_id": None,
35
39
  },
36
40
  {
37
41
  "id": "1",
@@ -40,6 +44,8 @@ asset_list = [
40
44
  "checksum": "sha256:6310a5951d58eb3e0fdd8c8767c606615552899e65019cb1582508a7c7bfec39",
41
45
  "created": "Mon, 01 Jan 2024 00:00:00 GMT",
42
46
  "modified": "Mon, 01 Jan 2024 00:00:00 GMT",
47
+ "project_id": "1",
48
+ "job_id": None,
43
49
  },
44
50
  ]
45
51
 
@@ -50,6 +56,8 @@ new_asset = {
50
56
  "checksum": "sha256:089ad5bf4831b6758e9907db43bc5ebba2e9248a9929dad6132c49932e538278",
51
57
  "created": "Mon, 01 Jan 2024 00:00:00 GMT",
52
58
  "modified": "Mon, 01 Jan 2024 00:00:00 GMT",
59
+ "project_id": "1",
60
+ "job_id": None,
53
61
  }
54
62
 
55
63
 
@@ -149,6 +157,8 @@ def test_get_asset(client):
149
157
  checksum="sha256:6310a5951d58eb3e0fdd8c8767c606615552899e65019cb1582508a7c7bfec39",
150
158
  created=default_dt,
151
159
  modified=default_dt,
160
+ project_id="1",
161
+ job_id=None,
152
162
  )
153
163
 
154
164
 
@@ -168,6 +178,8 @@ def test_create_asset(client):
168
178
  checksum="sha256:089ad5bf4831b6758e9907db43bc5ebba2e9248a9929dad6132c49932e538278",
169
179
  created=default_dt,
170
180
  modified=default_dt,
181
+ project_id="1",
182
+ job_id=None,
171
183
  )
172
184
 
173
185
 
@@ -22,6 +22,7 @@ asset_json = {
22
22
  "checksum": "sha256:6310a5951d58eb3e0fdd8c8767c606615552899e65019cb1582508a7c7bfec39",
23
23
  "created": "Mon, 01 Jan 2024 00:00:00 GMT",
24
24
  "modified": "Mon, 01 Jan 2024 00:00:00 GMT",
25
+ "project_id": "1",
25
26
  }
26
27
 
27
28
  asset_obj = Asset(
@@ -31,6 +32,7 @@ asset_obj = Asset(
31
32
  checksum="sha256:6310a5951d58eb3e0fdd8c8767c606615552899e65019cb1582508a7c7bfec39",
32
33
  created=default_dt,
33
34
  modified=default_dt,
35
+ project_id="1",
34
36
  )
35
37
 
36
38
  # Default sort order is descending by id
@@ -51,6 +53,8 @@ job_list = [
51
53
  "params": None,
52
54
  },
53
55
  "needs": [],
56
+ "project_id": "1",
57
+ "workflow_id": None,
54
58
  "parameters": default_params,
55
59
  "meta": None,
56
60
  },
@@ -70,6 +74,8 @@ job_list = [
70
74
  "params": None,
71
75
  },
72
76
  "needs": [],
77
+ "project_id": "1",
78
+ "workflow_id": None,
73
79
  "parameters": default_params,
74
80
  "meta": None,
75
81
  },
@@ -89,6 +95,8 @@ job_list = [
89
95
  "params": None,
90
96
  },
91
97
  "needs": [],
98
+ "project_id": "1",
99
+ "workflow_id": None,
92
100
  "parameters": default_params,
93
101
  "meta": None,
94
102
  },
@@ -113,6 +121,8 @@ new_job = {
113
121
  "params": None,
114
122
  },
115
123
  "needs": [],
124
+ "project_id": "1",
125
+ "workflow_id": None,
116
126
  "assets": [],
117
127
  "parameters": {
118
128
  "foo": "1",
@@ -229,6 +239,8 @@ def test_get_job(client):
229
239
  inputs=IO(params=default_params),
230
240
  outputs=IO(),
231
241
  needs=[],
242
+ project_id="1",
243
+ workflow_id=None,
232
244
  assets=[asset_obj],
233
245
  parameters=default_params,
234
246
  meta=None,
@@ -253,6 +265,8 @@ def test_run_job(client):
253
265
  inputs=IO(params=params),
254
266
  outputs=IO(),
255
267
  needs=[],
268
+ project_id="1",
269
+ workflow_id=None,
256
270
  assets=[asset_obj],
257
271
  parameters=params,
258
272
  meta=None,
@@ -280,6 +294,8 @@ def test_poll_job(client):
280
294
  inputs=IO(params=params),
281
295
  outputs=IO(),
282
296
  needs=[],
297
+ project_id="1",
298
+ workflow_id=None,
283
299
  assets=[asset_obj],
284
300
  parameters=params,
285
301
  meta=None,
@@ -19,6 +19,7 @@ workflow_list = [
19
19
  "started": "Mon, 01 Jan 2024 00:00:00 GMT",
20
20
  "finished": "Mon, 01 Jan 2024 00:00:00 GMT",
21
21
  "definition": "...",
22
+ "project_id": "1",
22
23
  },
23
24
  {
24
25
  "id": "2",
@@ -28,6 +29,7 @@ workflow_list = [
28
29
  "started": "Mon, 01 Jan 2024 00:00:00 GMT",
29
30
  "finished": "Mon, 01 Jan 2024 00:00:00 GMT",
30
31
  "definition": "...",
32
+ "project_id": "1",
31
33
  },
32
34
  {
33
35
  "id": "1",
@@ -37,6 +39,7 @@ workflow_list = [
37
39
  "started": "Mon, 01 Jan 2024 00:00:00 GMT",
38
40
  "finished": "Mon, 01 Jan 2024 00:00:00 GMT",
39
41
  "definition": "...",
42
+ "project_id": "1",
40
43
  },
41
44
  ]
42
45
 
@@ -47,6 +50,7 @@ new_workflow = {
47
50
  "started": "Mon, 01 Jan 2024 00:00:00 GMT",
48
51
  "finished": "Mon, 01 Jan 2024 00:00:00 GMT",
49
52
  "definition": "foo",
53
+ "project_id": "1",
50
54
  }
51
55
 
52
56
  poll_count: int = 0
@@ -134,6 +138,7 @@ def test_get_workflow(client):
134
138
  started=default_dt,
135
139
  finished=default_dt,
136
140
  definition="...",
141
+ project_id="1",
137
142
  )
138
143
 
139
144
 
@@ -148,4 +153,5 @@ def test_run_workflow(client):
148
153
  started=default_dt,
149
154
  finished=default_dt,
150
155
  definition=definition,
156
+ project_id="1",
151
157
  )
File without changes
File without changes
File without changes
File without changes
File without changes