naas-abi-core 1.5.0__tar.gz → 1.5.1__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 (127) hide show
  1. naas_abi_core-1.5.1/=0.9.13 +6 -0
  2. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/CHANGELOG.md +3 -0
  3. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/PKG-INFO +1 -1
  4. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/onto2py/onto2py.py +21 -4
  5. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/pyproject.toml +1 -1
  6. naas_abi_core-1.5.0/=0.9.13 +0 -6
  7. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/.gitignore +0 -0
  8. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/README.md +0 -0
  9. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/assets/favicon.ico +0 -0
  10. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/assets/logo.png +0 -0
  11. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/__init__.py +0 -0
  12. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/api/api.py +0 -0
  13. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/api/api_test.py +0 -0
  14. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/api/openapi_doc.py +0 -0
  15. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/mcp/Dockerfile.mcp +0 -0
  16. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/mcp/mcp_server.py +0 -0
  17. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/mcp/mcp_server_test.py +0 -0
  18. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/terminal_agent/main.py +0 -0
  19. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/apps/terminal_agent/terminal_style.py +0 -0
  20. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/Engine.py +0 -0
  21. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/EngineProxy.py +0 -0
  22. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/Engine_test.py +0 -0
  23. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/IEngine.py +0 -0
  24. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/conftest.py +0 -0
  25. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration.py +0 -0
  26. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_Deploy.py +0 -0
  27. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_GenericLoader.py +0 -0
  28. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_ObjectStorageService.py +0 -0
  29. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_ObjectStorageService_test.py +0 -0
  30. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_SecretService.py +0 -0
  31. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_SecretService_test.py +0 -0
  32. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_TripleStoreService.py +0 -0
  33. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_TripleStoreService_test.py +0 -0
  34. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_VectorStoreService.py +0 -0
  35. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_VectorStoreService_test.py +0 -0
  36. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/EngineConfiguration_test.py +0 -0
  37. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_configuration/utils/PydanticModelValidator.py +0 -0
  38. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_loaders/EngineModuleLoader.py +0 -0
  39. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_loaders/EngineOntologyLoader.py +0 -0
  40. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/engine/engine_loaders/EngineServiceLoader.py +0 -0
  41. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/integration/__init__.py +0 -0
  42. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/integration/integration.py +0 -0
  43. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/models/Model.py +0 -0
  44. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/models/OpenRouter.py +0 -0
  45. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/models/OpenRouter_test.py +0 -0
  46. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/module/Module.py +0 -0
  47. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/module/ModuleAgentLoader.py +0 -0
  48. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/module/ModuleUtils.py +0 -0
  49. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/modules/templatablesparqlquery/README.md +0 -0
  50. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/modules/templatablesparqlquery/__init__.py +0 -0
  51. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/modules/templatablesparqlquery/ontologies/TemplatableSparqlQueryOntology.ttl +0 -0
  52. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/modules/templatablesparqlquery/workflows/GenericWorkflow.py +0 -0
  53. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/modules/templatablesparqlquery/workflows/TemplatableSparqlQueryLoader.py +0 -0
  54. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/pipeline/__init__.py +0 -0
  55. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/pipeline/pipeline.py +0 -0
  56. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/__init__.py +0 -0
  57. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/Agent.py +0 -0
  58. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/AgentMemory_test.py +0 -0
  59. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/Agent_test.py +0 -0
  60. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/IntentAgent.py +0 -0
  61. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/IntentAgent_test.py +0 -0
  62. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/beta/Embeddings.py +0 -0
  63. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/beta/IntentMapper.py +0 -0
  64. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/beta/LocalModel.py +0 -0
  65. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/beta/VectorStore.py +0 -0
  66. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/test_agent_memory.py +0 -0
  67. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/agent/test_postgres_integration.py +0 -0
  68. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/cache/CacheFactory.py +0 -0
  69. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/cache/CachePort.py +0 -0
  70. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/cache/CacheService.py +0 -0
  71. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/cache/CacheService_test.py +0 -0
  72. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/cache/adapters/secondary/CacheFSAdapter.py +0 -0
  73. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/ObjectStorageFactory.py +0 -0
  74. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/ObjectStoragePort.py +0 -0
  75. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/ObjectStorageService.py +0 -0
  76. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterFS.py +0 -0
  77. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterNaas.py +0 -0
  78. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterS3.py +0 -0
  79. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/ontology/OntologyPorts.py +0 -0
  80. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/ontology/OntologyService.py +0 -0
  81. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/ontology/adaptors/secondary/OntologyService_SecondaryAdaptor_NERPort.py +0 -0
  82. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/Secret.py +0 -0
  83. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/SecretPorts.py +0 -0
  84. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/Secret_test.py +0 -0
  85. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/adaptors/secondary/Base64Secret.py +0 -0
  86. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/adaptors/secondary/Base64Secret_test.py +0 -0
  87. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/adaptors/secondary/NaasSecret.py +0 -0
  88. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/adaptors/secondary/NaasSecret_test.py +0 -0
  89. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/secret/adaptors/secondary/dotenv_secret_secondaryadaptor.py +0 -0
  90. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/TripleStoreFactory.py +0 -0
  91. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/TripleStorePorts.py +0 -0
  92. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/TripleStoreService.py +0 -0
  93. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/AWSNeptune.py +0 -0
  94. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/AWSNeptune_test.py +0 -0
  95. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/Oxigraph.py +0 -0
  96. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/Oxigraph_test.py +0 -0
  97. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/TripleStoreService__SecondaryAdaptor__Filesystem.py +0 -0
  98. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/TripleStoreService__SecondaryAdaptor__ObjectStorage.py +0 -0
  99. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/triple_store/adaptors/secondary/base/TripleStoreService__SecondaryAdaptor__FileBase.py +0 -0
  100. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/IVectorStorePort.py +0 -0
  101. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/IVectorStorePort_test.py +0 -0
  102. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/VectorStoreFactory.py +0 -0
  103. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/VectorStoreService.py +0 -0
  104. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/VectorStoreService_test.py +0 -0
  105. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/__init__.py +0 -0
  106. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/adapters/QdrantAdapter.py +0 -0
  107. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/services/vector_store/adapters/QdrantAdapter_test.py +0 -0
  108. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/tests/test_services_imports.py +0 -0
  109. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/Expose.py +0 -0
  110. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/Graph.py +0 -0
  111. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/JSON.py +0 -0
  112. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/LazyLoader.py +0 -0
  113. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/Logger.py +0 -0
  114. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/OntologyReasoner.py +0 -0
  115. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/OntologyYaml.py +0 -0
  116. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/SPARQL.py +0 -0
  117. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/Storage.py +0 -0
  118. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/StorageUtils.py +0 -0
  119. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/String.py +0 -0
  120. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/Workers.py +0 -0
  121. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/__init__.py +0 -0
  122. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/onto2py/README.md +0 -0
  123. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/onto2py/__init__.py +0 -0
  124. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/onto2py/__main__.py +0 -0
  125. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/utils/onto2py/tests/ttl2py_test.py +0 -0
  126. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/workflow/__init__.py +0 -0
  127. {naas_abi_core-1.5.0 → naas_abi_core-1.5.1}/naas_abi_core/workflow/workflow.py +0 -0
