Skip to main content

A Python library for interacting with the Measurely API

Project description

Measurely-py

Measurely-py is a lightweight Python library for interacting with the Measurely API, enabling developers to manage and track custom metrics programmatically using Python.

Installation

To use the Measurely package in your Python project, you can install it using pip:

pip install measurely-py

Usage

1. Initialize the Measurely package

Before you can send any metrics to Measurely, you need to initialize the package with your API key. The init method accepts your API key as a string and sets it for use in subsequent API calls.

from measurely import Measurely

# Initialize the Measurely package with your API key
Measurely.init("YOUR_API_KEY")

2. Send a Metric (Capture)

The capture method is used to send metric data to Measurely. You need to pass the metric identifier (which is a unique name or ID for the metric) and the metric value you want to track. You can also pass filters in the CapturePayload to categorize or refine your metric data.

Example of sending a metric with filters

from measurely import Measurely, CapturePayload

# Initialize the Measurely package with your API key
Measurely.init("YOUR_API_KEY")

# Create a metric payload with filters
payload = CapturePayload(
    value=42,
    filters={"region": "US", "device": "mobile"}
)

# Capture the metric and get the result
result = Measurely.capture("example_metric", payload)

# Handle the result
if result["success"]:
    print("Metric captured successfully!")
else:
    print(f"Error capturing metric: {result['message']}")

3. Error Handling

The capture method returns a CaptureResult dictionary that contains two fields:

  • success (bool): Indicates if the API call was successful.
  • message (str): Contains the response message from the server, which could either be a success message or an error message.

API Reference

init(NEW_API_KEY: str)

  • Description: Initializes the Measurely package with your API key.
  • Parameters:
    • NEW_API_KEY: The API key provided by Measurely.
  • Returns: None.

capture(metric_identifier: str, payload: CapturePayload) -> CaptureResult

  • Description: Sends a metric value to Measurely for tracking.
  • Parameters:
    • metric_identifier: The unique identifier for the metric you are capturing.
    • payload: A CapturePayload object that contains the metric value and optional filters to categorize the metric.
  • Returns: A CaptureResult dictionary that contains the success status and response message.

Types

CapturePayload

from typing import TypedDict

class CapturePayload(TypedDict):
    value: int  # The metric value to be recorded.
    filters: dict[str, str]  # Optional filters to categorize the metric.
  • Description: This class defines the data payload that is sent to the Measurely API when capturing a metric. You can include filters as a dictionary of key-value pairs to add metadata to the metric.
  • Fields:
    • value (int): The metric value that you want to track.
    • filters (dict[str, str]): Optional filters for categorizing the metric. This can include any custom key-value pairs.

CaptureResult

class CaptureResult(TypedDict):
    success: bool  # Indicates if the API call was successful
    message: str   # Contains the server's response or an error message
  • Description: This class represents the result of the API call to capture a metric.
  • Fields:
    • success (bool): Indicates if the metric capture was successful.
    • message (str): Contains the server's response or an error message.

Contributing

Contributions are welcome! Please open an issue or submit a pull request to improve the library.

License

This library is licensed under the MIT License.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

measurely_py-0.1.9-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file measurely_py-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: measurely_py-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for measurely_py-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8434b05a0141a01ad40dba52578c35343d23b164fbbdb2ea53fbf0b58ed0a429
MD5 22cf9c7d520b94d0ef3659cbb4fdcd8c
BLAKE2b-256 68b3b141b1b0ebd668eab3cdcf860bbd203c6d77c5d3b3d16fec0d73c0347b91

See more details on using hashes here.

Provenance

The following attestation bundles were made for measurely_py-0.1.9-py3-none-any.whl:

Publisher: publish.yml on Measurely-dev/measurely-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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