rapidata 2.36.2__py3-none-any.whl → 2.38.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 rapidata might be problematic. Click here for more details.

Files changed (65) hide show
  1. rapidata/__init__.py +3 -4
  2. rapidata/rapidata_client/__init__.py +1 -4
  3. rapidata/rapidata_client/api/{rapidata_exception.py → rapidata_api_client.py} +119 -2
  4. rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +88 -46
  5. rapidata/rapidata_client/benchmark/participant/_participant.py +26 -9
  6. rapidata/rapidata_client/benchmark/rapidata_benchmark.py +274 -205
  7. rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +98 -76
  8. rapidata/rapidata_client/config/__init__.py +3 -0
  9. rapidata/rapidata_client/config/logger.py +135 -0
  10. rapidata/rapidata_client/config/logging_config.py +58 -0
  11. rapidata/rapidata_client/config/managed_print.py +6 -0
  12. rapidata/rapidata_client/config/order_config.py +14 -0
  13. rapidata/rapidata_client/config/rapidata_config.py +14 -9
  14. rapidata/rapidata_client/config/tracer.py +130 -0
  15. rapidata/rapidata_client/config/upload_config.py +14 -0
  16. rapidata/rapidata_client/datapoints/_datapoint.py +1 -1
  17. rapidata/rapidata_client/datapoints/assets/_media_asset.py +1 -1
  18. rapidata/rapidata_client/datapoints/assets/_sessions.py +2 -2
  19. rapidata/rapidata_client/demographic/demographic_manager.py +16 -14
  20. rapidata/rapidata_client/filter/_base_filter.py +11 -5
  21. rapidata/rapidata_client/filter/age_filter.py +9 -3
  22. rapidata/rapidata_client/filter/and_filter.py +20 -5
  23. rapidata/rapidata_client/filter/campaign_filter.py +7 -1
  24. rapidata/rapidata_client/filter/country_filter.py +8 -2
  25. rapidata/rapidata_client/filter/custom_filter.py +9 -3
  26. rapidata/rapidata_client/filter/gender_filter.py +9 -3
  27. rapidata/rapidata_client/filter/language_filter.py +12 -5
  28. rapidata/rapidata_client/filter/new_user_filter.py +3 -4
  29. rapidata/rapidata_client/filter/not_filter.py +17 -5
  30. rapidata/rapidata_client/filter/or_filter.py +20 -5
  31. rapidata/rapidata_client/filter/response_count_filter.py +6 -0
  32. rapidata/rapidata_client/filter/user_score_filter.py +17 -5
  33. rapidata/rapidata_client/order/_rapidata_dataset.py +45 -17
  34. rapidata/rapidata_client/order/_rapidata_order_builder.py +19 -13
  35. rapidata/rapidata_client/order/rapidata_order.py +60 -48
  36. rapidata/rapidata_client/order/rapidata_order_manager.py +239 -195
  37. rapidata/rapidata_client/order/rapidata_results.py +71 -57
  38. rapidata/rapidata_client/rapidata_client.py +36 -23
  39. rapidata/rapidata_client/selection/_base_selection.py +6 -0
  40. rapidata/rapidata_client/selection/static_selection.py +5 -10
  41. rapidata/rapidata_client/settings/_rapidata_setting.py +8 -0
  42. rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
  43. rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
  44. rapidata/rapidata_client/validation/rapidata_validation_set.py +20 -16
  45. rapidata/rapidata_client/validation/rapids/rapids.py +7 -1
  46. rapidata/rapidata_client/validation/validation_set_manager.py +285 -268
  47. rapidata/rapidata_client/workflow/_base_workflow.py +6 -1
  48. rapidata/rapidata_client/workflow/_classify_workflow.py +6 -0
  49. rapidata/rapidata_client/workflow/_compare_workflow.py +6 -0
  50. rapidata/rapidata_client/workflow/_draw_workflow.py +6 -0
  51. rapidata/rapidata_client/workflow/_evaluation_workflow.py +6 -0
  52. rapidata/rapidata_client/workflow/_free_text_workflow.py +6 -0
  53. rapidata/rapidata_client/workflow/_locate_workflow.py +6 -0
  54. rapidata/rapidata_client/workflow/_ranking_workflow.py +12 -0
  55. rapidata/rapidata_client/workflow/_select_words_workflow.py +6 -0
  56. rapidata/rapidata_client/workflow/_timestamp_workflow.py +6 -0
  57. rapidata/service/credential_manager.py +1 -1
  58. rapidata/service/openapi_service.py +2 -2
  59. {rapidata-2.36.2.dist-info → rapidata-2.38.0.dist-info}/METADATA +4 -1
  60. {rapidata-2.36.2.dist-info → rapidata-2.38.0.dist-info}/RECORD +62 -59
  61. rapidata/rapidata_client/logging/__init__.py +0 -2
  62. rapidata/rapidata_client/logging/logger.py +0 -122
  63. rapidata/rapidata_client/logging/output_manager.py +0 -20
  64. {rapidata-2.36.2.dist-info → rapidata-2.38.0.dist-info}/LICENSE +0 -0
  65. {rapidata-2.36.2.dist-info → rapidata-2.38.0.dist-info}/WHEEL +0 -0
@@ -23,7 +23,6 @@ class Workflow(ABC):
23
23
 
24
24
  def __init__(self, type: str):
25
25
  self._type = type
26
- self._target_country_codes: list[str] = []
27
26
 
28
27
  def _to_dict(self) -> dict[str, Any]:
29
28
  return {
@@ -50,3 +49,9 @@ class Workflow(ABC):
50
49
  self,
51
50
  ) -> SimpleWorkflowModel | CompareWorkflowModel | EvaluationWorkflowModel:
52
51
  pass
52
+
53
+ def __str__(self) -> str:
54
+ return self._type
55
+
56
+ def __repr__(self) -> str:
57
+ return self._type
@@ -63,3 +63,9 @@ class ClassifyWorkflow(Workflow):
63
63
  possibleCategories=self._answer_options,
64
64
  title=self._instruction,
65
65
  )
66
+
67
+ def __str__(self) -> str:
68
+ return f"ClassifyWorkflow(instruction='{self._instruction}', options={self._answer_options})"
69
+
70
+ def __repr__(self) -> str:
71
+ return f"ClassifyWorkflow(instruction='{self._instruction}', answer_options={self._answer_options!r})"
@@ -55,3 +55,9 @@ class CompareWorkflow(Workflow):
55
55
  _t="ComparePayload",
