cmem-cmemc 25.2.0__tar.gz → 25.3.0__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 (59) hide show
  1. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/PKG-INFO +2 -2
  2. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/workflow.py +9 -0
  3. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/completion.py +24 -31
  4. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/pyproject.toml +3 -3
  5. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/LICENSE +0 -0
  6. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/README-public.md +0 -0
  7. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/__init__.py +0 -0
  8. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/_cmemc.zsh +0 -0
  9. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/cli.py +0 -0
  10. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/command.py +0 -0
  11. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/command_group.py +0 -0
  12. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/__init__.py +0 -0
  13. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/acl.py +0 -0
  14. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/admin.py +0 -0
  15. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/client.py +0 -0
  16. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/config.py +0 -0
  17. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/dataset.py +0 -0
  18. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/graph.py +0 -0
  19. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/graph_imports.py +0 -0
  20. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/manual.py +0 -0
  21. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/metrics.py +0 -0
  22. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/migration.py +0 -0
  23. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/project.py +0 -0
  24. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/python.py +0 -0
  25. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/query.py +0 -0
  26. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/resource.py +0 -0
  27. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/scheduler.py +0 -0
  28. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/store.py +0 -0
  29. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/user.py +0 -0
  30. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/validation.py +0 -0
  31. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/variable.py +0 -0
  32. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/vocabulary.py +0 -0
  33. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/commands/workspace.py +0 -0
  34. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/config_parser.py +0 -0
  35. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/constants.py +0 -0
  36. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/context.py +0 -0
  37. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/exceptions.py +0 -0
  38. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/manual_helper/__init__.py +0 -0
  39. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/manual_helper/graph.py +0 -0
  40. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/manual_helper/multi_page.py +0 -0
  41. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/manual_helper/single_page.py +0 -0
  42. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/__init__.py +0 -0
  43. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/abc.py +0 -0
  44. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/access_conditions_243.py +0 -0
  45. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/bootstrap_data.py +0 -0
  46. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/remove_noop_triple_251.py +0 -0
  47. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/shapes_widget_integrations_243.py +0 -0
  48. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/sparql_query_texts_242.py +0 -0
  49. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/migrations/workspace_configurations.py +0 -0
  50. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/object_list.py +0 -0
  51. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/parameter_types/__init__.py +0 -0
  52. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/parameter_types/path.py +0 -0
  53. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/placeholder.py +0 -0
  54. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/smart_path/__init__.py +0 -0
  55. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/smart_path/clients/__init__.py +0 -0
  56. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/smart_path/clients/http.py +0 -0
  57. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/string_processor.py +0 -0
  58. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/title_helper.py +0 -0
  59. {cmem_cmemc-25.2.0 → cmem_cmemc-25.3.0}/cmem_cmemc/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: cmem-cmemc
3
- Version: 25.2.0
3
+ Version: 25.3.0
4
4
  Summary: Command line client for eccenca Corporate Memory
5
5
  License: Apache-2.0
6
6
  Author: eccenca
@@ -30,7 +30,7 @@ Requires-Dist: certifi (>=2024.2.2)
30
30
  Requires-Dist: click (>=8.1.8,<8.2.0)
31
31
  Requires-Dist: click-didyoumean (>=0.3.1,<0.4.0)
32
32
  Requires-Dist: click-help-colors (>=0.9.4,<0.10.0)
33
- Requires-Dist: cmem-cmempy (==25.1.0)
33
+ Requires-Dist: cmem-cmempy (==25.2.0)
34
34
  Requires-Dist: configparser (>=7.2.0,<8.0.0)
35
35
  Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
36
36
  Requires-Dist: junit-xml (>=1.9,<2.0)
@@ -51,8 +51,15 @@ FILE_EXTENSIONS_TO_PLUGIN_ID = {
51
51
  ".json": "json",
52
52
  ".xml": "xml",
53
53
  ".txt": "text",
54
+ ".md": "text",
54
55
  ".xlsx": "excel",
55
56
  ".zip": "multiCsv",
57
+ ".pdf": "binaryFile",
58
+ ".png": "binaryFile",
59
+ ".jpg": "binaryFile",
60
+ ".jpeg": "binaryFile",
61
+ ".gif": "binaryFile",
62
+ ".tiff": "binaryFile",
56
63
  }
57
64
 
58
65
  # Derive valid extensions from FILE_EXTENSIONS_TO_PLUGIN_ID keys
@@ -63,6 +70,7 @@ EXTRA_INPUT_MIME_TYPES = [
63
70
  "application/json",
64
71
  "application/xml",
65
72
  "text/csv",
73
+ "application/octet-stream",
66
74
  ]
67
75
 
