Skip to main content

Python bindings for Scarf telemetry

Project description

scarf-py

PyPI - Version

A Python client for sending telemetry events to Scarf using JSON payloads.

Installation

pip install scarf-sdk

Usage

from scarf import ScarfEventLogger

# Initialize with required endpoint URL
logger = ScarfEventLogger(
    endpoint_url="https://your-scarf-endpoint.com",
    timeout=5.0  # Optional: Set default timeout in seconds (default: 3.0)
)

# Send an event with properties
success = logger.log_event({
    "event": "package_download",
    "package": "scarf",
    "details": {
        "version": "1.0.0",
        "platforms": ["linux", "macos"]
    }
})

# Send an event with a custom timeout
success = logger.log_event(
    properties={"event": "custom_event"},
    timeout=1.0  # Override default timeout for this call
)

# Empty properties are allowed
success = logger.log_event({})

Configuration

The client can be configured through environment variables:

  • DO_NOT_TRACK=1: Disable analytics
  • SCARF_NO_ANALYTICS=1: Disable analytics (alternative)
  • SCARF_VERBOSE=1: Enable verbose logging

Features

  • Simple API for sending telemetry events
  • JSON payloads (supports nested data)
  • Environment variable configuration
  • Configurable timeouts (default: 3 seconds)
  • Respects user Do Not Track settings
  • Verbose logging mode for debugging

Development

  1. Clone the repository
  2. Install development dependencies:
    pip install -e ".[dev]"
    
  3. Run tests:
    pytest
    

Publishing

To publish a new version:

  1. Update version in setup.py and pyproject.toml
  2. Create and push a new tag:
    git tag v0.1.0
    git push origin v0.1.0
    

The CI workflow will automatically build and publish to PyPI when a new version tag is pushed.

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scarf_sdk-0.2.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scarf_sdk-0.2.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file scarf_sdk-0.2.1.tar.gz.

File metadata

  • Download URL: scarf_sdk-0.2.1.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for scarf_sdk-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bac1c41b274659dd6a1653cb61dddb0c222677548f5e6ce2b22baa70a643eb13
MD5 edb667931f721297cfcf56ddf4516549
BLAKE2b-256 ab56434f4171cffcab2d463dbb2bda20905f748a06a8fde7239e72f4fca89e02

See more details on using hashes here.

File details

Details for the file scarf_sdk-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: scarf_sdk-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for scarf_sdk-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eaaec3182ea4faceab3a1e0b260318c3f1e432273be03810e09aa807d0939431
MD5 b38e253adce6b4a631904da4fa4ec5d6
BLAKE2b-256 12df1e58161731f1be1bf97122296677862290ee0955392f7e71a4c476f0bf9f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page