layernext-beta 3.9.2b1__tar.gz → 3.9.2b2__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 (47) hide show
  1. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/PKG-INFO +9 -6
  2. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/__init__.py +8 -4
  3. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/__init__.py +2 -0
  4. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/datalakeinterface.py +1 -0
  5. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext_beta.egg-info/PKG-INFO +9 -6
  6. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext_beta.egg-info/SOURCES.txt +2 -1
  7. layernext_beta-3.9.2b2/tests/test_cli.py +33 -0
  8. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/LICENSE +0 -0
  9. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/README.md +0 -0
  10. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/automatic_analysis/__init__.py +0 -0
  11. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/automatic_analysis/automatic_analysis.py +0 -0
  12. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/automatic_analysis/automatic_analysis_interface.py +0 -0
  13. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/automatic_analysis/status_check_autoannotate_project.py +0 -0
  14. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/automatic_analysis/support.py +0 -0
  15. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/annotation.py +0 -0
  16. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/aws_s3_client.py +0 -0
  17. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/azure_client.py +0 -0
  18. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/constants.py +0 -0
  19. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/dataset.py +0 -0
  20. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/file_trash.py +0 -0
  21. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/file_upload.py +0 -0
  22. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/gcs_client.py +0 -0
  23. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/ground_truth.py +0 -0
  24. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/keys.py +0 -0
  25. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/label.py +0 -0
  26. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/logger.py +0 -0
  27. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/metadata.py +0 -0
  28. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/model_run.py +0 -0
  29. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/mongo_json_encoder.py +0 -0
  30. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/query.py +0 -0
  31. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/storage_client.py +0 -0
  32. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/storage_interface.py +0 -0
  33. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/datalake/storage_upload.py +0 -0
  34. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/dataset/__init__.py +0 -0
  35. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/dataset/dataset.py +0 -0
  36. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/dataset/datasetinterface.py +0 -0
  37. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/dataset/logger.py +0 -0
  38. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/dataset/sync.py +0 -0
  39. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/studio/__init__.py +0 -0
  40. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/studio/logger.py +0 -0
  41. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/studio/project.py +0 -0
  42. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext/studio/studiointerface.py +0 -0
  43. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext_beta.egg-info/dependency_links.txt +0 -0
  44. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext_beta.egg-info/requires.txt +0 -0
  45. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/layernext_beta.egg-info/top_level.txt +0 -0
  46. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/setup.cfg +0 -0
  47. {layernext-beta-3.9.2b1 → layernext_beta-3.9.2b2}/setup.py +0 -0
@@ -1,13 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layernext-beta
3
- Version: 3.9.2b1
3
+ Version: 3.9.2b2
4
4
  Summary: LayerNext Python SDK
5
- Home-page: UNKNOWN
6
5
  Author: LayerNext
7
6
  Author-email: <support@layernext.ai>
8
- License: UNKNOWN
9
7
  Keywords: python,datalake,datasetsync,ai,annotation,layernext,layernext,machine learning
10
- Platform: UNKNOWN
11
8
  Classifier: Development Status :: 1 - Planning
12
9
  Classifier: Intended Audience :: Developers
13
10
  Classifier: Programming Language :: Python :: 3
@@ -16,6 +13,14 @@ Classifier: Operating System :: MacOS :: MacOS X
16
13
  Classifier: Operating System :: Microsoft :: Windows
17
14
  Description-Content-Type: text/markdown
18
15
  License-File: LICENSE
16
+ Requires-Dist: requests
17
+ Requires-Dist: uuid
18
+ Requires-Dist: python-dotenv
19
+ Requires-Dist: azure-storage-blob
20
+ Requires-Dist: tqdm
21
+ Requires-Dist: PyYAML
22
+ Requires-Dist: Deprecated
23
+ Requires-Dist: pymongo
19
24
 
20
25
 
21
26
  # layernext-python-sdk
@@ -40,5 +45,3 @@ url = 'https://api.xxxx.layernext.ai'
40
45
  client = layernext.LayerNextClient(api_key, secret, url)
41
46
 
