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 analyticsSCARF_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
- Clone the repository
- Install development dependencies:
pip install -e ".[dev]"
- Run tests:
pytest
Publishing
To publish a new version:
- Update version in
setup.py - 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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
scarf_sdk-0.1.1-py3-none-any.whl
(12.2 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44310f1090017178517a64ea05ae37cee2fdb290cb76bd7d442d5df4ab3efbde
|
|
| MD5 |
12ad610a09e08bcea86134bf8e21779a
|
|
| BLAKE2b-256 |
ec86b70dd77c1ddca13c68154eff81efd0ea18a97cd3d73c946245de61cefe71
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
139731fffa0423fd7e65a4a76764aaa0b690295dfb7869d251f7ca56c5aa11e0
|
|
| MD5 |
ae7b90b54d8a43138c86693d7ac885e9
|
|
| BLAKE2b-256 |
01d0f61ad8f923c419339c425b3d4c7f6011544efe70c10239d4594894b6bee3
|