@@ -0,0 +1,6 @@
1
+ Collecting uv
2
+ Downloading uv-0.9.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
3
+ Downloading uv-0.9.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.3 MB)
4
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.3/23.3 MB 275.6 MB/s 0:00:00
5
+ Installing collected packages: uv
6
+ Successfully installed uv-0.9.26
@@ -2,6 +2,9 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v1.5.1 (2026-01-16)
6
+
7
+
5
8
  ## v1.5.0 (2026-01-15)
6
9
 
7
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naas-abi-core
3
- Version: 1.5.0
3
+ Version: 1.5.1
4
4
  Summary: Abi framework allowing you to build your AI system.
5
5
  Project-URL: Homepage, https://github.com/jupyter-naas/abi
6
6
  Project-URL: Repository, https://github.com/jupyter-naas/abi/tree/main/libs/naas-abi-core
@@ -349,6 +349,7 @@ def generate_python_code(classes: Dict[str, ClassInfo],
349
349
  " \"\"\"Base class for all RDF entities with URI and namespace management\"\"\"",
350
350
  " _namespace: ClassVar[str] = \"http://example.org/instance/\"",
351
351
  " _uri: str = \"\"",
352
+ " _object_properties: ClassVar[set[str]] = set()",
352
353
  " ",
353
354
  " model_config = {",
354
355
  " 'arbitrary_types_allowed': True,",
@@ -381,9 +382,12 @@ def generate_python_code(classes: Dict[str, ClassInfo],
381
382
  " if hasattr(self, '_class_uri'):",
382
383
  " g.add((subject, RDF.type, URIRef(self._class_uri)))",
383
384
  " ",
385
+ " object_props = getattr(self, '_object_properties', set())",
386
+ " ",
384
387
  " # Add properties",
385
388
  " if hasattr(self, '_property_uris'):",
386
389
  " for prop_name, prop_uri in self._property_uris.items():",
390
+ " is_object_prop = prop_name in object_props",
387
391
  " prop_value = getattr(self, prop_name, None)",
388
392
  " if prop_value is not None:",
389
393
  " if isinstance(prop_value, list):",
@@ -392,12 +396,16 @@ def generate_python_code(classes: Dict[str, ClassInfo],
392
396
  " # Add triples from related object",
393
397
  " g += item.rdf()",
394
398
  " g.add((subject, URIRef(prop_uri), URIRef(item._uri)))",
399
+ " elif is_object_prop and isinstance(item, (str, URIRef)):",
400
+ " g.add((subject, URIRef(prop_uri), URIRef(str(item))))",
395
401
  " else:",
396
402
  " g.add((subject, URIRef(prop_uri), Literal(item)))",
397
403
  " elif hasattr(prop_value, 'rdf'):",
398
404
  " # Add triples from related object",
399
405
  " g += prop_value.rdf()",
400
406
  " g.add((subject, URIRef(prop_uri), URIRef(prop_value._uri)))",
407
+ " elif is_object_prop and isinstance(prop_value, (str, URIRef)):",
408
+ " g.add((subject, URIRef(prop_uri), URIRef(str(prop_value))))",
401
409
  " else:",
402
410
  " g.add((subject, URIRef(prop_uri), Literal(prop_value)))",
403
411
  " ",
@@ -541,8 +549,16 @@ def generate_class_code(class_info: ClassInfo) -> List[str]:
541
549
  else:
542
550
  lines.append(" _property_uris: ClassVar[dict] = {}")
543
551
 
544
- if class_info.property_uris:
545
- lines.append("")
552
+ object_prop_names = sorted(
553
+ {prop.name for prop in properties_list if prop.property_type == "object"}
554
+ )
555
+ if object_prop_names:
556
+ names = ", ".join(f"'{name}'" for name in object_prop_names)
557
+ lines.append(f" _object_properties: ClassVar[set[str]] = {{{names}}}")
558
+ else:
559
+ lines.append(" _object_properties: ClassVar[set[str]] = set()")
560
+
561
+ lines.append("")
546
562
 
547
563
  # Add properties grouped by type for readability
548
564
  data_properties = sorted(
@@ -592,10 +608,11 @@ def generate_property_code(prop: PropertyInfo) -> str:
592
608
  # Determine type annotation and Pydantic Field
593
609
  if prop.property_type == 'object' and prop.range_class:
594
610
  if prop.cardinality == 'multiple':
595
- type_annotation = f"List[{prop.range_class}]"
611
+ type_annotation = f"List[Union[str, {prop.range_class}]]"
596
612
  default_value = "Field(default_factory=list)"
597
613
  else:
598
- type_annotation = f"Optional[{prop.range_class}]" if not prop.required else prop.range_class
614
+ inner = f"Union[str, {prop.range_class}]"
615
+ type_annotation = f"Optional[{inner}]" if not prop.required else inner
599
616
  default_value = "Field(default=None)" if not prop.required else "Field(...)"
600
617
  elif prop.property_type == 'data' and prop.datatype:
601
618
  if prop.cardinality == 'multiple':
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "naas-abi-core"
3
- version = "1.5.0"
3
+ version = "1.5.1"
4
4
  description = "Abi framework allowing you to build your AI system."
5
5
  authors = [{ name = "Maxime Jublou", email = "maxime@naas.ai" },{ name = "Florent Ravenel", email = "florent@naas.ai" }, { name = "Jeremy Ravenel", email = "jeremy@naas.ai" }]
6
6
  requires-python = ">=3.10,<4"
@@ -1,6 +0,0 @@
1
- Collecting uv
2
- Downloading uv-0.9.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
3
- Downloading uv-0.9.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.3 MB)
4
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.3/22.3 MB 241.0 MB/s 0:00:00
5
- Installing collected packages: uv
6
- Successfully installed uv-0.9.25
File without changes
File without changes