revengai 2.11.7__py3-none-any.whl → 2.12.1__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.

revengai/__init__.py CHANGED
@@ -13,7 +13,7 @@
13
13
  """ # noqa: E501
14
14
 
15
15
 
16
- __version__ = "v2.11.7"
16
+ __version__ = "v2.12.1"
17
17
 
18
18
  # Define package exports
19
19
  __all__ = [
revengai/api_client.py CHANGED
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/v2.11.7/python'
93
+ self.user_agent = 'OpenAPI-Generator/v2.12.1/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
revengai/configuration.py CHANGED
@@ -529,8 +529,8 @@ conf = revengai.Configuration(
529
529
  return "Python SDK Debug Report:\n"\
530
530
  "OS: {env}\n"\
531
531
  "Python Version: {pyversion}\n"\
532
- "Version of the API: v2.11.7\n"\
533
- "SDK Package Version: v2.11.7".\
532
+ "Version of the API: v2.12.1\n"\
533
+ "SDK Package Version: v2.12.1".\
534
534
  format(env=sys.platform, pyversion=sys.version)
535
535
 
536
536
  def get_host_settings(self) -> List[HostSetting]:
@@ -16,7 +16,7 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict, Field
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
20
20
  from typing import Any, ClassVar, Dict, List, Optional, Union
21
21
  from typing_extensions import Annotated
22
22
  from revengai.models.function_matching_filters import FunctionMatchingFilters
@@ -32,7 +32,8 @@ class AnalysisFunctionMatchingRequest(BaseModel):
32
32
  results_per_function: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=1, description="Maximum number of matches to return per function, default is 1, max is 10")
33
33
  page: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=1, description="Page number for paginated results, default is 1 (first page)")
34
34
  page_size: Optional[Annotated[int, Field(le=1000, strict=True, ge=0)]] = Field(default=0, description="Number of functions to return per page, default is 0 (all functions), max is 1000")
35
- __properties: ClassVar[List[str]] = ["min_similarity", "filters", "results_per_function", "page", "page_size"]
35
+ no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
36
+ __properties: ClassVar[List[str]] = ["min_similarity", "filters", "results_per_function", "page", "page_size", "no_cache"]
36
37
 
37
38
  model_config = ConfigDict(
38
39
  populate_by_name=True,
@@ -97,7 +98,8 @@ class AnalysisFunctionMatchingRequest(BaseModel):
97
98
  "filters": FunctionMatchingFilters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
98
99
  "results_per_function": obj.get("results_per_function") if obj.get("results_per_function") is not None else 1,
99
100
  "page": obj.get("page") if obj.get("page") is not None else 1,
100
- "page_size": obj.get("page_size") if obj.get("page_size") is not None else 0
101
+ "page_size": obj.get("page_size") if obj.get("page_size") is not None else 0,
102
+ "no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
101
103
  })
102
104
  return _obj
103
105
 
@@ -30,7 +30,8 @@ class AutoUnstripRequest(BaseModel):
30
30
  apply: Optional[StrictBool] = Field(default=False, description="Whether to apply the matched function names to the target binary, default is False")
31
31
  confidence_threshold: Optional[Union[Annotated[float, Field(le=100.0, strict=True, ge=0.0)], Annotated[int, Field(le=100, strict=True, ge=0)]]] = Field(default=90.0, description="Confidence threshold for applying function names as a percentage, default is 90")
32
32
  min_group_size: Optional[Annotated[int, Field(le=20, strict=True, ge=1)]] = Field(default=10, description="Minimum number of matching functions required to consider for a match, default is 10")
33
- __properties: ClassVar[List[str]] = ["min_similarity", "apply", "confidence_threshold", "min_group_size"]
33
+ no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
34
+ __properties: ClassVar[List[str]] = ["min_similarity", "apply", "confidence_threshold", "min_group_size", "no_cache"]
34
35
 
35
36
  model_config = ConfigDict(
36
37
  populate_by_name=True,
@@ -86,7 +87,8 @@ class AutoUnstripRequest(BaseModel):
86
87
  "min_similarity": obj.get("min_similarity") if obj.get("min_similarity") is not None else 90.0,
87
88
  "apply": obj.get("apply") if obj.get("apply") is not None else False,
88
89
  "confidence_threshold": obj.get("confidence_threshold") if obj.get("confidence_threshold") is not None else 90.0,
89
- "min_group_size": obj.get("min_group_size") if obj.get("min_group_size") is not None else 10
90
+ "min_group_size": obj.get("min_group_size") if obj.get("min_group_size") is not None else 10,
91
+ "no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
90
92
  })
91
93
  return _obj
92
94
 
@@ -16,7 +16,7 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict, Field, StrictInt
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
20
20
  from typing import Any, ClassVar, Dict, List, Optional, Union
21
21
  from typing_extensions import Annotated
22
22
  from revengai.models.function_matching_filters import FunctionMatchingFilters
@@ -34,7 +34,8 @@ class FunctionMatchingRequest(BaseModel):
34
34
  results_per_function: Optional[Annotated[int, Field(le=50, strict=True, ge=1)]] = Field(default=1, description="Maximum number of matches to return per function, default is 1, max is 50")
35
35
  page: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=1, description="Page number for paginated results, default is 1 (first page)")
36
36
  page_size: Optional[Annotated[int, Field(le=1000, strict=True, ge=0)]] = Field(default=0, description="Number of functions to return per page, default is 0 (all functions), max is 1000")
37
- __properties: ClassVar[List[str]] = ["model_id", "function_ids", "min_similarity", "filters", "results_per_function", "page", "page_size"]
37
+ no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
38
+ __properties: ClassVar[List[str]] = ["model_id", "function_ids", "min_similarity", "filters", "results_per_function", "page", "page_size", "no_cache"]
38
39
 
39
40
  model_config = ConfigDict(
40
41
  populate_by_name=True,
@@ -101,7 +102,8 @@ class FunctionMatchingRequest(BaseModel):
101
102
  "filters": FunctionMatchingFilters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
102
103
  "results_per_function": obj.get("results_per_function") if obj.get("results_per_function") is not None else 1,
103
104
  "page": obj.get("page") if obj.get("page") is not None else 1,
104
- "page_size": obj.get("page_size") if obj.get("page_size") is not None else 0
105
+ "page_size": obj.get("page_size") if obj.get("page_size") is not None else 0,
106
+ "no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
105
107
  })
106
108
  return _obj
107
109
 
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: revengai
3
- Version: 2.11.7
3
+ Version: 2.12.1
4
4
  Summary: RevEng.AI API
5
5
  Project-URL: Repository, https://github.com/RevEngAI/sdk-python
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE.md
8
8
  Keywords: RevEng.AI API
9
- Requires-Python: >=3.13
9
+ Requires-Python: >=3.10
10
10
  Requires-Dist: lazy-imports<2,>=1
11
11
  Requires-Dist: pydantic>=2
12
12
  Requires-Dist: python-dateutil>=2.8.2
@@ -1,7 +1,7 @@
1
- revengai/__init__.py,sha256=H16cEdChhWjPXot4CkZHDhIPS_9j-Jd9teT_hbKKlzM,40771
2
- revengai/api_client.py,sha256=iNkjcrEw1dpRydunWmmk-AnhJfH12JdLwzrkQwxA94o,27670
1
+ revengai/__init__.py,sha256=3AxK8bPT069ptPwdibOPF138U1ppXQW4-GM77tRIM5c,40771
2
+ revengai/api_client.py,sha256=Hdk2QLG3VoYaY_IKvtS4GXsvwVvM_I777rY2GLhTXfg,27670
3
3
  revengai/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- revengai/configuration.py,sha256=t1LvDd34FRlcwf4GO_jTd4tI_MKeX4bbwkU-KLtD314,18749
4
+ revengai/configuration.py,sha256=yKnPxsXL8Vr_XK4wXJcaQY6_Jl2OhUUuV0H39gNtkRA,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
@@ -35,7 +35,7 @@ revengai/models/analysis_create_request.py,sha256=6hU94Fi47hrxXQ-wX1jRuDrDi1GQym
35
35
  revengai/models/analysis_create_response.py,sha256=aaO3-lJ65iBGe5lnyW8exHb9qByDaWfF2hOVKrWkN-I,2628
36
36
  revengai/models/analysis_detail_response.py,sha256=KPyzlSbu9TU7itVlhGusJVSszrZAkuC8dMg1welYZeM,4170
37
37
  revengai/models/analysis_function_mapping.py,sha256=_8LOSaBOgsFKLeqvoizbU2FSHtekA7aNrM7deIJyM4k,2886
38
- revengai/models/analysis_function_matching_request.py,sha256=gKIPk3xTwcQ5uBGVvSzwga9g8s5o1u_CTpbx-5YYZFU,4327
38
+ revengai/models/analysis_function_matching_request.py,sha256=w-BJaHtbNOoaWM1RbSaT2P24X8X6RLEtuqfcvO_i43Q,4610
39
39
  revengai/models/analysis_functions.py,sha256=N1TKQuw33I9dw-i07kLus36k2bcAXQVm2oc1Ycfrgdw,3067
40
40
  revengai/models/analysis_record.py,sha256=DxnERhF-s5AilH804yKtMAOyXhhjWQsq0ned1ji5t5Q,5516
41
41
  revengai/models/analysis_scope.py,sha256=azpsUux2axe4QKwQ4FbW30HbazYYVFP-e68F9zp33-4,668
@@ -53,7 +53,7 @@ revengai/models/app_api_rest_v2_functions_types_function.py,sha256=t3BttHuPogip0
53
53
  revengai/models/app_services_binary_ann_schema_tag_item.py,sha256=m25sIz8KEsPES0XGjmOZFhmLNLmB-jsakfRUpRfiMks,2977
54
54
  revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py,sha256=9e3LDnw0iNCbowQPFTkNyIqkzsCQyJLZrx6tqRska6o,2562
55
55
  revengai/models/argument.py,sha256=QmWpJiohyzTVC1GLHg1IlgM5QyONnBF6FGK_mOYQL_Y,3148
56
- revengai/models/auto_unstrip_request.py,sha256=Z_jmV5WnTIzdldBQPYBcKB-vlFxGEsxD2611HnBPDPo,3759
56
+ revengai/models/auto_unstrip_request.py,sha256=pS7ZtnDbYywMrKZVDF3VQpT7oyXmn5dmmwpGCaVxG74,4030
57
57
  revengai/models/auto_unstrip_response.py,sha256=g37ANqNsVIM_BCb-kHNDak6E-8fNVUyPOh03YFjm2O8,4737
58
58
  revengai/models/base_response.py,sha256=U1Hwv1TXztjpxHxXGwGk46egAYs49jfzEfr1nTajMjg,4526
59
59
  revengai/models/base_response_analysis_create_response.py,sha256=bwA1vMqKgLUDcElBvuvTH2jo8tvx0mjfbMOnoniswbE,4682
@@ -211,7 +211,7 @@ revengai/models/function_mapping.py,sha256=EBO_jGfEjK7ihIdx-bWSHAT9EozB_S9JDeCLL
211
211
  revengai/models/function_mapping_full.py,sha256=dax345vnk25zSPVVpAmCFrrOWXzFXW6OnhSs9zVIKpI,11948
212
212
  revengai/models/function_matching_batch_response.py,sha256=oBglZULIjMvbrlzjymWNKSNERVzftWH7hHBRC3uMoP0,4952
213
213
  revengai/models/function_matching_filters.py,sha256=O5F1PIcPhbumH8z-4KbG7JNoUsx_H3wBZQU9kCZ_boI,3710
214
- revengai/models/function_matching_request.py,sha256=doC7Z1UCe0qD1vR0Iu400ni7a94D9WK_QN3GR_56H3I,4690
214
+ revengai/models/function_matching_request.py,sha256=6xIis7eqfUmXLUbZykrBHZW9eKhEAHUOCeXYv-rGKww,4973
215
215
  revengai/models/function_matching_result_with_best_match.py,sha256=lPuw9GkqzMvPguZRsct9mUZxdTu4swb8i5qwvge9wZM,4114
216
216
  revengai/models/function_name_history.py,sha256=INu3KWYUpQMFfWy6oWl5iSaxrlayKr-wvuiahRCzinI,3265
217
217
  revengai/models/function_param_response.py,sha256=hYsmmzxKwYuCh9y_khNvJSinRpvjDXcpi4fJ7xF-F3k,2697
@@ -318,7 +318,7 @@ revengai/models/vulnerabilities.py,sha256=9t6uoZd3svWyfcZJjmj6zP731Dp47Apb25y8Qt
318
318
  revengai/models/vulnerability.py,sha256=P7rAOAYU5JLLpcRr824-YJgZba5kPb_J9ALV3tSNfLQ,3688
319
319
  revengai/models/vulnerability_type.py,sha256=SyOgfMmELYYc_H84oPkikBpjwngtG5Qw9Q_86a2TPr8,866
320
320
  revengai/models/workspace.py,sha256=chjU62GFvByEmaNd6luMNQVQLP3wlPx1zJgGJ_yyMLA,676
321
- revengai-2.11.7.dist-info/METADATA,sha256=9lkH98Q4eLsyqMid3Uq0zMrfG-arTJhvXt-lrFYpy34,39203
322
- revengai-2.11.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
323
- revengai-2.11.7.dist-info/licenses/LICENSE.md,sha256=z1S-x9w52sZDqbFdJi0kL5-FLP5CR2aQA0kW8m6scaw,1052
324
- revengai-2.11.7.dist-info/RECORD,,
321
+ revengai-2.12.1.dist-info/METADATA,sha256=x6PMySc03YIcUWPFzV2xBKDkIjX62Dq48bzej0OwQnw,39203
322
+ revengai-2.12.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
323
+ revengai-2.12.1.dist-info/licenses/LICENSE.md,sha256=z1S-x9w52sZDqbFdJi0kL5-FLP5CR2aQA0kW8m6scaw,1052
324
+ revengai-2.12.1.dist-info/RECORD,,