From 899ca92570629264f66a75ff5121c3494e77e26b Mon Sep 17 00:00:00 2001 From: Archan Das Date: Mon, 5 May 2025 18:26:29 +0000 Subject: [PATCH 1/4] ttelemetry --- codeflash/cli_cmds/cmd_init.py | 17 +++++++++++++++++ codeflash/main.py | 2 +- codeflash/version.py | 4 ++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/codeflash/cli_cmds/cmd_init.py b/codeflash/cli_cmds/cmd_init.py index 64fec6343..86dc1c87d 100644 --- a/codeflash/cli_cmds/cmd_init.py +++ b/codeflash/cli_cmds/cmd_init.py @@ -676,6 +676,8 @@ def configure_pyproject_toml(setup_info: SetupInfo) -> None: ) apologize_and_exit() + enable_telemetry = ask_for_telemetry() + codeflash_section = tomlkit.table() codeflash_section.add(tomlkit.comment("All paths are relative to this pyproject.toml's directory.")) codeflash_section["module-root"] = setup_info.module_root @@ -683,6 +685,7 @@ def configure_pyproject_toml(setup_info: SetupInfo) -> None: codeflash_section["test-framework"] = setup_info.test_framework codeflash_section["benchmarks-root"] = setup_info.benchmarks_root if setup_info.benchmarks_root else "" codeflash_section["ignore-paths"] = setup_info.ignore_paths + codeflash_section["disable-telemetry"] = not enable_telemetry if setup_info.git_remote not in ["", "origin"]: codeflash_section["git-remote"] = setup_info.git_remote formatter = setup_info.formatter @@ -934,3 +937,17 @@ def run_end_to_end_test(args: Namespace, bubble_sort_path: str, bubble_sort_test console.rule() Path(path).unlink(missing_ok=True) logger.info(f"🗑️ Deleted {path}") + + +def ask_for_telemetry() -> bool: + """Prompt the user to enable or disable telemetry.""" + from rich.prompt import Confirm + + enable_telemetry = Confirm.ask( + "⚡️ Would you like to enable telemetry to help us improve the Codeflash experience?", + default=True, + show_default=True, + ) + + ph("cli-telemetry-prompt", {"telemetry_enabled": enable_telemetry}) + return enable_telemetry diff --git a/codeflash/main.py b/codeflash/main.py index 2ec4c614d..8ec46f32c 100644 --- a/codeflash/main.py +++ b/codeflash/main.py @@ -5,7 +5,7 @@ from pathlib import Path from codeflash.cli_cmds.cli import parse_args, process_pyproject_config -from codeflash.cli_cmds.cmd_init import CODEFLASH_LOGO, ask_run_end_to_end_test +from codeflash.cli_cmds.cmd_init import CODEFLASH_LOGO, ask_run_end_to_end_test, ask_for_telemetry from codeflash.cli_cmds.console import paneled_text from codeflash.code_utils.config_parser import parse_config_file from codeflash.optimization import optimizer diff --git a/codeflash/version.py b/codeflash/version.py index c8c27e599..02e8d637b 100644 --- a/codeflash/version.py +++ b/codeflash/version.py @@ -1,3 +1,3 @@ # These version placeholders will be replaced by poetry-dynamic-versioning during `poetry build`. -__version__ = "0.12.2" -__version_tuple__ = (0, 12, 2) +__version__ = "0.12.2.post2.dev0+b6bbeecc" +__version_tuple__ = (0, 12, 2, "post2", "dev0", "b6bbeecc") From 14558c2935a4342b429a59eeb37c0829048f4f9b Mon Sep 17 00:00:00 2001 From: Archan Das Date: Mon, 5 May 2025 18:36:08 +0000 Subject: [PATCH 2/4] change version number back --- codeflash/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codeflash/version.py b/codeflash/version.py index 02e8d637b..c8c27e599 100644 --- a/codeflash/version.py +++ b/codeflash/version.py @@ -1,3 +1,3 @@ # These version placeholders will be replaced by poetry-dynamic-versioning during `poetry build`. -__version__ = "0.12.2.post2.dev0+b6bbeecc" -__version_tuple__ = (0, 12, 2, "post2", "dev0", "b6bbeecc") +__version__ = "0.12.2" +__version_tuple__ = (0, 12, 2) From 4ec672f94029ccfeca91367285ef30fc321e201f Mon Sep 17 00:00:00 2001 From: Archan Das Date: Mon, 5 May 2025 18:36:35 +0000 Subject: [PATCH 3/4] remove unused import --- codeflash/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codeflash/main.py b/codeflash/main.py index 8ec46f32c..2ec4c614d 100644 --- a/codeflash/main.py +++ b/codeflash/main.py @@ -5,7 +5,7 @@ from pathlib import Path from codeflash.cli_cmds.cli import parse_args, process_pyproject_config -from codeflash.cli_cmds.cmd_init import CODEFLASH_LOGO, ask_run_end_to_end_test, ask_for_telemetry +from codeflash.cli_cmds.cmd_init import CODEFLASH_LOGO, ask_run_end_to_end_test from codeflash.cli_cmds.console import paneled_text from codeflash.code_utils.config_parser import parse_config_file from codeflash.optimization import optimizer From 36225fec4b5120ecd5c144706dfcbe9bbd443678 Mon Sep 17 00:00:00 2001 From: Saurabh Misra Date: Tue, 6 May 2025 08:07:15 -0700 Subject: [PATCH 4/4] Update codeflash/cli_cmds/cmd_init.py --- codeflash/cli_cmds/cmd_init.py | 1 - 1 file changed, 1 deletion(-) diff --git a/codeflash/cli_cmds/cmd_init.py b/codeflash/cli_cmds/cmd_init.py index 86dc1c87d..e7f195154 100644 --- a/codeflash/cli_cmds/cmd_init.py +++ b/codeflash/cli_cmds/cmd_init.py @@ -949,5 +949,4 @@ def ask_for_telemetry() -> bool: show_default=True, ) - ph("cli-telemetry-prompt", {"telemetry_enabled": enable_telemetry}) return enable_telemetry