revengai 1.81.2__py3-none-any.whl → 1.85.0__py3-none-any.whl

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.

Potentially problematic release.


This version of revengai might be problematic. Click here for more details.

@@ -1,13 +1,13 @@
1
- revengai/__init__.py,sha256=uOx-PqqA0Vr9S84T4jSPwli84_5FUBLqSh6V0XDzpTA,43147
2
- revengai/api_client.py,sha256=M1XxuR5oOdnOyoK2vlgPmtWb5xWzj2wRCL71jBsd3_M,27670
1
+ revengai/__init__.py,sha256=PC0qsp-xovTuno-1xEpQ6fLMIL60yi1UwtkTWWif48w,43237
2
+ revengai/api_client.py,sha256=J1pGmZsFtjoBi2WM8W_6w6xIFGN_Z1qu9xpi-gphLKY,27670
3
3
  revengai/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- revengai/configuration.py,sha256=RbP0R5sAH1YxQEzODuHHF8zovJWha312HR1zqVfOBSA,18749
4
+ revengai/configuration.py,sha256=4PS822_qFlTBXp4bt-Ck3O0cZaXPdSSOOc2kLCLlkcA,18749
5
5
  revengai/exceptions.py,sha256=IvdI9ZIZ9b2lSSKtIKMQDlG-5UPAedrjm3U4xfmGkso,6385
6
6
  revengai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  revengai/rest.py,sha256=T6Q2dcazhntqm288H33BKC1hf8NVdvmQWgaymlJo158,9376
8
- revengai/api/__init__.py,sha256=KS_1v_pNTcR2cIzEuwGEFq0f_-HmC6aGSgb1qaq2k90,1396
8
+ revengai/api/__init__.py,sha256=ouKXi3c7Z-a9BtW-WbThk2Tspt6o5rnyLY65DWGiTf0,1434
9
9
  revengai/api/analyses_comments_api.py,sha256=L6NuM8bS3NJRt1b3WKdnZlYVE0YgdcZivNwGuQe5Gb4,49575
10
- revengai/api/analyses_core_api.py,sha256=s9PNVMNAYHMS5Hpajqt2PlNpFUXqu2M1fMuYrwemYPM,183698
10
+ revengai/api/analyses_core_api.py,sha256=RZsIrHfm0skMUEYHKiUea7vLYVBbd1G7ghuzMTnppKE,185121
11
11
  revengai/api/analyses_dynamic_execution_api.py,sha256=4vNnupRsuwNVNk7cPa-VFx2nnLtrokJpHu4YUOPwX_o,77682
12
12
  revengai/api/analyses_results_metadata_api.py,sha256=NlwPugWgnvFLcth_p4DRk8kwBk76offi7y9zxHL5mxk,90181
13
13
  revengai/api/analyses_security_checks_api.py,sha256=b1phfsLDO2kvmLaYtGjMVUkHUhRp63EEN3aJvTyX16o,35691
@@ -17,18 +17,19 @@ revengai/api/collections_api.py,sha256=B6QLZ8pzDssu60R9cRF66b6vEn2HFv9z_zHIVSFle
17
17
  revengai/api/confidence_api.py,sha256=1tLfE_uMhK7kHQP3ErkHScJZo1x0pG2-FK_nK_DiFHk,50722
18
18
  revengai/api/external_sources_api.py,sha256=JMyVAoivo6AsgeNekXnSk5BZh02APn9bzojoFzdsCdU,65993
19
19
  revengai/api/firmware_api.py,sha256=IPkGAJ-gxmuNcz2sUM6ip-9N2DZujqLJWwhiLvUQBOA,24150
20
- revengai/api/functions_ai_decompilation_api.py,sha256=JJZREg2Tz5iozNGl48F1vvkGJOrQoIwFFBbQuEghAeU,109824
20
+ revengai/api/functions_ai_decompilation_api.py,sha256=ecFO-ENq9W7EoikKueY3McecKAw2fz44ZchYw6QJ29c,109824
21
21
  revengai/api/functions_block_comments_api.py,sha256=SilDkZYrrJ2_6j-Hh-ZNTUZKp1G9XE9aUwVbDzev5Co,35480
