streamlit-octostar-utils 0.5.0.dev3__tar.gz → 0.5.0.dev4__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.
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/PKG-INFO +1 -1
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/pyproject.toml +1 -1
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/nifi.py +46 -17
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/LICENSE +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/README.md +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/celery.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/contents.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/fastapi.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parallelism.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/combine_fields.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/entities_parser.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/generics.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/info.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/linkchart_functions.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/matches.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/parameters.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/rules.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/api_crafter/parser/signals.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/dict.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/filetypes.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/threading/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/threading/key_queue.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/core/timestamp.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/nlp/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/nlp/custom_recognizers.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/nlp/language.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/nlp/ner.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/octostar/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/octostar/client.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/octostar/context.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/octostar/permissions.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/ontology/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/ontology/inheritance.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/ontology/relationships.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/ontology/validation.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/style/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/style/common.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/threading/__init__.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/threading/async_task_manager.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/threading/session_callback_manager.py +0 -0
- {streamlit_octostar_utils-0.5.0.dev3 → streamlit_octostar_utils-0.5.0.dev4}/streamlit_octostar_utils/threading/session_state_hot_swapper.py +0 -0
|
@@ -73,7 +73,7 @@ class NifiEntityModel(BaseModel):
|
|
|
73
73
|
relationships: List[str]
|
|
74
74
|
label_keys: List[str]
|
|
75
75
|
|
|
76
|
-
jwt: str
|
|
76
|
+
jwt: Optional[str] = None
|
|
77
77
|
ontology_name: str
|
|
78
78
|
ontology_info: OntologyInfoModel
|
|
79
79
|
entity_timestamp: Optional[str]
|
|
@@ -1186,6 +1186,48 @@ class NifiEntity(object):
|
|
|
1186
1186
|
self.children.append(child_entity_proxy)
|
|
1187
1187
|
return child_entity_proxy
|
|
1188
1188
|
|
|
1189
|
+
def prepare_contents(
|
|
1190
|
+
self,
|
|
1191
|
+
file: Union[Contents, bytes],
|
|
1192
|
+
entity_type: str,
|
|
1193
|
+
filetype: str,
|
|
1194
|
+
temp_blob_key: Optional[str] = None,
|
|
1195
|
+
) -> Contents:
|
|
1196
|
+
"""Build a Contents object from raw bytes, mirroring the same
|
|
1197
|
+
MemoryContents / TemporaryAttachmentContents logic used internally.
|
|
1198
|
+
|
|
1199
|
+
Thread-safe: each call creates independent objects keyed by
|
|
1200
|
+
*temp_blob_key* (for large blobs) and does not mutate the entity tree.
|
|
1201
|
+
The returned Contents can later be passed to ``add_child_fragment``
|
|
1202
|
+
or ``add_child_file`` to skip the redundant bytes→Contents conversion.
|
|
1203
|
+
|
|
1204
|
+
Args:
|
|
1205
|
+
file: A Contents object (returned as-is) or raw bytes.
|
|
1206
|
+
entity_type: Concept / entity type for the contents metadata.
|
|
1207
|
+
filetype: MIME type for the contents metadata.
|
|
1208
|
+
temp_blob_key: Unique key for the temporary blob when the data
|
|
1209
|
+
exceeds the in-memory threshold. Defaults to a random UUID.
|
|
1210
|
+
"""
|
|
1211
|
+
if isinstance(file, Contents):
|
|
1212
|
+
return file
|
|
1213
|
+
if len(file) <= MAX_IN_MEMORY_SIZE_BYTES:
|
|
1214
|
+
return MemoryContents(
|
|
1215
|
+
entity_type=entity_type,
|
|
1216
|
+
filetype=filetype,
|
|
1217
|
+
initial_data=file,
|
|
1218
|
+
)
|
|
1219
|
+
temp_filename = temp_blob_key or f"tmp_{uuid.uuid4()}"
|
|
1220
|
+
temp_contents = TemporaryAttachmentContents(
|
|
1221
|
+
entity_type=entity_type,
|
|
1222
|
+
filetype=filetype,
|
|
1223
|
+
filename=temp_filename,
|
|
1224
|
+
client=self.context.client,
|
|
1225
|
+
)
|
|
1226
|
+
temp_contents.truncate(0)
|
|
1227
|
+
temp_contents.write(file)
|
|
1228
|
+
temp_contents.flush()
|
|
1229
|
+
return temp_contents
|
|
1230
|
+
|
|
1189
1231
|
def _add_child_attachable(
|
|
1190
1232
|
self,
|
|
1191
1233
|
os_workspace,
|
|
@@ -1213,24 +1255,11 @@ class NifiEntity(object):
|
|
|
1213
1255
|
)
|
|
1214
1256
|
if isinstance(file, Contents):
|
|
1215
1257
|
child_entity._contents = file
|
|
1216
|
-
elif len(file) <= MAX_IN_MEMORY_SIZE_BYTES:
|
|
1217
|
-
child_entity._contents = MemoryContents(
|
|
1218
|
-
entity_type=os_entity_type,
|
|
1219
|
-
filetype=filetype,
|
|
1220
|
-
initial_data=file,
|
|
1221
|
-
)
|
|
1222
1258
|
else:
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
filetype=filetype,
|
|
1227
|
-
filename=temp_filename,
|
|
1228
|
-
client=self.context.client,
|
|
1259
|
+
child_entity._contents = self.prepare_contents(
|
|
1260
|
+
file, os_entity_type, filetype,
|
|
1261
|
+
temp_blob_key=f"tmp_{child_entity.record['os_entity_uid']}",
|
|
1229
1262
|
)
|
|
1230
|
-
temp_contents.truncate(0)
|
|
1231
|
-
temp_contents.write(file)
|
|
1232
|
-
temp_contents.flush()
|
|
1233
|
-
child_entity._contents = temp_contents
|
|
1234
1263
|
child_entity.sync_params = recursive_update_dict(
|
|
1235
1264
|
child_entity.sync_params,
|
|
1236
1265
|
{NifiContextManager.SyncFlag.WRITE_CONTENTS: True},
|
|
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
|
|
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
|
|
File without changes
|