From b11c17dbd415aa174f202a20bb70fb923a5c0093 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 12 Aug 2024 16:10:20 -0700 Subject: [PATCH] feat: Add optional analytics tracking --- aider/analytics.py | 7 ++++++- aider/args.py | 6 ++++++ aider/main.py | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/aider/analytics.py b/aider/analytics.py index 3bf8e7c23..7ef200490 100644 --- a/aider/analytics.py +++ b/aider/analytics.py @@ -6,7 +6,12 @@ from mixpanel import Mixpanel class Analytics: - def __init__(self, project_token="3f9ad6b9d7b7e8e5a1a5a9a7b0b0b0b0"): + def __init__(self, track): + if not track: + self.mp = None + return + + project_token = "3f9ad6b9d7b7e8e5a1a5a9a7b0b0b0b0" self.mp = Mixpanel(project_token) if project_token else None self.user_id = self.get_or_create_uuid() diff --git a/aider/args.py b/aider/args.py index cd8446162..f9bf549ba 100644 --- a/aider/args.py +++ b/aider/args.py @@ -547,6 +547,12 @@ def get_parser(default_config_files, git_root): help="Run aider in your browser", default=False, ) + group.add_argument( + "--analytics", + action=argparse.BooleanOptionalAction, + default=False, + help="Enable/disable analytics tracking (default: True)", + ) return parser diff --git a/aider/main.py b/aider/main.py index de50dbc70..34af70ec3 100644 --- a/aider/main.py +++ b/aider/main.py @@ -10,6 +10,7 @@ from dotenv import load_dotenv from prompt_toolkit.enums import EditingMode from aider import __version__, models, utils +from aider.analytics import Analytics from aider.args import get_parser from aider.coders import Coder from aider.commands import Commands, SwitchCoder @@ -496,6 +497,8 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F args.max_chat_history_tokens or main_model.max_chat_history_tokens, ) + analytics = Analytics(args.analytics) + try: coder = Coder.create( main_model=main_model, @@ -521,6 +524,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F test_cmd=args.test_cmd, commands=commands, summarizer=summarizer, + analytics=analytics, ) except ValueError as err: