tinyfan 0.2.7__tar.gz → 0.2.8__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 (58) hide show
  1. {tinyfan-0.2.7 → tinyfan-0.2.8}/PKG-INFO +1 -1
  2. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/getting-started.py +9 -2
  3. {tinyfan-0.2.7 → tinyfan-0.2.8}/pyproject.toml +1 -1
  4. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/codegen.py +36 -26
  5. {tinyfan-0.2.7 → tinyfan-0.2.8}/uv.lock +1 -1
  6. {tinyfan-0.2.7 → tinyfan-0.2.8}/.github/workflows/publish.yml +0 -0
  7. {tinyfan-0.2.7 → tinyfan-0.2.8}/.gitignore +0 -0
  8. {tinyfan-0.2.7 → tinyfan-0.2.8}/.python-version +0 -0
  9. {tinyfan-0.2.7 → tinyfan-0.2.8}/README.md +0 -0
  10. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/README.md +0 -0
  11. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/configmap.yaml +0 -0
  12. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/configs.py +0 -0
  13. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/.python-version +0 -0
  14. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/Dockerfile +0 -0
  15. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/README.md +0 -0
  16. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/pyproject.toml +0 -0
  17. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/src/tinyfan_examples_packaged/__init__.py +0 -0
  18. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/packaged/src/tinyfan_examples_packaged/asset.py +0 -0
  19. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/resource.py +0 -0
  20. {tinyfan-0.2.7 → tinyfan-0.2.8}/examples/secret.yaml +0 -0
  21. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/__init__.py +0 -0
  22. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/argo_typing.py +0 -0
  23. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/cli.py +0 -0
  24. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/config.py +0 -0
  25. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/dagviz.py +0 -0
  26. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/flow.py +0 -0
  27. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/flowrundata.py +0 -0
  28. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/py.typed +0 -0
  29. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/resources/__init__.py +0 -0
  30. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/resources/base.py +0 -0
  31. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/stores/__init__.py +0 -0
  32. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/stores/base.py +0 -0
  33. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/stores/bigquery.py +0 -0
  34. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/stores/gcs_pickle.py +0 -0
  35. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/stores/naive.py +0 -0
  36. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/__init__.py +0 -0
  37. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/embed.py +0 -0
  38. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/exjson.py +0 -0
  39. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/merge.py +0 -0
  40. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/typing.py +0 -0
  41. {tinyfan-0.2.7 → tinyfan-0.2.8}/src/tinyfan/utils/yaml.py +0 -0
  42. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/__init__.py +0 -0
  43. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/codegen_samples/directory/__init__.py +0 -0
  44. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/codegen_samples/directory/asset.py +0 -0
  45. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/codegen_samples/directory/asset2.py +0 -0
  46. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/codegen_samples/singlefile.py +0 -0
  47. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/conftest.py +0 -0
  48. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/helpers.py +0 -0
  49. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/openapi2jsonschema.py +0 -0
  50. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/test_codegen.py +0 -0
  51. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/test_config.py +0 -0
  52. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/test_decorators.py +0 -0
  53. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/__init__.py +0 -0
  54. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/embed_samples/directory/__init__.py +0 -0
  55. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/embed_samples/directory/dep.py +0 -0
  56. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/embed_samples/singlefile.py +0 -0
  57. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/test_embed.py +0 -0
  58. {tinyfan-0.2.7 → tinyfan-0.2.8}/tests/utils/test_exjson.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tinyfan
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: Tiny Argo Workflows python devkit
5
5
  Project-URL: Documentation, https://github.com/eunchuldev/tinyfan#readme
6
6
  Project-URL: Issues, https://github.com/eunchuldev/tinyfan/issues
@@ -9,9 +9,16 @@ def target() -> str:
9
9
  return "world"
10
10
 
11
11
 