56
56
  criteria=self._instruction,
57
57
  )
58
+
59
+ def __str__(self) -> str:
60
+ return f"CompareWorkflow(instruction='{self._instruction}', a_b_names={self._a_b_names})"
61
+
62
+ def __repr__(self) -> str:
63
+ return f"CompareWorkflow(instruction={self._instruction!r}, a_b_names={self._a_b_names!r})"
@@ -28,3 +28,9 @@ class DrawWorkflow(Workflow):
28
28
  _t="LinePayload",
29
29
  target=self._target,
30
30
  )
31
+
32
+ def __str__(self) -> str:
33
+ return f"DrawWorkflow(target='{self._target}')"
34
+
35
+ def __repr__(self) -> str:
36
+ return f"DrawWorkflow(target={self._target!r})"
@@ -31,3 +31,9 @@ class EvaluationWorkflow(Workflow):
31
31
 
32
32
  def _to_payload(self, datapoint: Datapoint):
33
33
  raise NotImplementedError("EvaluationWorkflow does not have a payload")
34
+
35
+ def __str__(self) -> str:
36
+ return f"EvaluationWorkflow(validation_set_id='{self.validation_set_id}', should_accept_incorrect={self.should_accept_incorrect})"
37
+
38
+ def __repr__(self) -> str:
39
+ return f"EvaluationWorkflow(validation_set_id={self.validation_set_id!r}, should_accept_incorrect={self.should_accept_incorrect!r})"
@@ -60,3 +60,9 @@ class FreeTextWorkflow(Workflow):
60
60
  _t="FreeTextPayload",
61
61
  question=self._instruction,
62
62
  )
63
+
64
+ def __str__(self) -> str:
65
+ return f"FreeTextWorkflow(instruction='{self._instruction}', validation_system_prompt={self._validation_system_prompt})"
66
+
67
+ def __repr__(self) -> str:
68
+ return f"FreeTextWorkflow(instruction={self._instruction!r}, validation_system_prompt={self._validation_system_prompt!r})"
@@ -28,3 +28,9 @@ class LocateWorkflow(Workflow):
28
28
  _t="LocatePayload",
29
29
  target=self._target,
30
30
  )
31
+
32
+ def __str__(self) -> str:
33
+ return f"LocateWorkflow(target='{self._target}')"
34
+
35
+ def __repr__(self) -> str:
36
+ return f"LocateWorkflow(target={self._target!r})"
@@ -40,6 +40,12 @@ class RankingWorkflow(Workflow):
40
40
  )
41
41
 
42
42
  self.criteria = criteria
43
+ self.total_comparison_budget = total_comparison_budget
44
+ self.random_comparisons_ratio = random_comparisons_ratio
45
+ self.elo_start = elo_start
46
+ self.elo_k_factor = elo_k_factor
47
+ self.elo_scaling_factor = elo_scaling_factor
48
+
43
49
  self.pair_maker_config = CompareWorkflowModelPairMakerConfig(
44
50
  OnlinePairMakerConfigModel(
45
51
  _t="OnlinePairMaker",
@@ -69,3 +75,9 @@ class RankingWorkflow(Workflow):
69
75
  _t="ComparePayload",
70
76
  criteria=self.criteria,
71
77
  )
78
+
79
+ def __str__(self) -> str:
80
+ return f"RankingWorkflow(criteria='{self.criteria}', context={self.context})"
81
+
82
+ def __repr__(self) -> str:
83
+ return f"RankingWorkflow(criteria={self.criteria!r}, total_comparison_budget={self.total_comparison_budget!r}, random_comparisons_ratio={self.random_comparisons_ratio!r}, elo_start={self.elo_start!r}, elo_k_factor={self.elo_k_factor!r}, elo_scaling_factor={self.elo_scaling_factor!r}, context={self.context!r})"
@@ -66,3 +66,9 @@ class SelectWordsWorkflow(Workflow):
66
66
  for i, word in enumerate(select_words_metadata.select_words.split())
67
67
  ],
68
68
  )
69
+
70
+ def __str__(self) -> str:
71
+ return f"SelectWordsWorkflow(instruction='{self._instruction}')"
72
+
73
+ def __repr__(self) -> str:
74
+ return f"SelectWordsWorkflow(instruction={self._instruction!r})"
@@ -41,3 +41,9 @@ class TimestampWorkflow(Workflow):
41
41
  _t="ScrubPayload",
42
42
  target=self._instruction,
43
43
  )
44
+
45
+ def __str__(self) -> str:
46
+ return f"TimestampWorkflow(instruction='{self._instruction}')"
47
+
48
+ def __repr__(self) -> str:
49
+ return f"TimestampWorkflow(instruction={self._instruction!r})"
@@ -11,7 +11,7 @@ from typing import Dict, List, Optional, Tuple
11
11
  import requests
12
12
  from colorama import Fore
13
13
  from pydantic import BaseModel
14
- from rapidata.rapidata_client.logging import logger, managed_print
14
+ from rapidata.rapidata_client.config import logger, managed_print
15
15
 
16
16
 
17
17
  class ClientCredential(BaseModel):
@@ -13,8 +13,8 @@ from rapidata.api_client.api.workflow_api import WorkflowApi
13
13
  from rapidata.api_client.api.participant_api import ParticipantApi
14
14
  from rapidata.api_client.configuration import Configuration
15
15
  from rapidata.service.credential_manager import CredentialManager
16
- from rapidata.rapidata_client.api.rapidata_exception import RapidataApiClient
17
- from rapidata.rapidata_client.logging import logger
16
+ from rapidata.rapidata_client.api.rapidata_api_client import RapidataApiClient
17
+ from rapidata.rapidata_client.config import logger
18
18
 
19
19
 
20
20
  class OpenAPIService:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rapidata
3
- Version: 2.36.2
3
+ Version: 2.38.0
4
4
  Summary: Rapidata package containing the Rapidata Python Client to interact with the Rapidata Web API in an easy way.
5
5
  License: Apache-2.0
6
6
  Author: Rapidata AG
@@ -16,6 +16,9 @@ Requires-Dist: authlib (>=1.5.1,<2.0.0)
16
16
  Requires-Dist: colorama (==0.4.6)