22
- revengai/api/functions_core_api.py,sha256=-g1nwdSqyNvF4Fd3L5h0qeY5neSKHThBhgV-FfSAkoM,150042
22
+ revengai/api/functions_core_api.py,sha256=c-_C24moDb5Eh2TCUEuVd5AkWGwweyt4Ufcliy23yRw,137529
23
23
  revengai/api/functions_data_types_api.py,sha256=Fzu4oI6kTwSE820_cGjr09N_G3uGOa4DUiyPFwOqvx4,73869
24
24
  revengai/api/functions_decompilation_api.py,sha256=nEvYHPFoonmKSAf_t4_voC3SfoDd-O9sisSfA-5hiJo,83262
25
25
  revengai/api/functions_renaming_history_api.py,sha256=L2CDadLnZrA0oNxhJfTSLLiMDz0Z4583Q8zLEj-Ze2I,47441
26
26
  revengai/api/functions_threat_score_api.py,sha256=RYbCaX71r2ssv7VxUrcezT8dSdU5K5ipHD6yR592k6I,23867
27
27
  revengai/api/models_api.py,sha256=bqukeUMctErkaX5mH8Rm3iPKEHQOCx-JT-P8_KV_iP8,11319
28
28
  revengai/api/search_api.py,sha256=Kzo7KfP4nY1-YsoCHxVOQm3Vn89kFjcnUV7oNdaw5z0,65835
29
- revengai/models/__init__.py,sha256=FKjzSnbDp-S01pPLPg4OZ8sXN6fFLF-fxioGYOdJ5SQ,23228
29
+ revengai/api/v1_api.py,sha256=YblSm_5lTCdcW_Gtsx9HOVBNRRYv0XBDf25YbHo3-GE,13671
30
+ revengai/models/__init__.py,sha256=A40qaEs21K8MhzEhH-IEdR3ZnKRzpJkN9_yj-pYnH7I,23238
30
31
  revengai/models/addr.py,sha256=-2N-UQsOiZ0eyEAQ7ssk0of8W2fBrXeYdTZXuVt3SZs,4787
31
- revengai/models/ai_decompilation_rating.py,sha256=_Ucm2tiqUnnb5XjGSwAJ18ID0eZvGjVRqk-mL0SwJAI,698
32
+ revengai/models/ai_decompilation_rating.py,sha256=gyay27QJwToUNtK9NARyw731Sg8GFRTufGGUABVYyfo,722
32
33
  revengai/models/ai_unstrip_request.py,sha256=loSXNdHATJmY5yttiUCE-lLEOkuE63qVDTz8U0eCAIc,2596
33
34
  revengai/models/analysis_access_info.py,sha256=CWMzdVGXKeU52gmaV7xQV13jGTqkPGZGyHw_zGtnVoc,2500
34
35
  revengai/models/analysis_config.py,sha256=AHM6VTaWJ69WfbANGqLOYjOmqCrcN-XO5rtv6qU44hY,4861
@@ -37,7 +38,7 @@ revengai/models/analysis_create_response.py,sha256=aaO3-lJ65iBGe5lnyW8exHb9qByDa
37
38
  revengai/models/analysis_detail_response.py,sha256=KPyzlSbu9TU7itVlhGusJVSszrZAkuC8dMg1welYZeM,4170
38
39
  revengai/models/analysis_function_mapping.py,sha256=_8LOSaBOgsFKLeqvoizbU2FSHtekA7aNrM7deIJyM4k,2886
39
40
  revengai/models/analysis_functions.py,sha256=N1TKQuw33I9dw-i07kLus36k2bcAXQVm2oc1Ycfrgdw,3067
