diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8769868..de76528 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,7 +6,7 @@ jobs: test: strategy: matrix: - python-version: [3.7, 3.8, 3.9, '3.10', '3.11'] + python-version: [3.8, 3.9, '3.10', '3.11'] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} @@ -87,4 +87,4 @@ jobs: TAG: ${{ github.ref_name }} run: | echo "tag is $TAG" - pkgmt release $TAG --production --yes \ No newline at end of file + pkgmt release $TAG --production --yes diff --git a/CHANGELOG.md b/CHANGELOG.md index e443306..20548ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.2.26dev +* [Feature] New optional custom telemetry `api_key` + ## 0.2.25 (2024-02-01) * [Feature] Updates cloud message diff --git a/src/ploomber_core/telemetry/telemetry.py b/src/ploomber_core/telemetry/telemetry.py index d109fb4..72d3f95 100644 --- a/src/ploomber_core/telemetry/telemetry.py +++ b/src/ploomber_core/telemetry/telemetry.py @@ -420,12 +420,12 @@ def __init__(self, api_key, package_name, version, *, print_cloud_message=True): self.print_cloud_message = print_cloud_message @classmethod - def from_package(cls, package_name, *, print_cloud_message=True): + def from_package(cls, package_name, *, print_cloud_message=True, api_key=None): """ Initialize a Telemetry client with the default configuration for a package with the given name """ - default_api_key = "phc_P9SpSeypyPwxrMdFn2edOOEooQioF2axppyEeDwtMSP" + default_api_key = api_key or "phc_P9SpSeypyPwxrMdFn2edOOEooQioF2axppyEeDwtMSP" version = get_package_version(package_name) return cls( api_key=default_api_key, diff --git a/tests/telemetry/test_telemetry.py b/tests/telemetry/test_telemetry.py index 68fcdcf..f063556 100644 --- a/tests/telemetry/test_telemetry.py +++ b/tests/telemetry/test_telemetry.py @@ -1080,11 +1080,19 @@ def test_check_cloud(tmp_directory, monkeypatch, capsys, last_cloud_check): def test_from_package(): _telemetry = telemetry.Telemetry.from_package("ploomber-core") - assert _telemetry.api_key + assert _telemetry.api_key == "phc_P9SpSeypyPwxrMdFn2edOOEooQioF2axppyEeDwtMSP" assert _telemetry.version assert _telemetry.package_name == "ploomber-core" +def test_from_package_custom_api_key(): + _telemetry = telemetry.Telemetry.from_package( + "ploomber-core", api_key="test_custom_key" + ) + + assert _telemetry.api_key == "test_custom_key" + + def test_runs_check_cloud(monkeypatch): mock = Mock() monkeypatch.setattr(telemetry, "check_cloud", mock)