17
17
  Requires-Dist: deprecated (>=1.2.14,<2.0.0)
18
18
  Requires-Dist: httpx (>=0.28.1,<0.29.0)
19
+ Requires-Dist: opentelemetry-api (>=1.27.0)
20
+ Requires-Dist: opentelemetry-exporter-otlp (>=1.27.0)
21
+ Requires-Dist: opentelemetry-sdk (>=1.27.0)
19
22
  Requires-Dist: packaging (>=16.0.0)
20
23
  Requires-Dist: pandas (>=2.2.3,<3.0.0)
21
24
  Requires-Dist: pillow (>=10.4.0,<11.0.0)
@@ -1,4 +1,4 @@
1
- rapidata/__init__.py,sha256=t-R51OVuVArBB4ZOC47TjnvGMpNz3UwFlXPeNFbsgco,926
1
+ rapidata/__init__.py,sha256=2b2K7pCTOuGVjsG5wjztvPUWQ3_ZKQsehcvDuliDEMg,896
2
2
  rapidata/api_client/__init__.py,sha256=uOR7nm9O8X5MM6EP1TJjwO26bsLzzmrin0nzNWRPArg,36221
3
3
  rapidata/api_client/api/__init__.py,sha256=07qqwzQiBYt5V2BtnzbXhZL2cmVHATyZmCSGshIXLck,1603
4
4
  rapidata/api_client/api/benchmark_api.py,sha256=hSrlnQ_RDWO0D7SdAN-KVP3f4_c9yYTyG6nRabR70dU,142018
@@ -565,28 +565,34 @@ rapidata/api_client/models/workflow_state.py,sha256=5LAK1se76RCoozeVB6oxMPb8p_5b
565
565
  rapidata/api_client/models/zip_entry_file_wrapper.py,sha256=06CoNJD3x511K3rnSmkrwwhc9GbQxwxF-c0ldOyJbAs,4240
566
566
  rapidata/api_client/rest.py,sha256=rtIMcgINZOUaDFaJIinJkXRSddNJmXvMRMfgO2Ezk2o,10835
567
567
  rapidata/api_client_README.md,sha256=l9KPxZ7TAZHnRXXEgDV9Xurk6D44XdV3YVdK_TJLapU,64447
568
- rapidata/rapidata_client/__init__.py,sha256=nBg-kRjq2yJq2Iv0W1j_zsbwVc2cnzQT0sxzdOYQUw8,1224
568
+ rapidata/rapidata_client/__init__.py,sha256=vOYH-N4yd5FyHtRq-VLiYCD5n8eRyAXbAlYIr4P_W9E,1176
569
569
  rapidata/rapidata_client/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
570
- rapidata/rapidata_client/api/rapidata_exception.py,sha256=4BxfpOa701V5Ph17qzl9QNmBRotV93TwJCcA5E1Ngwc,4631
570
+ rapidata/rapidata_client/api/rapidata_api_client.py,sha256=wuC9Y7fieS0MLyUpvXs5lqyvoREXx9860YeU0Tn59U0,8955
571
571
  rapidata/rapidata_client/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
572
572
  rapidata/rapidata_client/benchmark/_detail_mapper.py,sha256=HmzJwR2dojs0c2PaEJ5lwSPtjaqeoPXI7RQk5kwSB9A,944
573
573
  rapidata/rapidata_client/benchmark/leaderboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
574
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py,sha256=xRNXw__K4-4wb4UI-EgLyJRwGO5OkFdoN3A1S3MkdF4,6092
574
+ rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py,sha256=BPNTrKeEGvISdzAe_OpIIUtdX4tYgh_2g9w7YOnytA4,7840
575
575
  rapidata/rapidata_client/benchmark/participant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
576
- rapidata/rapidata_client/benchmark/participant/_participant.py,sha256=syot61Wz1Se4-kurr7IaSlRfvbc0q6kerwQGIs8nHxA,4400
577
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py,sha256=SdphwpnXn-tsMkyF11pds4oo-wyLd7z-KfyEDmQ21wY,16191
578
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py,sha256=pbOMI8Dw7f8o5aM1rB7ZiXyGZvgD2K5y12QQhlutyyo,6348
579
- rapidata/rapidata_client/config/__init__.py,sha256=UEOJcR-vIrhtvJBqfdQ0AmZhcbOtnCyQxC2EZVpFGYY,45
580
- rapidata/rapidata_client/config/rapidata_config.py,sha256=KKkivcCU-cF5-M-Qkj64BXRzlq3qfRgj0LRqMdHdYgo,1238
576
+ rapidata/rapidata_client/benchmark/participant/_participant.py,sha256=lusHE96yTBzfLLmG7M-BBbI-cJQR_kUUST1wx2xwxP8,5066
577
+ rapidata/rapidata_client/benchmark/rapidata_benchmark.py,sha256=E14jtwvz3DiVkBbyZSUh-lneDk6ZUOlloLGiYDfFaPc,19786
578
+ rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py,sha256=szdMd0pqvUhEU8nwE8CnKwx4oirXd4KMg_nfw_bKADs,7362
579
+ rapidata/rapidata_client/config/__init__.py,sha256=AdL9mKlOa_xm3spFKPBBdTYzhioQh7-UvXd6t84wlDk,238
580
+ rapidata/rapidata_client/config/logger.py,sha256=nQl9w6wLdvKGJFqtEQWoUBAlDtvYmo3w4ekIx4sNynI,5518
581
+ rapidata/rapidata_client/config/logging_config.py,sha256=yx6wlc3K4_YJfV67MmwXSdhfQIRXym87bsudF5-oTvw,2161
582
+ rapidata/rapidata_client/config/managed_print.py,sha256=2T6dwgR1EZzFAdOEyPp_BBUsa-qrEuhOXgFhsSQKvRo,185
583
+ rapidata/rapidata_client/config/order_config.py,sha256=zoZL28J_gmI_Ltw7OzVriqSYYtvRZJUpvVJcxnNc6vA,551
584
+ rapidata/rapidata_client/config/rapidata_config.py,sha256=4v9vs3s7Hw7fCImM-h9-Ll2J5ZGrCD4ji6tP5fLwzZE,1501
585
+ rapidata/rapidata_client/config/tracer.py,sha256=h3GXzaX79HPcip4fBhLaLW0mRlXttR7D3KA78ZT0KVw,4736
586
+ rapidata/rapidata_client/config/upload_config.py,sha256=Apn3CfKtlR9ZESa4V1tWYbtoYHGsLybHMUtdVz89BOQ,428
581
587
  rapidata/rapidata_client/country_codes/__init__.py,sha256=FB9Dcks44J6C6YBSYmTmNZ71tE130x6NO_3aLJ8fKzQ,40
