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.1.tar.gz (10.8 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.1-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scarf_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 44310f1090017178517a64ea05ae37cee2fdb290cb76bd7d442d5df4ab3efbde
MD5 12ad610a09e08bcea86134bf8e21779a
BLAKE2b-256 ec86b70dd77c1ddca13c68154eff81efd0ea18a97cd3d73c946245de61cefe71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scarf_sdk-0.1.1-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.11.11

File hashes

Hashes for scarf_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 139731fffa0423fd7e65a4a76764aaa0b690295dfb7869d251f7ca56c5aa11e0
MD5 ae7b90b54d8a43138c86693d7ac885e9
BLAKE2b-256 01d0f61ad8f923c419339c425b3d4c7f6011544efe70c10239d4594894b6bee3

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