Skip to main content

Python client for Fiddler Service

Project description

Fiddler Client

Python client for interacting with Fiddler. Provides a user-friendly interface to our REST API and enables event publishing for use with our monitoring features.


Requires Python >= Python-3.6.3.


$ pip3 install fiddler-client 

API Example Usage

Documentation for the API can be found here. For examples of interacting with our APIs, please check out our Quick Start Guide as well as the work notebooks found on our Samples Github.

Version History


  • New Features
    • New publish_events_batch_schema API call, Publishes a batch events object to Fiddler Service using the passed publish_schema as a template.
    • New Ranking Monitoring capability available with publish_events_batch API
  • Modifications
    • Enforced package versions in
    • trigger_pre_computation has an additional optional argument (cache_dataset) to enable/disable dataset histograms caching.
    • register_model has 3 additional optional arguments to enable/disable pdp caching (set to False by default), feature importance caching (set to True by default) and dataset histograms caching (set to True by default).


  • New Features
    • New segment monitoring related functionality (currently in preview):
      • Ability to create and validate SegmentInfo objects,
      • upload_segment BE call,
      • activate_segment BE call,
      • deactivate_segment BE call, and
      • list_segments BE call,
  • Modifications
    • Upon connecting to the server, the client now performs a version check for the server by default. Earlier the default was to only do a version check for the client.


  • New Features
    • New update_event parameter for publish_events_batch API.
    • Changes to fdl.publish_event():
      • Renamed parameter event_time_stamp to event_timestamp
      • Added new parameter: timestamp_format
        • Allows specification of timestamp format using the FiddlerTimestamp class


  • New Features
    • New initialize_monitoring API call, sets up monitoring for a model. Intended to also work retroactively for legacy schema.
  • Modifications
    • Modified DatasetInfo.from_dataframe and ModelInfo.from_dataset_info to take additional dataset_id as parameter.
    • Modified the outputs parameter of ModelInfo.from_dataset_info to now expect a dictionary in case of regression tasks, specifying output range.
    • Modified the preferred_explanation_method parameter of ModelInfo.from_dataset_info to accept string names from custom_explanation_names. Details in docstring.
    • Misc bug fixes and documentation enhancements.


  • New Features
    • Changed the default display for ModelInfo and DatasetInfo to render HTML instead of plaintext, when accessed via jupyter notebooks
    • Added support for GCP Storage ingestion of log events using fdl.BatchPublishType.GCP_STORAGE


  • New Features
    • Restructured the following arguments for fdl.ModelInfo.from_dataset_info()
      • Added: categorical_target_class_details:
        • Mandatory for Multiclass classification tasks, optional for Binary (unused for Regression)
        • Used to specify the positive class for Binary classification, and the class order for Multiclass classification
      • Modified: target:
        • No longer optional, models must specify target columns


  • New Features
    • Restructured the following arguments for fdl.publish_events_batch()
      • Added: id_field:
        • Column to extract id value from
      • Added: timestamp_format:
        • Format of timestamp within batch object. Can be one of:
          • fdl.FiddlerTimestamp.INFER
          • fdl.FiddlerTimestamp.EPOCH_MILLISECONDS
          • fdl.FiddlerTimestamp.EPOCH_SECONDS
          • fdl.FiddlerTimestamp.ISO_8601 Removed: default_timestamp
    • Minor bug fixes
  • Deprecation Warning
    • Support fdl.publish_events_log and fdl.publish_parquet_s3 will soon be deprecated in favor of fdl.publish_events_batch()


  • Dataset Refactor
    • Datasets refactored to be members of a Project
      • This is a change promoting Datasets to be first class within Fiddler. It will affects both the UI and several API in Fiddler
    • Many API utilizing Projects will now require project_id passed as a parameter
  • New Features
    • Added fdl.update_model() to client
      • update the specified model, with model binary and from the specified model_dir
    • Added fdl.get_model() to client
      • download the model binary, and model.yaml to the given output dir.
    • Added fdl.publish_events_batch() to client
      • Publishes a batch events object to Fiddler Service.
      • Note: Support for other batch methods including fdl.publish_events_log() and fdl.publish_parquet_s3() will be deprecated in the near future in favor of fdl.publish_events_batch()
  • Changes
    • Simplified logic within fld.upload-dataset()
    • Added client/server handshake for checking version compatibilities
      • Warning issued in case of mismatch
    • Deleted redundant APIs
      • fdl.create_surrogate_model()
      • fdl.upload_model_sklearn()
    • Restructured APIs to be more duck typing-friendly (relaxing data type restrictions)
    • Patches for minor bug-fixes


  • Features
    • Minor updates to ease use of binary classification labels


  • Features
    • Added new arguments to ModelInfo.from_dataset_info()
      • preferred_explanation_method to express a preferred default explanation algorithm for a model
      • custom_explanation_names to support user-provided explanation algorithms which the user will implement on their model object via


  • Features
    • Minor improvements to publish_events_log() to circumvent datatype conversion issues


  • Features
    • Added strict name checks


  • Features
    • Added client-native multithreading support for publish_events_log() using new parameters num_threads and batch_size


  • Features
    • Added fdl.generate_sample_events() to client
      • API for generating monitoring traffic to test out Fiddler
    • Added fdl.trigger_pre_computation() to client
      • Triggers various precomputation steps within the Fiddler service based on input parameters.
    • Optionally add proxies to FiddlerApi() init


  • Features
    • Added fdl.publish_parquet_s3() to client
      • Publishes parquet events file from S3 to Fiddler instance. Experimental and may be expanded in the future.


  • Features
    • Added fdl.register_model() to client
      • Register a model in fiddler. This will generate a surrogate model, which can be replaced later with original model.

Project details

Download files

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

Files for fiddler-client, version 0.8.0
Filename, size File type Python version Upload date Hashes
Filename, size fiddler_client-0.8.0-py3-none-any.whl (94.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size fiddler-client-0.8.0.tar.gz (87.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page