582
588
  rapidata/rapidata_client/country_codes/country_codes.py,sha256=ePHqeb7y9DWQZAnddBzPx1puYBcrgUjdR2sbFijuFD8,283
583
589
  rapidata/rapidata_client/datapoints/__init__.py,sha256=YiXWlFKSi3ABP35zDukL7_z5uEdRrCMriquM6BoX6-s,276
584
- rapidata/rapidata_client/datapoints/_datapoint.py,sha256=_2STsuRXdpEBgzX0eTCbFCcEx_qhXipGzM_VyZgbSzo,7434
590
+ rapidata/rapidata_client/datapoints/_datapoint.py,sha256=YwV7l_6EZx6nbqU2-bHJsaP7cfOAaKSe_s-qQPoPsnY,7433
585
591
  rapidata/rapidata_client/datapoints/assets/__init__.py,sha256=eQkqUrYFME1FCxPY2Xh2bbonKVPnsFElJ6aPFcsWGxI,361
586
592
  rapidata/rapidata_client/datapoints/assets/_base_asset.py,sha256=B2YWH1NgaeYUYHDW3OPpHM_bqawHbH4EjnRCE2BYwiM,298
587
- rapidata/rapidata_client/datapoints/assets/_media_asset.py,sha256=xUrtLj5D9dmJz4ycMweVX5mEbXpw9UwXl9HiXkX0d0o,10488
593
+ rapidata/rapidata_client/datapoints/assets/_media_asset.py,sha256=3ySWP_8ItDn8OYFhc1w0SMymfJ-4gvT6JvuJ6_tn0GY,10487
588
594
  rapidata/rapidata_client/datapoints/assets/_multi_asset.py,sha256=EBsTShUbJdxfslaxmdPlBORtzFftXfnt3m28EMiL12s,1818
589
- rapidata/rapidata_client/datapoints/assets/_sessions.py,sha256=FvvTloAxw-GpPtG56X6VV79NU1hJStYxQ1eoLUhOtb4,1243
595
+ rapidata/rapidata_client/datapoints/assets/_sessions.py,sha256=8UjdYCdqCQwP9JtGoxjXqbns4Ou0vnGgpVrrwALe8Ns,1245
590
596
  rapidata/rapidata_client/datapoints/assets/_text_asset.py,sha256=bF3S624oDpZ-TmnPjkciJStlV61U24AbxZEBpyS-L1Y,807
591
597
  rapidata/rapidata_client/datapoints/assets/constants.py,sha256=AwQGQyPqQ1ozAhFdQvRYWi-DUcRQ32jJD4tWy7htQfs,257
592
598
  rapidata/rapidata_client/datapoints/assets/data_type_enum.py,sha256=v6gR2Wqenb9H_Bs6dKmUrkbjYRDD3tZmeoL5f8LlAcM,239
@@ -599,43 +605,40 @@ rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py,sha256=sB4Ovbr1
599
605
  rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py,sha256=tX8GIOQzMsbHlchJqaR7k_9I74z52aXMeYudvx56YYU,540
600
606
  rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py,sha256=T8wnF_QOssDxXbD646QczDZ-IWToly1JvSvd8w5qvdc,605
601
607
  rapidata/rapidata_client/demographic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
602
- rapidata/rapidata_client/demographic/demographic_manager.py,sha256=OaYrfrftU_p00X3BGlAjoky6_RPm0mhQwGnJsJSVca0,1203
608
+ rapidata/rapidata_client/demographic/demographic_manager.py,sha256=x0kQdgqMXAx7VuZJiP2HeI_dtKEd-W-hcY3URDcEfrU,1089
603
609
  rapidata/rapidata_client/exceptions/__init__.py,sha256=2hbWRgjlCGuoLPVDloQmmH81uzm9F2OAX2iFGCJyRu8,59
604
610
  rapidata/rapidata_client/exceptions/failed_upload_exception.py,sha256=iN0RqEw_mw4Cl3CMI7A3ljj9EFjGdlr9LpnMIwGOH6g,3109
605
611
  rapidata/rapidata_client/filter/__init__.py,sha256=j_Kfz_asNVxwp56SAN2saB7ZAHg3smL5_W2sSitmuJY,548
606
- rapidata/rapidata_client/filter/_base_filter.py,sha256=cPLl0ddWB8QU6Luspnub_KXiTEfEFOVBEdnxhJOjoWs,2269
607
- rapidata/rapidata_client/filter/age_filter.py,sha256=oRjGY65gE_X8oa0D0XRyvKAb4_Z6XOOaGTWykRSfLFA,739
608
- rapidata/rapidata_client/filter/and_filter.py,sha256=AlQ-M81_SgVjH7EAghRa5J7u2I6l41ADx9gP2PT0stY,1343
609
- rapidata/rapidata_client/filter/campaign_filter.py,sha256=6ZT11-gub8349QcRwuHt8AcBY18F7BdLRZ2Ch_vjLyU,735
610
- rapidata/rapidata_client/filter/country_filter.py,sha256=JqCzxePRizXQbN4YzwLmrx9ozKgw0ra6N_enEq36imI,948
611
- rapidata/rapidata_client/filter/custom_filter.py,sha256=XZgqJhKCy7m2P0Dx8fk7vVszbdKc7gT2U07dWi3hXgU,885
612
- rapidata/rapidata_client/filter/gender_filter.py,sha256=f3E7p4ZLoAFvzUTbnqgcjl4QduWPA89fg63MNDIfzp8,724
613
- rapidata/rapidata_client/filter/language_filter.py,sha256=reQHirEGXUBQaLwtEznK5OzQ17A18CVMoM-bVJ64OVE,1310
612
+ rapidata/rapidata_client/filter/_base_filter.py,sha256=NVa2oWgtXD9kmXWyMkYZZ-2RYzgcN0hO76uGrEXXLEs,2384
613
+ rapidata/rapidata_client/filter/age_filter.py,sha256=mVZaKyBoK-mml_oFox97l1yUXvINPk-2cEimuU_FJac,908
614
+ rapidata/rapidata_client/filter/and_filter.py,sha256=6RL4hbC6UjiC_ID8Oc2OaFz_QlDFIRtxODL65eK62yI,1586
615
+ rapidata/rapidata_client/filter/campaign_filter.py,sha256=jvcQWwVb_L9Vl3R7hojzwLQbi0HKigGsSVR8JtZzR2Y,930
616
+ rapidata/rapidata_client/filter/country_filter.py,sha256=bRxRVXcpH2vkAGZUZ9rQdyXpdWewUYQvVBIkHdbE-9Q,1137
617
+ rapidata/rapidata_client/filter/custom_filter.py,sha256=TGbqTUm7UAhbYLSGRpi04EqZMb8AQNHEcExeJ81LNf0,1109
618
+ rapidata/rapidata_client/filter/gender_filter.py,sha256=vzGE2qf9EpI_D_ynfur2--LSzBUaA5waVS86t6-vAYg,887
619
+ rapidata/rapidata_client/filter/language_filter.py,sha256=BoHBagrPfUurNOjGEY3tCd4Ao4aoRlwHwys9IEg-8_k,1429
614
620
  rapidata/rapidata_client/filter/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