40
- revengai/models/analysis_record.py,sha256=L538tQRScvfk9tr3L_Vqo5PiLvK0jAbBTXanLyvmsJc,5013
41
+ revengai/models/analysis_record.py,sha256=DxnERhF-s5AilH804yKtMAOyXhhjWQsq0ned1ji5t5Q,5516
41
42
  revengai/models/analysis_scope.py,sha256=azpsUux2axe4QKwQ4FbW30HbazYYVFP-e68F9zp33-4,668
42
43
  revengai/models/analysis_strings_response.py,sha256=KcqljUjKapdNa_6-uCJ6E2DBiAHWYGDw0VD4l-mtmzY,3177
43
44
  revengai/models/analysis_tags.py,sha256=bVeyZzwnPxmpuXdLk4Jpz0fLsjeRjw0kcBLgeiDvsW4,3663
@@ -45,17 +46,17 @@ revengai/models/analysis_threat_score_data.py,sha256=1bCfJF-PyKsy6tW7JH-RyouW7bH
45
46
  revengai/models/analysis_update_request.py,sha256=J4IulQ18iPHjrDMpLn9_NzMg99_W7jS8eCK17feVAtE,3403
46
47
  revengai/models/analysis_update_tags_request.py,sha256=nrJwzS_Yg3SOkvrRcGW6eWfoG_FZn4l9dAZpRQNbV7A,2436
47
48
  revengai/models/analysis_update_tags_response.py,sha256=KRNesNAW57hCPatnsy7ACBZORuKvWfd2XITFLwqtdbA,2936
48
- revengai/models/ann_function.py,sha256=pq5pSzuebXYIQfYzRQ4Qd9JA8Vjngkv_UjEi2QpwiPk,5146
49
+ revengai/models/app_api_rest_v1_ann_schema_ann_function.py,sha256=5nu-WjnyTP76Rz3IgMjw-YkuGWAlrtWknoiPWje_gec,5556
49
50
  revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py,sha256=x8VdW5OBlfoIoz3IV1HLN-SxeFh7798x6bHIggz7jF8,805
50
51
  revengai/models/app_api_rest_v2_analyses_enums_order_by.py,sha256=Wpv3tfyAeBzN5_jkk4tBtYlJvUn8h0qudg4bvzBtKh8,739
51
52
  revengai/models/app_api_rest_v2_analyses_responses_tag_item.py,sha256=Clh9pPBQKqeqeRiOZG4Fbh77pLPyKMCH3r3nU8Ej0Pc,2921
52
53
  revengai/models/app_api_rest_v2_collections_enums_order_by.py,sha256=IVV9Auj0-HwTYYI0ZvJv-P3ciLOkq0l7MOyy0A5s92I,846
53
54
  revengai/models/app_api_rest_v2_functions_responses_function.py,sha256=tZrWMSf_1tfRg-3P0x5VI-H2njrIMyYazLSIwjzlsoQ,2627
54
55
  revengai/models/app_api_rest_v2_functions_types_function.py,sha256=_5c3oqbCqBO7ubRdycgt6yyxrHCKneibiWlNyoG1Uvc,3869
56
+ revengai/models/app_api_rest_v2_similarity_schema_ann_function.py,sha256=atfQz2txuf_4MdDNFsnZabN_vMOGMnoyDjElT4VeAwY,5258
55
57
  revengai/models/app_services_binary_ann_schema_tag_item.py,sha256=m25sIz8KEsPES0XGjmOZFhmLNLmB-jsakfRUpRfiMks,2977
56
58
  revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py,sha256=9e3LDnw0iNCbowQPFTkNyIqkzsCQyJLZrx6tqRska6o,2562
57
59
  revengai/models/argument.py,sha256=QmWpJiohyzTVC1GLHg1IlgM5QyONnBF6FGK_mOYQL_Y,3148
58
- revengai/models/auto_unstrip_by_group_response.py,sha256=opMbIZGq8GwKSrCit98xMj26UBwio_EJeN-pj-ctq4o,4803
59
60
  revengai/models/auto_unstrip_request.py,sha256=GCFMWRyyNhs3brpXwynAY6xVVQj2Quw2ChjAJLD1w34,3717