12
+ @tinyfan.asset(
13
+ schedule="*/1 * * * *",
14
+ )
15
+ def target2() -> str:
16
+ return "earth"
17
+
18
+
12
19
  @tinyfan.asset()
13
- def greeting(target: str):
14
- print("hello " + target)
20
+ def greeting(target: str, target2: str):
21
+ print("hello " + target, "hello " + target2)
15
22
 
16
23
 
17
24
  @tinyfan.asset(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tinyfan"
3
- version = "0.2.7"
3
+ version = "0.2.8"
4
4
  description = 'Tiny Argo Workflows python devkit'
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -229,11 +229,11 @@ class AssetTree:
229
229
  root_location = get_root_path(list(self.nodes.values())[0].asset.func)
230
230
  source += embed(root_location)
231
231
  if not root_location.endswith(".py"):
232
- source += """{{=join(map(fromJSON(inputs.parameters.moduledata), {"from " + .module + " import " + .name}), "\\n")}}\n"""
232
+ source += """{{=join(map(fromJSON(inputs.parameters.moduledata), {"from " + .module + " import " + .name}), ";")}}\n"""
233
233
  source += "asset = {{inputs.parameters.asset_name}}.asset\n"
234
234
  else:
235
235
  source = (
236
- """{{=join(map(fromJSON(inputs.parameters.moduledata), {"from " + .module + " import " + .name}), "\\n")}}\n"""
236
+ """{{=join(map(fromJSON(inputs.parameters.moduledata), {"from " + .module + " import " + .name}), ";")}}\n"""
237
237
  "asset = {{inputs.parameters.asset_name}}.asset\n"
238
238
  )
239
239
  source += (
@@ -262,23 +262,28 @@ class AssetTree:
262
262
  "workflowSpec": {
263
263
  "entrypoint": "flow",
264
264
  **dropnone({"serviceAccountName": serviceAccountName or self.flow.serviceAccountName}),
265
- "podSpecPatch": yaml_dump(
265
+ **dropnone(
266
266
  {
267
- "containers": [
268
- deepmerge(
269
- {
270
- "name": "main",
271
- "env": [
267
+ "podSpecPatch": (container or self.flow.container)
268
+ and yaml_dump(
269
+ {
270
+ "containers": [
271
+ deepmerge(
272
272
  {
273
- "name": "TINYFAN_SOURCE",
274
- "value": source,
275
- }
276
- ],
277
- },
278
- container or {},
279
- self.flow.container or {},
280
- )
281
- ]
273
+ "name": "main",
274
+ "env": [
275
+ {
276
+ "name": "TINYFAN_SOURCE",
277
+ "value": source,
278
+ }
279
+ ],
280
+ },
281
+ container or {},
282
+ self.flow.container or {},
283
+ )
284
+ ]
285
+ }
286
+ )
282
287
  }
283
288
  ),
284
289
  "templates": [
@@ -339,16 +344,21 @@ class AssetTree:
339
344
  self.flow.container or {},
340
345
  node.asset.container or {},
341
346
  ),
342
- "podSpecPatch": yaml_dump(
347
+ **dropnone(
343
348
  {
344
- "containers": [
345
- deepmerge(
346
- {
347
- "name": "main",
348
- },
349
- node.asset.container or {},
350
- )
351
- ]
349
+ "podSpecPatch": node.asset.container
350
+ and yaml_dump(
351
+ {
352
+ "containers": [
353
+ deepmerge(
354
+ {
355
+ "name": "main",
356
+ },
357
+ node.asset.container,
358
+ )
359
+ ]
360
+ }
361
+ ),
352
362
  }
353
363
  ),
354
364
  "synchronization": {
@@ -784,7 +784,7 @@ wheels = [
784
784
 
785
785
  [[package]]
786
786
  name = "tinyfan"
787
- version = "0.2.7"
787
+ version = "0.2.8"
788
788
  source = { editable = "." }
789
789
  dependencies = [
790
790
  { name = "croniter" },
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