Skip to main content

Python bindings for Scarf telemetry

Project description

scarf-py

PyPI - Version

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)
  • 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.1.3.tar.gz (11.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.3-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scarf_sdk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 46209927e025b8faa04a01af1ff91b2b82284b50120003e6d3d30fa4fbe20c7f
MD5 fd9fedbe20167b0c9a87683568f81745
BLAKE2b-256 727b1ccb15da8caeaf15e390c861908e486211cebd20672fd78ee2a254c225b3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for scarf_sdk-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 46fcd2cbefbe1b65c0aa4b0c3c670f364b3252d62f5df69148ece3ea99653ee9
MD5 9e7e8866da335d29f4f92f64f21df9c9
BLAKE2b-256 0abc278258d95f5d64ae0d5a6e25b0afdcc20603fe34eedc753ec8d5be48dca2

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