60
61
  revengai/models/auto_unstrip_response.py,sha256=g37ANqNsVIM_BCb-kHNDak6E-8fNVUyPOh03YFjm2O8,4737
61
62
  revengai/models/base_response.py,sha256=U1Hwv1TXztjpxHxXGwGk46egAYs49jfzEfr1nTajMjg,4526
@@ -202,6 +203,7 @@ revengai/models/file_hashes.py,sha256=vAjMRVvB9GBGar-FZiV8VkG_h0304S7UNEg0aclT9P
202
203
  revengai/models/file_metadata.py,sha256=BK3oI8Iat5leNewoD8ApE5iH-wrffCAi1lNXbM5RVRE,2954
203
204
  revengai/models/filters.py,sha256=BO4gsERH6_P4gsRcbleZNHFNeyg7N5ir6mTIsQbXwdM,758
204
205
  revengai/models/function_analysis_threat_score_data.py,sha256=QixPeMcTvWOm4-ekkNsiPJkWW0iUePZ6qvAZ-h3Ds5k,3532
206
+ revengai/models/function_batch_ann.py,sha256=85ems0hvPJVsMH89BuT7TPmqxIAVBci5ZPNBEFdN1tw,3291
205
207
  revengai/models/function_block_destination_response.py,sha256=ffcxW67TIbLkO8P8D9_quP7J9T_PIgCZZXNSRIEii0I,3130
206
208
  revengai/models/function_block_response.py,sha256=KxnssvtH_MUvgQH358TfVZofVKyRHQYftMX36N2zdBY,3960
207
209
  revengai/models/function_blocks_response.py,sha256=8Eu3jA9GKCXVNX7viu3OQxJNsqUZMxBlg498eJ9HFA4,4847
@@ -240,7 +242,7 @@ revengai/models/functions_detail_response.py,sha256=FqXTOo1-VqLEadwpYsVvOVDOE1Y8
240
242
  revengai/models/functions_list_rename.py,sha256=OOi3EPhwAcOItGwoRmuybXTxwMrMVxUK3eQg70x-l1E,2990
241
243
  revengai/models/generate_function_data_types.py,sha256=lAr0jb2p0n8wchhOLX9w7ryn7vbY402hGoR4YcG8hhw,3335
242
244
  revengai/models/generation_status_list.py,sha256=q_SaRG3Ut3bgGMJzPehAYt9OH-oramgRQM2ZpAI6mLQ,3501
243
- revengai/models/get_ai_decompilation_rating_response.py,sha256=VOPQgM9-BJ2Vwd92T6CjexIXsn9prm2V5_BYagI53uQ,2634
245
+ revengai/models/get_ai_decompilation_rating_response.py,sha256=_PjBxmVJzKJhxGyBG8DhC48BOKzu3RYWK5MyNJEGElE,2945
244
246
  revengai/models/get_ai_decompilation_task.py,sha256=wRpj3_8dxE0VRz8wzLNSHPl6rvKfONorKIRG_ObGwYk,6080
245
247
  revengai/models/get_public_user_response.py,sha256=OyNV6Gxf7U-b9vWqaolz9Iie-eu2VtpZTTEtrFnHFAY,2518
246
248
  revengai/models/get_user_response.py,sha256=ZQ9005Ji4CbfRHXyuLA9eNa3L-pu-yep6QDLJ9Zu6lE,2961
@@ -255,8 +257,7 @@ revengai/models/list_collection_results.py,sha256=ZYGFTvOQfI234u67tURX8J0jwb6q-A
255
257
  revengai/models/login_request.py,sha256=48uYtkWFL_Q-hN64P1f15ExGJvbab9XLymBtDduQvg0,2684
256
258
  revengai/models/login_response.py,sha256=O35cqntoQ68IdYCBtHTYhPXlDqw8CIlnK-bNjf6QMO0,2461
