Skip to main content

Postman SDK

Project description

About

This SDK instruments python web frameworks to capture http requests for auto-generating accurate postman live collections.

The minimum supported version for Python is: 3.7+.

Installation Process

pip install postman-sdk

Initializing the SDK

At the top of your app.py file, before app is initialized, add this.

import postman_sdk as pm

pm.initialize(
    {
        "api_key": "POSTMAN_API_KEY",
        "collection_id": "LIVE_COLLECTION_ID",
        "debug": True/False,
    }
)

Configuration

For initialization the SDK, the following values can be configured -

  • collection_id: Postman collectionId where requests will be added. This is the id for your live collection.

    • Type: string
  • api_key: Postman api key needed for authentication.

    • Type: string
  • debug: Enable/Disable debug logs.

    • Type: boolean
    • Default: False
  • enable: Enable/Disable the SDK. Disabled SDK does not capture any new traces, nor does it use up system resources.

    • Type: boolean
    • Default: True
  • truncate_data: Truncate the request and response body so that no PII data is sent to Postman. This is enabled by default. Disabling it sends actual request and response payloads.

    • Example:

      Sample payload or non-truncated payload:

      {
          "first_name": "John",
          "age": 30
      }
      

      Truncated payload:

      {
          "first_name": {
              "type": "str"
          },
          "age": {
              "type": "int"
          }
      }
      
    • Type: boolean

    • Default: True

  • redact_sensitive_data: Redact sensitive data such as api_keys and auth tokens, before they leave the sdk. This is enabled by default. But NO rules are set.

    • Example:
      {
      "redact_sensitive_data": {
          "enable": True(default),
          "rules": {
              "<rule name>": "<regex to match the rule>", # such as -
              "basic_auth": r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b",
              },
          }
      }
      
    • Type: object
  • ignore_incoming_requests: List of regexes to be ignored from instrumentation. This rule only applies to endpoints that are served by the application/server.

    • Example:
      {
          "ignore_incoming_requests": ["knockknock", "^get.*"]
      }
      
      The above example, will ignore any endpoint that contains the word "knockknock" in it, and all endpoints that start with get, and contain any characters after that.
    • Type: dict
  • ignore_outgoing_requests: List of regexes to be ignored from instrumentation. This rule only applies to endpoints that are called by the application/server.

    • Example:
      {
          "ignore_outgoing_requests": ["knockknock", "^get.*"]
      }
      
      The above example, will ignore any endpoint that contains the word "knockknock" in it, and all endpoints that start with get, and contain any characters after that.
    • Type: dict
  • buffer_interval_in_milliseconds: The interval in milliseconds that the SDK waits before sending data to Postman. The default interval is 5000 milliseconds. This interval can be tweaked for lower or higher throughput systems.

    • Type: int
    • Default: 5000

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

postman-sdk-0.0.5.tar.gz (16.2 kB view hashes)

Uploaded Source

Built Distribution

postman_sdk-0.0.5-py3-none-any.whl (24.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page