68
76
  EXTRA_OUTPUT_MIME_TYPES = [
@@ -71,6 +79,7 @@ EXTRA_OUTPUT_MIME_TYPES = [
71
79
  "application/n-triples",
72
80
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
73
81
  "text/csv",
82
+ "application/octet-stream",
74
83
  ]
75
84
 
76
85
  STDOUT_UNSUPPORTED_MIME_TYPES = {
@@ -495,32 +495,6 @@ def installable_packages(ctx: Context, param: Argument, incomplete: str) -> list
495
495
  )
496
496
 
497
497
 
498
- def workflow_io_input_files(ctx: Context, param: Argument, incomplete: str) -> list[CompletionItem]:
499
- """Prepare a list of acceptable workflow io input files."""
500
- return (
501
- file_list(incomplete=incomplete, suffix=".csv", description="CSV Dataset resource")
502
- + file_list(incomplete=incomplete, suffix=".xml", description="XML Dataset resource")
503
- + file_list(incomplete=incomplete, suffix=".json", description="JSON Dataset resource")
504
- + file_list(incomplete=incomplete, suffix=".xlsx", description="Excel Dataset resource")
505
- + file_list(incomplete=incomplete, suffix=".txt", description="Text Dataset resource")
506
- + file_list(incomplete=incomplete, suffix=".zip", description="Multi CSV Dataset resource")
507
- )
508
-
509
-
510
- def workflow_io_input_mimetypes(
511
- ctx: Context, param: Argument, incomplete: str
512
- ) -> list[CompletionItem]:
513
- """Prepare a list of acceptable workflow io input mimetypes."""
514
- return (
515
- file_list(incomplete=incomplete, suffix=".csv", description="CSV Dataset resource")
516
- + file_list(incomplete=incomplete, suffix=".xml", description="XML Dataset resource")
517
- + file_list(incomplete=incomplete, suffix=".json", description="JSON Dataset resource")
518
- + file_list(incomplete=incomplete, suffix=".xlsx", description="Excel Dataset resource")
519
- + file_list(incomplete=incomplete, suffix=".txt", description="Text Dataset resource")
520
- + file_list(incomplete=incomplete, suffix=".zip", description="Multi CSV Dataset resource")
521
- )
522
-
523
-
524
498
  def workflow_io_output_files(
525
499
  ctx: Context, param: Argument, incomplete: str
526
500
  ) -> list[CompletionItem]:
@@ -535,6 +509,18 @@ def workflow_io_output_files(
535
509
  )
536
510
 
537
511
 
512
+ def workflow_io_input_files(ctx: Context, param: Argument, incomplete: str) -> list[CompletionItem]:
513
+ """Prepare a list of acceptable workflow io input files."""
514
+ files = []
515
+ for extension, info in get_dataset_file_mapping().items():
516
+ # handle zip extension separately.
517
+ if extension != ".zip":
518
+ files += file_list(
519
+ incomplete=incomplete, suffix=extension, description=info["description"]
520
+ )
521
+ return files
522
+
523
+
538
524
  def get_dataset_file_mapping() -> dict[str, dict[str, str]]:
539
525
  """Return file extension to type and description mapping"""
540
526
  return {
@@ -547,15 +533,22 @@ def get_dataset_file_mapping() -> dict[str, dict[str, str]]:
547
533
  ".json.zip": {"description": "JSON Dataset resource (zipped)", "type": "json"},
548
534
  ".jsonl": {"description": "JSON Lines Dataset resource", "type": "json"},
549
535
  ".jsonl.zip": {"description": "JSON Lines Dataset resource (zipped)", "type": "json"},
550
- ".yaml": {"description": "YAML Document", "type": "text"},
551
- ".yaml.zip": {"description": "YAML Document (zipped)", "type": "text"},
552
- ".yml": {"description": "YAML Document", "type": "text"},
553
- ".yml.zip": {"description": "YAML Document (zipped)", "type": "text"},
536
+ ".yaml": {"description": "YAML Text Document", "type": "text"},
537
+ ".yaml.zip": {"description": "YAML Text Document (zipped)", "type": "text"},
538
+ ".md": {"description": "Markdown Text Document", "type": "text"},
539
+ ".md.zip": {"description": "Markdown Text Document (zipped)", "type": "text"},
540
+ ".yml": {"description": "YAML Text Document", "type": "text"},
541
+ ".yml.zip": {"description": "YAML Text Document (zipped)", "type": "text"},
554
542
  ".ttl": {"description": "RDF file Dataset resource", "type": "file"},
555
543
  ".orc": {"description": "Apache ORC Dataset resource", "type": "orc"},
556
544
  ".txt": {"description": "Text dataset resource", "type": "text"},
557
545
  ".txt.zip": {"description": "Text dataset resource (zipped)", "type": "text"},
558
- ".zip": {"description": "multiCsv Dataset resource", "type": "multiCsv"},
546
+ ".zip": {"description": "Potential multiCsv Dataset resource", "type": "multiCsv"},
547
+ ".pdf": {"description": "Potential Binary Dataset resource", "type": "binaryFile"},
548
+ ".png": {"description": "Potential Binary Dataset resource", "type": "binaryFile"},
549
+ ".jpg": {"description": "Potential Binary Dataset resource", "type": "binaryFile"},
550
+ ".gif": {"description": "Potential Binary Dataset resource", "type": "binaryFile"},
551
+ ".tiff": {"description": "Potential Binary Dataset resource", "type": "binaryFile"},
559
552
  }
560
553
 
561
554
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cmem-cmemc"
3
- version = "25.2.0"
3
+ version = "25.3.0"
4
4
  description = "Command line client for eccenca Corporate Memory"
5
5
  license = "Apache-2.0"
6
6
  classifiers = [
@@ -35,7 +35,7 @@ certifi = ">=2024.2.2"
35
35
  click = "^8.1.8, <8.2.0"
36
36
  click-didyoumean = "^0.3.1"
37
37
  click-help-colors = "^0.9.4"
38
- cmem-cmempy = "==25.1.0"
38
+ cmem-cmempy = "==25.2.0"
39
39
  # cmem-cmempy = { path = "cmempy", develop = true }
40
40
  configparser = "^7.2.0"
41
41
  jinja2 = "^3.1.6"
@@ -59,7 +59,7 @@ cmemc = 'cmem_cmemc.cli:main'
59
59
 
60
60
  [tool.poetry.group.dev.dependencies]
61
61
  genbadge = {extras = ["coverage"], version = "^1.1.1"}
62
- mypy = "^1.13.0"
62
+ mypy = "1.15.0"
63
63
  pip = "^25"
64
64
  pytest = "^8.3.3"
65
65
  pytest-cov = "^6.0.0"
File without changes