615
621
  rapidata/rapidata_client/filter/models/age_group.py,sha256=9Lk_zvuGqJZNij_CLFNLwE07piUaDrZMyAXzFAk6FKc,1203
616
622
  rapidata/rapidata_client/filter/models/gender.py,sha256=aXg6Kql2BIy8d5d1lCVi1axMWnyN1FFgPDU6fh2hYUM,627
617
- rapidata/rapidata_client/filter/new_user_filter.py,sha256=qU7d6cSslGEO_N1tYPS4Ru3cGbQYH2_I5dJPNPHvtCM,369
618
- rapidata/rapidata_client/filter/not_filter.py,sha256=05uZMNPfguNPONP2uYYtuxx-5UAYdmc8gwSAEHMiK3k,1183
619
- rapidata/rapidata_client/filter/or_filter.py,sha256=EomsXyYec4beAA63LYfIsh8dO4So1duI7VlLW8VPfzY,1339
623
+ rapidata/rapidata_client/filter/new_user_filter.py,sha256=HT0gXct1j2_0AdbSn-9DhrwWtLSGLECWNGZKQCoglFM,344
624
+ rapidata/rapidata_client/filter/not_filter.py,sha256=PlVcMMuByBJ4iaZoFD8QHTdgLtgSBWcHV0vcRCc7fv0,1376
625
+ rapidata/rapidata_client/filter/or_filter.py,sha256=4SDVWRh2yv87GjwGpQBIVyuZ23MqyDVpb9pQKuFLzLU,1580
620
626
  rapidata/rapidata_client/filter/rapidata_filters.py,sha256=4UqpfD2SfxVKRsxWL7uOf3sTeW7dpwxzOqLEMNHERWY,2215
621
- rapidata/rapidata_client/filter/response_count_filter.py,sha256=3U33Urvp76CdT7yvo49sKgvi-0e2iCkRXCkvGtqY9Ko,2003
622
- rapidata/rapidata_client/filter/user_score_filter.py,sha256=2C78zkWm5TnfkxGbV1ER2xB7s9ynpacaibzyRZKG8Cc,1566
623
- rapidata/rapidata_client/logging/__init__.py,sha256=4gLxePW8TvgYDZmPWMcf6fA8bEyu35vMKOmlPj5oXNE,110
624
- rapidata/rapidata_client/logging/logger.py,sha256=9vULXUizGObQeqMY-CryiAQsq8xDZw0ChLhvV8oa99s,3907
625
- rapidata/rapidata_client/logging/output_manager.py,sha256=AmSVZ2emVW5UWgOiNqkXNVRItsvd5Ox0hsIoZQhYYYo,653
627
+ rapidata/rapidata_client/filter/response_count_filter.py,sha256=i2u2YQD3_RLQRZyqAceAGLQS3es97Q2n8KTlgfDYMko,2332
628
+ rapidata/rapidata_client/filter/user_score_filter.py,sha256=4B3Zzp7aosDFmte3nLPTlXMN4zatT6Wcq5QLIoXqhgI,1910
626
629
  rapidata/rapidata_client/order/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
627
- rapidata/rapidata_client/order/_rapidata_dataset.py,sha256=yGdQVbQz8VONMchCyqE3ymsufLhpolzu3UghA1dUiZs,17665
628
- rapidata/rapidata_client/order/_rapidata_order_builder.py,sha256=ecK-7dPHfoDTyYdgg9xjNn5cbsDAuJ-_E7YEvKD1VYc,15634
629
- rapidata/rapidata_client/order/rapidata_order.py,sha256=oKAKs7PgOhCyVIYbKPcdUTwSttvVpoFx8_KAe2V6veI,13714
630
- rapidata/rapidata_client/order/rapidata_order_manager.py,sha256=UJ1xApSo8wyK0uCws7Q76u0lBOaLaqJygw2egKGBG1E,39208
631
- rapidata/rapidata_client/order/rapidata_results.py,sha256=ZY0JyHMBZlR6-t6SqKt2OLEO6keR_KvKg9Wk6_I29x4,8653
632
- rapidata/rapidata_client/rapidata_client.py,sha256=t35LjDjj4DEtSmkASIYvGOhzFP3JEVPYLwTwIpQd3Wk,4555
630
+ rapidata/rapidata_client/order/_rapidata_dataset.py,sha256=ftJD0czFX79AG9It7q2qdrQmUIGoyGq713AoUoC6nfU,18976
631
+ rapidata/rapidata_client/order/_rapidata_order_builder.py,sha256=Ww98ZrCPW8AAs7ifGQ4cFl0h9FOa_um0DaPzLu2z1aw,15681
632
+ rapidata/rapidata_client/order/rapidata_order.py,sha256=FvZi3t4dARRNsKWvYiNxVvM50AzPwQYR3AzI4utD6OI,14497
633
+ rapidata/rapidata_client/order/rapidata_order_manager.py,sha256=XiV_BpJxG6d8o0rFDYhnB3_mb576CQG5hY-qVXlJZKY,42592
634
+ rapidata/rapidata_client/order/rapidata_results.py,sha256=weL4S14fzug3ZOJbQk9Oj-4tv2jx5aZAMp7VJ-a6Qq4,8437
635
+ rapidata/rapidata_client/rapidata_client.py,sha256=_RsGD_8zoneYpoOeaStTC2pmTiXqqu6shMSd6A7HsfI,4894
633
636
  rapidata/rapidata_client/referee/__init__.py,sha256=q0Hv9nmfEpyChejtyMLT8hWKL0vTTf_UgUXPYNJ-H6M,153
