|
23 | 23 | from algoliasearch.abtesting.models.ab_test import ABTest
|
24 | 24 | from algoliasearch.abtesting.models.ab_test_response import ABTestResponse
|
25 | 25 | from algoliasearch.abtesting.models.add_ab_tests_request import AddABTestsRequest
|
| 26 | +from algoliasearch.abtesting.models.estimate_ab_test_request import ( |
| 27 | + EstimateABTestRequest, |
| 28 | +) |
| 29 | +from algoliasearch.abtesting.models.estimate_ab_test_response import ( |
| 30 | + EstimateABTestResponse, |
| 31 | +) |
26 | 32 | from algoliasearch.abtesting.models.list_ab_tests_response import ListABTestsResponse
|
27 | 33 | from algoliasearch.abtesting.models.schedule_ab_test_response import (
|
28 | 34 | ScheduleABTestResponse,
|
@@ -567,6 +573,63 @@ async def delete_ab_test(
|
567 | 573 | resp = await self.delete_ab_test_with_http_info(id, request_options)
|
568 | 574 | return resp.deserialize(ABTestResponse, resp.raw_data)
|
569 | 575 |
|
| 576 | + async def estimate_ab_test_with_http_info( |
| 577 | + self, |
| 578 | + estimate_ab_test_request: Union[EstimateABTestRequest, dict[str, Any]], |
| 579 | + request_options: Optional[Union[dict, RequestOptions]] = None, |
| 580 | + ) -> ApiResponse[str]: |
| 581 | + """ |
| 582 | + Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic. |
| 583 | +
|
| 584 | + Required API Key ACLs: |
| 585 | + - analytics |
| 586 | +
|
| 587 | + :param estimate_ab_test_request: (required) |
| 588 | + :type estimate_ab_test_request: EstimateABTestRequest |
| 589 | + :param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional) |
| 590 | + :return: Returns the raw algoliasearch 'APIResponse' object. |
| 591 | + """ |
| 592 | + |
| 593 | + if estimate_ab_test_request is None: |
| 594 | + raise ValueError( |
| 595 | + "Parameter `estimate_ab_test_request` is required when calling `estimate_ab_test`." |
| 596 | + ) |
| 597 | + |
| 598 | + _data = {} |
| 599 | + if estimate_ab_test_request is not None: |
| 600 | + _data = estimate_ab_test_request |
| 601 | + |
| 602 | + return await self._transporter.request( |
| 603 | + verb=Verb.POST, |
| 604 | + path="/2/abtests/estimate", |
| 605 | + request_options=self._request_options.merge( |
| 606 | + data=dumps(body_serializer(_data)), |
| 607 | + user_request_options=request_options, |
| 608 | + ), |
| 609 | + use_read_transporter=False, |
| 610 | + ) |
| 611 | + |
| 612 | + async def estimate_ab_test( |
| 613 | + self, |
| 614 | + estimate_ab_test_request: Union[EstimateABTestRequest, dict[str, Any]], |
| 615 | + request_options: Optional[Union[dict, RequestOptions]] = None, |
| 616 | + ) -> EstimateABTestResponse: |
| 617 | + """ |
| 618 | + Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic. |
| 619 | +
|
| 620 | + Required API Key ACLs: |
| 621 | + - analytics |
| 622 | +
|
| 623 | + :param estimate_ab_test_request: (required) |
| 624 | + :type estimate_ab_test_request: EstimateABTestRequest |
| 625 | + :param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional) |
| 626 | + :return: Returns the deserialized response in a 'EstimateABTestResponse' result object. |
| 627 | + """ |
| 628 | + resp = await self.estimate_ab_test_with_http_info( |
| 629 | + estimate_ab_test_request, request_options |
| 630 | + ) |
| 631 | + return resp.deserialize(EstimateABTestResponse, resp.raw_data) |
| 632 | + |
570 | 633 | async def get_ab_test_with_http_info(
|
571 | 634 | self,
|
572 | 635 | id: Annotated[StrictInt, Field(description="Unique A/B test identifier.")],
|
@@ -1347,6 +1410,63 @@ def delete_ab_test(
|
1347 | 1410 | resp = self.delete_ab_test_with_http_info(id, request_options)
|
1348 | 1411 | return resp.deserialize(ABTestResponse, resp.raw_data)
|
1349 | 1412 |
|
| 1413 | + def estimate_ab_test_with_http_info( |
| 1414 | + self, |
| 1415 | + estimate_ab_test_request: Union[EstimateABTestRequest, dict[str, Any]], |
| 1416 | + request_options: Optional[Union[dict, RequestOptions]] = None, |
| 1417 | + ) -> ApiResponse[str]: |
| 1418 | + """ |
| 1419 | + Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic. |
| 1420 | +
|
| 1421 | + Required API Key ACLs: |
| 1422 | + - analytics |
| 1423 | +
|
| 1424 | + :param estimate_ab_test_request: (required) |
| 1425 | + :type estimate_ab_test_request: EstimateABTestRequest |
| 1426 | + :param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional) |
| 1427 | + :return: Returns the raw algoliasearch 'APIResponse' object. |
| 1428 | + """ |
| 1429 | + |
| 1430 | + if estimate_ab_test_request is None: |
| 1431 | + raise ValueError( |
| 1432 | + "Parameter `estimate_ab_test_request` is required when calling `estimate_ab_test`." |
| 1433 | + ) |
| 1434 | + |
| 1435 | + _data = {} |
| 1436 | + if estimate_ab_test_request is not None: |
| 1437 | + _data = estimate_ab_test_request |
| 1438 | + |
| 1439 | + return self._transporter.request( |
| 1440 | + verb=Verb.POST, |
| 1441 | + path="/2/abtests/estimate", |
| 1442 | + request_options=self._request_options.merge( |
| 1443 | + data=dumps(body_serializer(_data)), |
| 1444 | + user_request_options=request_options, |
| 1445 | + ), |
| 1446 | + use_read_transporter=False, |
| 1447 | + ) |
| 1448 | + |
| 1449 | + def estimate_ab_test( |
| 1450 | + self, |
| 1451 | + estimate_ab_test_request: Union[EstimateABTestRequest, dict[str, Any]], |
| 1452 | + request_options: Optional[Union[dict, RequestOptions]] = None, |
| 1453 | + ) -> EstimateABTestResponse: |
| 1454 | + """ |
| 1455 | + Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic. |
| 1456 | +
|
| 1457 | + Required API Key ACLs: |
| 1458 | + - analytics |
| 1459 | +
|
| 1460 | + :param estimate_ab_test_request: (required) |
| 1461 | + :type estimate_ab_test_request: EstimateABTestRequest |
| 1462 | + :param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional) |
| 1463 | + :return: Returns the deserialized response in a 'EstimateABTestResponse' result object. |
| 1464 | + """ |
| 1465 | + resp = self.estimate_ab_test_with_http_info( |
| 1466 | + estimate_ab_test_request, request_options |
| 1467 | + ) |
| 1468 | + return resp.deserialize(EstimateABTestResponse, resp.raw_data) |
| 1469 | + |
1350 | 1470 | def get_ab_test_with_http_info(
|
1351 | 1471 | self,
|
1352 | 1472 | id: Annotated[StrictInt, Field(description="Unique A/B test identifier.")],
|
|
0 commit comments