257
259
  revengai/models/logs.py,sha256=cV_V-xN6q-yTd7eL-X89ugqz5ifWPsFPo6qYFgpS_Pw,2419
258
- revengai/models/matched_function_group.py,sha256=EgFgV_snCIhovFqt6-ioSfusTYuk4JN8FacWicr2O4E,2756
259
- revengai/models/matched_function_suggestion.py,sha256=whvMmEkwgmOiN9fYBAoZj4S21ARwIjevNP42NhdT9Bw,3096
260
+ revengai/models/matched_function_suggestion.py,sha256=eNMKuAyJ94joT5It020lSujrporie50-ii_OCOk3KhY,2900
260
261
  revengai/models/meta_model.py,sha256=GbyFJZ9kwvK1Gqg8QnJ1GHpaMs8cMht6j-MY1k0YSt0,2943
261
262
  revengai/models/model_name.py,sha256=lVKok5pWyLcN1rhq1IYccC7uQQrPdyz1oohYRUMRrmw,1271
262
263
  revengai/models/models_response.py,sha256=Ooo2HYuSI4llHg1wUMmyOsisPAXkPhR1y5BSiKh9ckg,2472
@@ -324,16 +325,15 @@ revengai/models/ttps_data.py,sha256=b6P8ux7Q7poScHZCiRQ1xRyDNb-c28FfxDIkXG9gl8E,
324
325
  revengai/models/ttps_element.py,sha256=6s_k91ASszks5JyUg7qhz0fnCRQhHzsNO_OAwxHRx0Q,3596
325
326
  revengai/models/ttps_occurance.py,sha256=-HjHQO6MAVdkcyEhiOqtx4NPEAjAsll85zHvb_tIbUU,2443
326
327
  revengai/models/type_definition.py,sha256=Cm7-pJokyxCQzwskOzjaL6zaSBIBrRU9n4foy6LmSYI,3122
327
- revengai/models/unstrip_request.py,sha256=WbQfv9VRX1CuV8iI2RYJw8OPBL7PdbIqjK-gq_kKGnM,3240
328
328
  revengai/models/update_function_data_types.py,sha256=LbwjKeNf-2OGieltMJ4kC5JrTCoUyTdbqhZkdMILUgI,3078
329
329
  revengai/models/upload_file_type.py,sha256=dCCoTbdJ_BEjXzUO8THDtMvrVHUipyRSScoy_0tqDUw,715
330
330
  revengai/models/upload_response.py,sha256=ekQ_VFy2u5WJnLWmmxS_sJVjF8qsMBebT10ngH3-xHs,2649
331
- revengai/models/upsert_ai_decomplation_rating_request.py,sha256=29XeqPe0bo4q-Yq3bY-NrRNPUUOdgAoWBlmLLeF3Z58,2620
331
+ revengai/models/upsert_ai_decomplation_rating_request.py,sha256=k1Xc3NSKj3pQCQ45IGMLxZlvroSOK6sEybLCbTVqbZk,2931
332
332
  revengai/models/user_activity_response.py,sha256=-EC33JI-AuYyzAR2ZgywONYUMNMaRJTDLmAAm_zgDwQ,2872
333
333
  revengai/models/vulnerabilities.py,sha256=9t6uoZd3svWyfcZJjmj6zP731Dp47Apb25y8Qtp9p5Y,2968
334
334
  revengai/models/vulnerability.py,sha256=P7rAOAYU5JLLpcRr824-YJgZba5kPb_J9ALV3tSNfLQ,3688
335
335
  revengai/models/vulnerability_type.py,sha256=SyOgfMmELYYc_H84oPkikBpjwngtG5Qw9Q_86a2TPr8,866
336
336
  revengai/models/workspace.py,sha256=chjU62GFvByEmaNd6luMNQVQLP3wlPx1zJgGJ_yyMLA,676