634
637
  rapidata/rapidata_client/referee/_base_referee.py,sha256=MdFOhdxt3sRnWXLDKLJZKFdVpjBGn9jypPnWWQ6msQA,496
635
638
  rapidata/rapidata_client/referee/_early_stopping_referee.py,sha256=ULbokQZ91wc9D_20qHUhe55D28D9eTY1J1cMp_-oIDc,2088
636
639
  rapidata/rapidata_client/referee/_naive_referee.py,sha256=PVR8uy8hfRjr2DBzdOFyvou6S3swNc-4UvgjhO-09TU,1209
637
640
  rapidata/rapidata_client/selection/__init__.py,sha256=hYhiaLKJQqGSvUzzGLcHmE1jJD1SsymVXHuG674_G0M,581
638
- rapidata/rapidata_client/selection/_base_selection.py,sha256=tInbWOgxT_4CHkr5QHoG55ZcUi1ZmfcEGIwLKKCnN20,147
641
+ rapidata/rapidata_client/selection/_base_selection.py,sha256=FZyBiAGaUNYc2MY6okOmtZpVQPlAtxEDbD6kDtBuY2E,302
639
642
  rapidata/rapidata_client/selection/ab_test_selection.py,sha256=fymubkVMawqJmYp9FKzWXTki9tgBgoj3cOP8rG9oOd0,1284
640
643
  rapidata/rapidata_client/selection/capped_selection.py,sha256=iWhbM1LcayhgFm7oKADXCaKHGdiQIupI0jbYuuEVM2A,1184
641
644
  rapidata/rapidata_client/selection/conditional_validation_selection.py,sha256=OcNYSBi19vIcy2bLDmj9cv-gg5LFSvdjc3tooV0Z7Oc,2842
@@ -645,14 +648,14 @@ rapidata/rapidata_client/selection/labeling_selection.py,sha256=E2v_dww_z1CgmaqB
645
648
  rapidata/rapidata_client/selection/rapidata_retrieval_modes.py,sha256=2l1iKFHA25MVMW0GcpQaYlFZlFGSFCAIsRupHMDzoM0,782
646
649
  rapidata/rapidata_client/selection/rapidata_selections.py,sha256=lgwRivdzSnCri3K-Z-ngqR5RXwTl7iYuKTRpuyl5UMY,1853
647
650
  rapidata/rapidata_client/selection/shuffling_selection.py,sha256=FzOp7mnBLxNzM5at_-935wd77IHyWnFR1f8uqokiMOg,1201
648
- rapidata/rapidata_client/selection/static_selection.py,sha256=-RWD3ChPe7-J31Shmah9JBNCgc5a16C5NOUl1f8tZCM,680
651
+ rapidata/rapidata_client/selection/static_selection.py,sha256=_NpAhyUy8_zGkU4hH7CxRyd_Ct6o6CtEJsti-H1z_YY,514
649
652
  rapidata/rapidata_client/selection/validation_selection.py,sha256=sedeIa8lpXVXKtFJA9IDeRvo9A1Ne4ZGcepaWDUGhCU,851
650
653
  rapidata/rapidata_client/settings/__init__.py,sha256=N0WAPauadPgi7qzzaHa6mwFI25NX16VlTtxYBJ5Jwbk,507
651
- rapidata/rapidata_client/settings/_rapidata_setting.py,sha256=MD5JhhogSLLrjFKjvL3JhMszOMCygyqLF-st0EwMSkw,352
652
- rapidata/rapidata_client/settings/alert_on_fast_response.py,sha256=qW9Kv3mfl_V5NkPvKzg1Wz6QCRU-CmcAn1yaWCYI16U,989
654
+ rapidata/rapidata_client/settings/_rapidata_setting.py,sha256=ZiTzyEr9ihFif0av9CroY1KJ4PfFMB_cV_nrvBsG--s,583
655
+ rapidata/rapidata_client/settings/alert_on_fast_response.py,sha256=VYOQ1EfKolYmsNNI4gJPx-_UWFl9dtrroca796jrAZI,1007
653
656
  rapidata/rapidata_client/settings/allow_neither_both.py,sha256=KbcO9NEOvZ32YII5RCUh87KA5RubykQKVQA25DK1uGQ,539
654
657
  rapidata/rapidata_client/settings/custom_setting.py,sha256=TIbbedz98bfoIxQyiSMRYnQAaRFI1J7dYoTY89uNIoA,579
655
- rapidata/rapidata_client/settings/free_text_minimum_characters.py,sha256=-kKO36Z7SsK9hGNEaVeHd1MLMqY6lkAuVAm3ST0y_gs,729
658
+ rapidata/rapidata_client/settings/free_text_minimum_characters.py,sha256=m3C28_OhJNCiy2GKwi9VIXOSamjoHKDZUyVYdYFCWCg,777
656
659
  rapidata/rapidata_client/settings/models/__init__.py,sha256=IW7OuWg7xWIwFYrMAOX5N0HGGcqE6fFpgYin3vWRkOU,71
657
660
  rapidata/rapidata_client/settings/models/translation_behaviour_options.py,sha256=7eR_Tk_WouW2g466dXdwuDuYdSxSAeaVP4KR3mW9q7A,479
658
661
  rapidata/rapidata_client/settings/no_shuffle.py,sha256=9LNx4LptHZsQxamNYeY6lz9uakefyzVWM09tr76yx18,684
@@ -660,28 +663,28 @@ rapidata/rapidata_client/settings/play_video_until_the_end.py,sha256=LLHx2_72k5Z
660
663
  rapidata/rapidata_client/settings/rapidata_settings.py,sha256=qxwktsrrmGHqd6rKPMEZj0CK9k1SUtNjM2kedPaHTVs,1829
