Skip to content

Commit

Permalink
Add scarf telemetry in pandasai (#1260)
Browse files Browse the repository at this point in the history
* Add scarf telemetry in pandasai

* fix: ruff errors
  • Loading branch information
ArslanSaleem authored Jul 1, 2024
1 parent c872fec commit 73dce24
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 5 deletions.
3 changes: 0 additions & 3 deletions pandasai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"""
PandasAI is a wrapper around a LLM to make dataframes conversational
"""
import importlib.metadata

from pandasai.smart_dataframe import SmartDataframe
from pandasai.smart_datalake import SmartDatalake
Expand All @@ -12,8 +11,6 @@
from .helpers.cache import Cache
from .skills import skill

__version__ = importlib.metadata.version(__package__ or __name__)


def clear_cache(filename: str = None):
"""Clear the cache"""
Expand Down
3 changes: 3 additions & 0 deletions pandasai/__version__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import importlib.metadata

__version__ = importlib.metadata.version(__package__ or __name__)
4 changes: 4 additions & 0 deletions pandasai/helpers/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import time
from typing import List

from pandasai.helpers.telemetry import scarf_analytics
from pandasai.pydantic import BaseModel

from .path import find_closest
Expand Down Expand Up @@ -148,3 +149,6 @@ def save_logs(self, save_logs: bool):
for handler in self._logger.handlers:
if isinstance(handler, logging.FileHandler):
self._logger.removeHandler(handler)


scarf_analytics()
4 changes: 2 additions & 2 deletions pandasai/helpers/query_exec_tracker.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import requests

import pandasai
from pandasai.__version__ import __version__
from pandasai.connectors import BaseConnector
from pandasai.helpers.encoder import CustomEncoder
from pandasai.pipelines.chat.chat_pipeline_input import (
Expand Down Expand Up @@ -70,7 +70,7 @@ def start_new_track(self, input: ChatPipelineInput):
"instance": "Agent",
"query": input.query,
"output_type": input.output_type,
"pandasai_version": pandasai.__version__,
"pandasai_version": __version__,
}

def convert_dataframe_to_dict(self, df):
Expand Down
22 changes: 22 additions & 0 deletions pandasai/helpers/telemetry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import os
import platform

import requests

from pandasai.__version__ import __version__


def scarf_analytics():
try:
if (
os.getenv("SCARF_NO_ANALYTICS") != "true"
and os.getenv("DO_NOT_TRACK") != "true"
):
requests.get(
"https://package.pandabi.ai/pandasai-telemetry?version="
+ __version__
+ "&platform="
+ platform.system()
)
except Exception:
pass

0 comments on commit 73dce24

Please sign in to comment.