42
47
  ```
43
-
44
-
@@ -23,7 +23,7 @@ from layernext.datalake.logger import get_debug_logger
23
23
  # Create a package-level logger
24
24
  logger = get_debug_logger(__name__)
25
25
 
26
- __version__ = "3.9.2b1"
26
+ __version__ = "3.9.2b2"
27
27
 
28
28
 
29
29
  class LayerNextClient:
@@ -3143,6 +3143,7 @@ class LayerNextClient:
3143
3143
 
3144
3144
  def query_documents_with_structure(
3145
3145
  self,
3146
+ original_question: str,
3146
3147
  document_categories: List[str],
3147
3148
  document_keywords: List[str],
3148
3149
  user_question: str,
@@ -3209,7 +3210,7 @@ class LayerNextClient:
3209
3210
  unique_names = [doc["uniqueName"] for doc in filtered_doc_list]
3210
3211
 
3211
3212
  document_element_dict = self.find_elements(
3212
- unique_name_list=unique_names, user_question=user_question, chat_id=chat_id
3213
+ unique_name_list=unique_names, original_question=original_question, user_question=user_question, chat_id=chat_id
3213
3214
  )
3214
3215
 
3215
3216
  output_list = self.__prepare_doc_elements_list(
@@ -3240,6 +3241,7 @@ class LayerNextClient:
3240
3241
 
3241
3242
  document_element_dict = self.find_elements(
3242
3243
  unique_name_list=doc_unique_name_list,
3244
+ original_question="",
3243
3245
  user_question=user_question,
3244
3246
  chat_id=chat_id,
3245
3247
  is_target_documents_available=True,
@@ -3513,6 +3515,7 @@ class LayerNextClient:
3513
3515
  def find_elements(
3514
3516
  self,
3515
3517
  unique_name_list: List[str],
3518
+ original_question: str,
3516
3519
  user_question: str,
3517
3520
  chat_id: str,
3518
3521
  is_target_documents_available: bool = False,
@@ -3521,7 +3524,8 @@ class LayerNextClient:
3521
3524
  Find elements of documents given with unique names (object keys) according to the user question
3522
3525
  Parameters:
3523
3526
  unique_name_list: List of document object keys that need to find from
3524
- user_question: Question asked by user
3527
+ original_question: actual question asked by user
3528
+ user_question: query sent by LLM in the single code
3525
3529
  is_target_documents_available: True if target documents are already known (in case of uploading), False if documents were found by keyword match
3526
3530
  Returns: List of dictionaries
3527
3531
  """
@@ -3530,7 +3534,7 @@ class LayerNextClient:
3530
3534
  )
3531
3535
 
3532
3536
  response = _datalake_client.find_elements_from_docs(
3533
- unique_name_list, user_question, is_target_documents_available, chat_id
3537
+ unique_name_list, original_question, user_question, is_target_documents_available, chat_id
3534
3538
  )
3535
3539
 
3536
3540
  return response
@@ -740,12 +740,14 @@ class DatalakeClient:
740
740
  def find_elements_from_docs(
741
741
  self,
742
742
  unique_name_list: List[str],
743
+ original_question: str,
743
744
  user_question: str,
744
745
  is_target_documents_available: bool,
745
746
  chat_id: str,
746
747
  ):
747
748
  payload = {
748
749
  "userQuestion": user_question,
750
+ "originalQuestion": original_question,
749
751
  "objectKeyList": unique_name_list,
750
752
  "isTargetDocumentsExist": is_target_documents_available,
751
753
  "converasationId": chat_id,
@@ -2010,6 +2010,7 @@ class DatalakeInterface:
2010
2010
  if status_code == 200:
2011
2011
  return response.json()
2012
2012
  else:
2013
+ return {"success": False, "message": "Error in find_elements_from_docs"}
2013
2014
  raise Exception(f"{res['error']['message']}")
2014
2015
 
2015
2016
  def extract_doc_content(self, payload: dict):
@@ -1,13 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layernext-beta
3
- Version: 3.9.2b1
3
+ Version: 3.9.2b2
4
4
  Summary: LayerNext Python SDK
5
- Home-page: UNKNOWN
6
5
  Author: LayerNext
7
6
  Author-email: <support@layernext.ai>
8
- License: UNKNOWN
9
7
  Keywords: python,datalake,datasetsync,ai,annotation,layernext,layernext,machine learning
10
- Platform: UNKNOWN
11
8
  Classifier: Development Status :: 1 - Planning
12
9
  Classifier: Intended Audience :: Developers
13
10
  Classifier: Programming Language :: Python :: 3
@@ -16,6 +13,14 @@ Classifier: Operating System :: MacOS :: MacOS X
16
13
  Classifier: Operating System :: Microsoft :: Windows
17
14
  Description-Content-Type: text/markdown
18
15
  License-File: LICENSE
16
+ Requires-Dist: requests
17
+ Requires-Dist: uuid
18
+ Requires-Dist: python-dotenv
19
+ Requires-Dist: azure-storage-blob
20
+ Requires-Dist: tqdm
21
+ Requires-Dist: PyYAML
22
+ Requires-Dist: Deprecated
23
+ Requires-Dist: pymongo
19
24
 
20
25
 
21
26
  # layernext-python-sdk
@@ -40,5 +45,3 @@ url = 'https://api.xxxx.layernext.ai'
40
45
  client = layernext.LayerNextClient(api_key, secret, url)
41
46
 
42
47
  ```
43
-
44
-
@@ -41,4 +41,5 @@ layernext_beta.egg-info/PKG-INFO
41
41
  layernext_beta.egg-info/SOURCES.txt
42
42
  layernext_beta.egg-info/dependency_links.txt
43
43
  layernext_beta.egg-info/requires.txt
44
- layernext_beta.egg-info/top_level.txt
44
+ layernext_beta.egg-info/top_level.txt
45
+ tests/test_cli.py
@@ -0,0 +1,33 @@
1
+ import os
2
+ import layernext
3
+ from dotenv import load_dotenv
4
+
5
+ from layernext.datalake.constants import MediaType
6
+
7
+ load_dotenv() # take environment variables from .env.
8
+
9
+ api_key = os.environ.get('API_KEY')
10
+ secret = os.environ.get('SECRET')
11
+ serverUrl = os.environ.get('LAYERX_URL')
12
+
13
+ client = layernext.LayerNextClient(api_key, secret, serverUrl)
14
+
15
+ # file_path = os.environ.get('FILE_TO_UPLOAD')
16
+ # client.upload_modelrun_from_json('val2017_image', 'Test 1.0.1', file_path, 'rectangle')
17
+ # client.upload_modelrun_from_json('val2017_image', 'Test 1.0.1', file_path, 'polygon')
18
+ # client.upload_modelrun_from_json('val2017_image', 'Test 1.0.1', file_path, 'line')
19
+
20
+ path = "C:/Users/chama/Downloads/testUpload"
21
+ # path = "C:/Users/chama/Downloads/training_set/test"
22
+ collection_type = MediaType.IMAGE.value
23
+ collection_name = ""
24
+ meta_data_object = {
25
+ "Captured Location": "test_location",
26
+ "Camera Id": "aaa",
27
+ "Tags": [
28
+ "#retail"
29
+ ],
30
+ "bird": "flying"
31
+ }
32
+
33
+ # client.file_upload(path, collection_type, collection_name, meta_data_object)