661
664
  rapidata/rapidata_client/settings/translation_behaviour.py,sha256=i9n_H0eKJyKW6m3MKH_Cm1XEKWVEWsAV_79xGmGIC-4,742
662
665
  rapidata/rapidata_client/validation/__init__.py,sha256=s5wHVtcJkncXSFuL9I0zNwccNOKpWAqxqUjkeohzi2E,24
663
- rapidata/rapidata_client/validation/rapidata_validation_set.py,sha256=hK7urfGi69HwrCAPcv9j4UrvrZopTFKJuyQIkFCqLC8,3596
666
+ rapidata/rapidata_client/validation/rapidata_validation_set.py,sha256=pDj1V6IFc6RdhtZwd37_Oi3ulvml16hmp11KMT_9_tc,3996
664
667
  rapidata/rapidata_client/validation/rapids/__init__.py,sha256=WU5PPwtTJlte6U90MDakzx4I8Y0laj7siw9teeXj5R0,21
665
668
  rapidata/rapidata_client/validation/rapids/box.py,sha256=t3_Kn6doKXdnJdtbwefXnYKPiTKHneJl9E2inkDSqL8,589
666
- rapidata/rapidata_client/validation/rapids/rapids.py,sha256=IpSTVtvh5FHRzSodAXMpOo8drpz8JGkWOevH8VgKHZ4,4500
669
+ rapidata/rapidata_client/validation/rapids/rapids.py,sha256=QckFItbKggezXb2awkDlYJ3mOw0Z7Z7gHzkWMBQEGl4,4822
667
670
  rapidata/rapidata_client/validation/rapids/rapids_manager.py,sha256=6VLGKuh76UlTmxxZv1guEj8pn-kZ6p5WN327WMFNdM0,14360
668
- rapidata/rapidata_client/validation/validation_set_manager.py,sha256=0oKzXRF3Oa-Lae7MAIAndR5LYZTjat8sP4ujC7cCjeA,32580
671
+ rapidata/rapidata_client/validation/validation_set_manager.py,sha256=gjZNZLSSkhqC_Ogau-4IBBhpBQPRhnYyyY5Fd-UW9fg,34698
669
672
  rapidata/rapidata_client/workflow/__init__.py,sha256=7nXcY91xkxjHudBc9H0fP35eBBtgwHGWTQKbb-M4h7Y,477
670
- rapidata/rapidata_client/workflow/_base_workflow.py,sha256=SxH9EECdWsJFsJ0VQRDhGaZF54tgq2Si6ch7pya47Mk,1397
671
- rapidata/rapidata_client/workflow/_classify_workflow.py,sha256=6t8kY-jbdhxYIEd3FZaLDUDtydzqnwPVXNQiWJgH9YQ,2244
672
- rapidata/rapidata_client/workflow/_compare_workflow.py,sha256=nvah74xT9tH3aY73n3ZrT3WMZS25uOcWomrjEZHCjXA,1890
673
- rapidata/rapidata_client/workflow/_draw_workflow.py,sha256=tAwb1QpGQ728R-XVez-0tp-InOAA36xOKYZpwdp9Bnk,1133
674
- rapidata/rapidata_client/workflow/_evaluation_workflow.py,sha256=ZI9qNvFVrnScMUi6Iq7yRiJDIbor-FUGbepfKboXEmc,1389
675
- rapidata/rapidata_client/workflow/_free_text_workflow.py,sha256=1wZ5AvWg8IiV6zBn9p5GTv3ldtZ12kls5u6YNmNZxHA,2315
676
- rapidata/rapidata_client/workflow/_locate_workflow.py,sha256=CEcxu_2IR1NhrgpFuVhzoiWEP-Ad3E1egGcIbrYnVTk,1153
677
- rapidata/rapidata_client/workflow/_ranking_workflow.py,sha256=oLrPTBrVbRsh2yUoh1ZTEn9dp1h-S5J1aCcNVUn9pus,2315
678
- rapidata/rapidata_client/workflow/_select_words_workflow.py,sha256=WsIbs4OldJLD3VsPosSclbMYsc1ps4Ai6BK7dlVtiw4,2445
679
- rapidata/rapidata_client/workflow/_timestamp_workflow.py,sha256=21Bn3hS_lE2n31gJRL1HBj9BTRjuUC6aYeGS5y7cVEY,1530
673
+ rapidata/rapidata_client/workflow/_base_workflow.py,sha256=iuWomsy1zIcIxLzYTBKmAHs4sQ_D4xQkMaNWqf57y3E,1461
674
+ rapidata/rapidata_client/workflow/_classify_workflow.py,sha256=kw-otP_m1TY-mWSjYeMtrD2lLRtsNoocxQ00x50sKo8,2520
675
+ rapidata/rapidata_client/workflow/_compare_workflow.py,sha256=tqHwDe-dLhBHH9OGMih04BSQeAqMpxNo6Eq4_Jmv1Rw,2151
676
+ rapidata/rapidata_client/workflow/_draw_workflow.py,sha256=e6EDU6floI3uGEPuNgCPY_9rVhRCAcGa_0e9voO8TU0,1308
677
+ rapidata/rapidata_client/workflow/_evaluation_workflow.py,sha256=3b71NpxAdmYfRTZCZHq-UoQFqY7CDlMup6VwE7412kc,1732
678
+ rapidata/rapidata_client/workflow/_free_text_workflow.py,sha256=zWmICBtiq1UYh_4bloqmDalNgWrmqBxj_CzyrJFAD7c,2638
679
+ rapidata/rapidata_client/workflow/_locate_workflow.py,sha256=SVE8XuAdsFLeG_jWIS0WzPEqnjsy4uFP9yP4312yLH0,1332
680
+ rapidata/rapidata_client/workflow/_ranking_workflow.py,sha256=TOEKz8zZSd5qRwn4RRHoFcEYVqtTkpWmwvfi5rivI2Q,3042
681
+ rapidata/rapidata_client/workflow/_select_words_workflow.py,sha256=LlkYj0qL4UlLC27Mc1SasR3tZgxW3CF85mIm1I33sK8,2654
682
+ rapidata/rapidata_client/workflow/_timestamp_workflow.py,sha256=dHEnCgHDXn_wAh57lrtZmW7MZAIMkhMZb69NX60lUDM,1735
680
683
  rapidata/service/__init__.py,sha256=s9bS1AJZaWIhLtJX_ZA40_CK39rAAkwdAmymTMbeWl4,68