337
- revengai-1.81.2.dist-info/METADATA,sha256=r43LwfROh0d1AD76cbqQyM1AiFt6MOG9XSL-2bieKag,41595
338
- revengai-1.81.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
339
- revengai-1.81.2.dist-info/RECORD,,
337
+ revengai-1.85.0.dist-info/METADATA,sha256=aujkpswxjk1tP3LIN_hl8nfV9jahsm1GVbjDA-fUL9E,41550
338
+ revengai-1.85.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
339
+ revengai-1.85.0.dist-info/RECORD,,
@@ -1,131 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- RevEng.AI API
5
-
6
- RevEng.AI is Similarity Search Engine for executable binaries
7
-
8
- Generated by OpenAPI Generator (https://openapi-generator.tech)
9
-
10
- Do not edit the class manually.
11
- """ # noqa: E501
12
-
13
-
14
- from __future__ import annotations
15
- import pprint
16
- import re # noqa: F401
17
- import json
18
-
19
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
20
- from typing import Any, ClassVar, Dict, List, Optional
21
- from revengai.models.matched_function_group import MatchedFunctionGroup
22
- from typing import Optional, Set
23
- from typing_extensions import Self
24
-
25
- class AutoUnstripByGroupResponse(BaseModel):
26
- """
27
- AutoUnstripByGroupResponse
28
- """ # noqa: E501
29
- progress: Optional[StrictInt] = Field(default=0, description="Progress of the auto-unstrip operation, represented as a percentage")
30
- status: Optional[StrictStr] = None
31
- total_time: Optional[StrictInt] = None
32
- matches_map: Optional[Dict[str, List[MatchedFunctionGroup]]] = None
33
- applied: Optional[StrictBool] = None
34
- __properties: ClassVar[List[str]] = ["progress", "status", "total_time", "matches_map", "applied"]
35
-
36
- model_config = ConfigDict(
37
- populate_by_name=True,
38
- validate_assignment=True,
39
- protected_namespaces=(),
40
- )
41
-
42
-
43
- def to_str(self) -> str:
44
- """Returns the string representation of the model using alias"""
45
- return pprint.pformat(self.model_dump(by_alias=True))
46
-
47
- def to_json(self) -> str:
48
- """Returns the JSON representation of the model using alias"""
49
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
- return json.dumps(self.to_dict())
51
-
52
- @classmethod
53
- def from_json(cls, json_str: str) -> Optional[Self]:
54
- """Create an instance of AutoUnstripByGroupResponse from a JSON string"""
55
- return cls.from_dict(json.loads(json_str))
56
-
57
- def to_dict(self) -> Dict[str, Any]:
58
- """Return the dictionary representation of the model using alias.
59
-
60
- This has the following differences from calling pydantic's
61
- `self.model_dump(by_alias=True)`:
62
-
63
- * `None` is only added to the output dict for nullable fields that
64
- were set at model initialization. Other fields with value `None`
65
- are ignored.
66
- """
67
- excluded_fields: Set[str] = set([
68
- ])
69
-
70
- _dict = self.model_dump(
71
- by_alias=True,
72
- exclude=excluded_fields,
73
- exclude_none=True,
74
- )
75
- # override the default output from pydantic by calling `to_dict()` of each value in matches_map (dict of array)
76
- _field_dict_of_array = {}
77
- if self.matches_map:
78
- for _key_matches_map in self.matches_map:
79
- if self.matches_map[_key_matches_map] is not None:
80
- _field_dict_of_array[_key_matches_map] = [
81
- _item.to_dict() for _item in self.matches_map[_key_matches_map]
82
- ]
83
- _dict['matches_map'] = _field_dict_of_array
84
- # set to None if status (nullable) is None
85
- # and model_fields_set contains the field
86
- if self.status is None and "status" in self.model_fields_set:
87
- _dict['status'] = None
88
-
89
- # set to None if total_time (nullable) is None
90
- # and model_fields_set contains the field
91
- if self.total_time is None and "total_time" in self.model_fields_set:
92
- _dict['total_time'] = None
93
-
94
- # set to None if matches_map (nullable) is None
95
- # and model_fields_set contains the field
96
- if self.matches_map is None and "matches_map" in self.model_fields_set:
97
- _dict['matches_map'] = None
98
-
99
- # set to None if applied (nullable) is None
100
- # and model_fields_set contains the field
101
- if self.applied is None and "applied" in self.model_fields_set:
102
- _dict['applied'] = None
103
-
104
- return _dict
105
-
106
- @classmethod
107
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
108
- """Create an instance of AutoUnstripByGroupResponse from a dict"""
109
- if obj is None:
110
- return None
111
-
112
- if not isinstance(obj, dict):
113
- return cls.model_validate(obj)
114
-
115
- _obj = cls.model_validate({
116
- "progress": obj.get("progress") if obj.get("progress") is not None else 0,
117
- "status": obj.get("status"),
118
- "total_time": obj.get("total_time"),
119
- "matches_map": dict(
120
- (_k,
121
- [MatchedFunctionGroup.from_dict(_item) for _item in _v]
122
- if _v is not None
123
- else None
124
- )
125
- for _k, _v in obj.get("matches_map", {}).items()
126
- ),
127
- "applied": obj.get("applied")
128
- })
129
- return _obj
130
-
131
-
@@ -1,88 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- RevEng.AI API
5
-
6
- RevEng.AI is Similarity Search Engine for executable binaries
7
-
8
- Generated by OpenAPI Generator (https://openapi-generator.tech)
9
-
10
- Do not edit the class manually.
11
- """ # noqa: E501
12
-
13
-
14
- from __future__ import annotations
15
- import pprint
16
- import re # noqa: F401
17
- import json
18
-
19
- from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
20
- from typing import Any, ClassVar, Dict, List, Union
21
- from typing import Optional, Set
22
- from typing_extensions import Self
23
-
24
- class MatchedFunctionGroup(BaseModel):
25
- """
26
- MatchedFunctionGroup
27
- """ # noqa: E501
28
- function_group_name: StrictStr = Field(description="Name of the function group that contains the matched functions")
29
- similarity: Union[StrictFloat, StrictInt] = Field(description="Similarity score of the match")
30
- __properties: ClassVar[List[str]] = ["function_group_name", "similarity"]
31
-
32
- model_config = ConfigDict(
33
- populate_by_name=True,
34
- validate_assignment=True,
35
- protected_namespaces=(),
36
- )
37
-
38
-
39
- def to_str(self) -> str:
40
- """Returns the string representation of the model using alias"""
41
- return pprint.pformat(self.model_dump(by_alias=True))
42
-
43
- def to_json(self) -> str:
44
- """Returns the JSON representation of the model using alias"""
45
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
- return json.dumps(self.to_dict())
47
-
48
- @classmethod
49
- def from_json(cls, json_str: str) -> Optional[Self]:
50
- """Create an instance of MatchedFunctionGroup from a JSON string"""
51
- return cls.from_dict(json.loads(json_str))
52
-
53
- def to_dict(self) -> Dict[str, Any]:
54
- """Return the dictionary representation of the model using alias.
55
-
56
- This has the following differences from calling pydantic's
57
- `self.model_dump(by_alias=True)`:
58
-
59
- * `None` is only added to the output dict for nullable fields that
60
- were set at model initialization. Other fields with value `None`
61
- are ignored.
62
- """
63
- excluded_fields: Set[str] = set([
64
- ])
65
-
66
- _dict = self.model_dump(
67
- by_alias=True,
68
- exclude=excluded_fields,
69
- exclude_none=True,
70
- )
71
- return _dict
72
-
73
- @classmethod
74
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
- """Create an instance of MatchedFunctionGroup from a dict"""
76
- if obj is None:
77
- return None
78
-
79
- if not isinstance(obj, dict):
80
- return cls.model_validate(obj)
81
-
82
- _obj = cls.model_validate({
83
- "function_group_name": obj.get("function_group_name"),
84
- "similarity": obj.get("similarity")
85
- })
86
- return _obj
87
-
88
-