Skip to main content

Python bindings for Scarf telemetry

Project description

scarf-py

A Python client for sending telemetry events to Scarf.

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",
    "version": "1.0.0"
})

# 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
  • Environment variable configuration
  • Configurable timeouts (default: 3 seconds)
  • Support for empty payloads
  • Automatic User-Agent header (scarf-sdk/VERSION)
  • Respects 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
  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.1.0.tar.gz (10.9 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.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scarf_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.11

File hashes

Hashes for scarf_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 21eda2906d6b1d971e3aa54560e9d58de54393cd2cdc889db67cd969587e06e7
MD5 f3869bc767cfd28e3248be964a03697b
BLAKE2b-256 0e9fea224a8a31929a99526919bac4b47d8e482fac74a711be5a7fda4324519c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scarf_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.11

File hashes

Hashes for scarf_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a8de4dcdd255bcb341e278f1677be40b35574e2003c6960cc9d4fd9efab2411
MD5 8cedd35ae0730c9f3798137c1e820b6a
BLAKE2b-256 8b18fdeb6b411324d0a658c49acbf62ad5b378bc198d731ea2306339d2baa35a

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