681
- rapidata/service/credential_manager.py,sha256=ULpsE-nGz4VlvKQt0LDqqsgIjwd0N1rhEDWFs5mAdPc,8699
684
+ rapidata/service/credential_manager.py,sha256=T3yL4tXVnibRytxjQkOC-ex3kFGQR5KcKUUAtao4PFw,8698
682
685
  rapidata/service/local_file_service.py,sha256=pgorvlWcx52Uh3cEG6VrdMK_t__7dacQ_5AnfY14BW8,877
683
- rapidata/service/openapi_service.py,sha256=AsGYG-HOnBxDj76oR7OODjPDYs6LwjgUDgLkWEEaMDI,5482
684
- rapidata-2.36.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
685
- rapidata-2.36.2.dist-info/METADATA,sha256=3hyS9QJFXPAGO9QmRKPnenglJMByX5KBh7VyjyvVjt0,1264
686
- rapidata-2.36.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
687
- rapidata-2.36.2.dist-info/RECORD,,
686
+ rapidata/service/openapi_service.py,sha256=k3V4eMNcAjBcxEv17lDivK8LV5TEjRTL9B_5KBlhcas,5482
687
+ rapidata-2.38.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
688
+ rapidata-2.38.0.dist-info/METADATA,sha256=m2Z5x1zix3Wb9HekNwLS_y08SdMBjHXJTeJOhR1Vgos,1406
689
+ rapidata-2.38.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
690
+ rapidata-2.38.0.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- from .logger import configure_logger, logger
2
- from .output_manager import managed_print, RapidataOutputManager
@@ -1,122 +0,0 @@
1
- """
2
- Provides centralized logging configuration for the Rapidata Python SDK.
3
- It sets up a logger instance that is used throughout the SDK to provide
4
- consistent logging behavior and formatting.
5
-
6
- The logger is configured with sensible defaults but can be customized using the
7
- `configure_logger` function to adjust log levels, output destinations, and formatting.
8
-
9
- Example:
10
- Basic usage with default configuration:
11
- ```python
12
- from rapidata import logger
13
-
14
- logger.info("This is an info message")
15
- logger.error("This is an error message")
16
- ```
17
-
18
- Custom configuration:
19
- ```python
20
- from rapidata import configure_logger
21
-
22
- # Configure with DEBUG level and file output
23
- configure_logger(
24
- level="DEBUG",
25
- log_file="/path/to/logs/rapidata.log"
26
- )
27
- ```
28
- """
29
- import logging
30
- import os
31
- from typing import Optional
32
-
33
- # Create module-level logger
34
- logger = logging.getLogger("rapidata")
35
-
36
- def configure_logger(
37
- level: str = "WARNING",
38
- log_file: Optional[str] = None,
39
- format_string: str = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
40
- ) -> None:
41
- """
42
- Configure the logger with custom settings.
43
-
44
- This function allows you to customize the logging behavior for the entire SDK.
45
- You can set the log level, specify a file for log output, and customize the log message format.
46
-
47
- Note:
48
- This function removes any existing handlers before adding new ones,
49
- so it's safe to call multiple times to reconfigure logging.
50
-
51
- Args:
52
- level: The logging level to set. Must be one of:\n
53
- - "DEBUG": Detailed information for diagnosing problems
54
- - "INFO": General information about program execution
55
- - "WARNING": Something unexpected happened (default)
56
- - "ERROR": A serious problem occurred
57
- - "CRITICAL": A very serious error occurred
58
-
59
- log_file: Optional path to a file where logs should be written.
60
- If provided, logs will be written to both console and file.
61
- The directory will be created if it doesn't exist.
62
-
63
- format_string: Custom format string for log messages.
64
- Uses Python logging format specifications.
65
- Default includes timestamp, logger name, level, and message.
66
-
67
- Example:
68
- Configure for development with debug logging:
69
- ```python
70
- configure_logger(level="DEBUG")
71
- ```
72
-
73
- Configure for production with file logging:
74
- ```python
75
- configure_logger(
76
- level="INFO",
77
- log_file="/var/log/rapidata/app.log"
78
- )
79
- ```
80
-
81
- Configure with custom format:
82
- ```python
83
- configure_logger(
84
- level="INFO",
85
- format_string="[%(levelname)s] %(message)s"
86
- )
87
- ```
88
- """
89
- # Map string levels to logging constants for validation and conversion
90
- level_map = {
91
- "DEBUG": logging.DEBUG,
92
- "INFO": logging.INFO,
93
- "WARNING": logging.WARNING,
94
- "ERROR": logging.ERROR,
95
- "CRITICAL": logging.CRITICAL
96
- }
97
-
98
- numeric_level = level_map.get(level.upper(), logging.INFO)
99
- logger.setLevel(numeric_level)
100
-
101
- # Remove existing handlers if any
102
- for handler in logger.handlers[:]:
103
- logger.removeHandler(handler)
104
-
105
- # Create formatter
106
- formatter = logging.Formatter(format_string)
107
-
108
- # Console handler
109
- console_handler = logging.StreamHandler()
110
- console_handler.setFormatter(formatter)
111
- logger.addHandler(console_handler)
112
-
113
- # File handler (optional)
114
- if log_file:
115
- log_dir = os.path.dirname(log_file)
116
- if log_dir:
117
- os.makedirs(log_dir, exist_ok=True)
118
- file_handler = logging.FileHandler(log_file)
119
- file_handler.setFormatter(formatter)
120
- logger.addHandler(file_handler)
121
-
122
- configure_logger()
@@ -1,20 +0,0 @@
1
- class RapidataOutputManager:
2
- """Manages print outputs and progress bars for the Rapidata module."""
3
-
4
- silent_mode: bool = False
5
-
6
- @classmethod
7
- def enable_silent_mode(cls) -> None:
8
- """Enable silent mode, suppressing all print outputs and progress bars, not logging."""
9
- cls.silent_mode = True
10
-
11
- @classmethod
12
- def disable_silent_mode(cls) -> None:
13
- """Disable silent mode, allowing outputs to be printed.
14
- This is the default behavior.
15
- """
16
- cls.silent_mode = False
17
-
18
- def managed_print(*args, **kwargs) -> None:
19
- if not RapidataOutputManager.silent_mode:
20
- print(*args, **kwargs)