Python SDK

Python SDK v2.1.0

View on GitHub

New Features and Improvements

  • Experience Keys in Feature Methods
    Added experience_keys support in run_feature, run_features, and diagnose_feature. This addition allows developers to pass additional context, facilitating more detailed operations with features. (commit)

  • Type Casting in Feature Execution
    Implemented type casting for run_feature and run_features. This auto-conversion of feature variables enhances flexibility when handling data types. (commit)

  • String Keys When Type Casting Disabled
    Ensured that variable keys remain strings when type casting is not used. This standardization prevents unexpected type errors in key-value operations. (commit)

  • Optimized Experience Key Materialization
    Improved the performance by materializing experience_keys once, ensuring the generator continuously filters without redundancy. This change resolves issues #1 and #2, enhancing efficiency. (commit)

Bug Fixes

No bug fixes were included in this release.


Python SDK v2.0.0

View on GitHub

New Features and Improvements

  • Anchored Bucketing Layout (Contract v12)

    • Experiences now use an anchored layout for bucketing, where each variation maintains a fixed position based on its cumulative traffic allocation. Adjusting an experience's total allocation will alter each variation within its boundary, preventing shifts across all variations.
  • Demo Experiment-Preview Links

    • Added the ability to demonstrate experiment-preview links within the demo harness for better user experience testing.

Bug Fixes

  • Guard Against None-ID False Match
    • Added a safeguard in _find_experience_in_body to prevent false matches when encountering None IDs.

Python SDK v1.0.1

View on GitHub

New Features and Improvements

  • Experience Activation Tracking Events
    • Added support for emitting experience-activation (bucketing) tracking events. You can now control tracking on a per-call basis using the enable_tracking parameter. 282f29f

Bug Fixes

  • No bug fixes in this release.

Python SDK v1.0.0

View on GitHub

New Features and Improvements

  • Dual-Mode Staging Demo Harness

    • Added a demo harness to support dual-mode staging (qs-12). Commit
  • API Manager and Event Queue Layer

    • Introduced an API manager and event queue layer for better management of requests and event handling. Commit
  • Deterministic Bucketing and Rule Evaluation

    • Implemented a core system for deterministic bucketing and rule evaluation to enhance experiment consistency. Commit
  • In-Memory Config Evaluation Managers

    • Added in-memory configuration evaluation managers for faster config processing. Commit
  • Enhanced Logging and Documentation

    • Included a new logger and refreshed documentation, ensuring queue parity with the datastore. Commit
  • Cache and Network Optimization

    • Strengthened cache, refresh, and network runtime behaviors for improved performance. Commit
  • Comparison Operators Enhancement

    • Added isIn and regexMatches comparison operators for parity with JavaScript and PHP SDKs. Commit
  • Metrics Endpoint Improvement

    • Enhanced tracking delivery to the metrics endpoint with ConvertAgent User-Agent and status reporting. Commit
  • Remote Config Fetching Route Update

    • Updated to use the /api/v1/config/{sdk_key} route for fetching remote configurations. Commit

Bug Fixes

  • QS-12 Harness Specification Alignment

    • Aligned the QS-12 harness to specifications for run_feature and test-feature-rollout-1 typed variables. Commit
  • Windows Compatibility in Tests

    • Made queue-lifecycle and layering tests compatible with Windows environments. Commit

Did this page help you?