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.
Requirements
Requires Python >= Python-3.6.3 and pip >= 19.0
Installation
$ 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
=======
1.4.0
-
Modifications
- Default client initiation is now the v2 client
publish_events_batch
is now async, returns status id and doesn't wait for the upload to complete.- Default behavior of all publish data in v2 client is async (
is_sync = False
)
1.3.0
-
New Features
- New capabilities for Artifact-less Monitoring
1.2.8
-
Modifications
- Change the
batch_size
argument default to 1000 fortrigger_pre_computation
- Updated the
delete_model
API default value for thedelete_prod
parameter from False to True.- We will by default delete all the events associated with the model.
- Change the
1.2.7
-
Modifications
- Added check for "model" key before access in from_dict
- Allow changing artifact_status when updating the model
- Adds docstrings for add_model, add_model_surrogate and add_model_artifact
1.2.6
-
Modifications
- Fixed publish_events_batch_schema backward compatible.
1.2.5
-
Modifications
- Added add_model_surrogate and add_model_artifact APIs for artifactless monitoring
- Simplifies the add_model API by removing unnecessary parameters
- Fixed publish_events_batch_schema parameter names.
1.2.4
-
Modifications
- Fixed a type coercion bug that caused some get_slice calls to fail cryptically
1.2.3
-
Modifications
- Map Tree shap values from log odds space to probability space
- Added add_model API for artifactless monitoring
- Fixed bug in request when creating a model using add_model
1.2.2
-
Modifications
- Fixed a bug that prevented importing the client in some environments.
1.2.1
-
Modifications
- Removed unnecessary server-client version check that produced an uninformative warning.
1.2.0
-
New Features
- New
WeightingParams
object. This enables weighted histograms for class-imbalanced models.
- New
-
Modifications
update_model
allows some small modifications in model info for the following fields: custom_explanation_names, preferred_explanation_method, display_name, description, framework, algorithm and model_deployment_params
1.1.0
-
New Features
- Add v2 client. v2 methods can be accessed either via sub-module (
client.v2.
) or by instantiating theFiddlerApi
and passingversion=2
.
- Add v2 client. v2 methods can be accessed either via sub-module (
-
Modifications
- Remove handlers from root logger
- Add url, org_id, auth_token and version validation while instantiating client
- Fix dataset ingestion file extension issue
- init monitoring issue
- Fix publish_event request header bug
- Add
publish_events_batch_dataframe
andupload_dataset_dataframe
methods - Support for DatasetInfo class
- Using
http_client
package. A wrapper overrequetsts
.
1.0.6
-
Modifications
- Add client v2 sub-package.
1.0.5
-
Modifications
- relax the version requirements for
requests
. - adds flag to init_monitoring to enable synchronous initialization
- relax the version requirements for
1.0.4
-
Modifications
- Fixed the JSON transformation issue which was forcing
requests
package upgrade issue
- Fixed the JSON transformation issue which was forcing
1.0.3
-
New Features
- Tree SHAP Helper.
-
Modifications
fdl.ModelInfo
has an additional optional parameter to enabled Tree Shap
1.0.2
-
New Features
- Integrated Gradients Keras TF2 Helpers.
-
Modifications
- Relax
botocore
version requirements.
- Relax
1.0.1
-
Modifications
- Minor bug fixes and improvements.
run_explanation
has two additional optional arguments (n_permutation
andn_background
) allowing users to change the default parameters for Fiddler SHAP explanations.
1.0.0
Inaugural client for Fiddler 22.0! This version includes numerous improvements for stability, performance, and usability.
Compatible with server versions >=22.0.0.
0.8.1.8
-
Modifications
- Minor bug fixes and improvements.
0.8.1.7
-
Modifications
- Minor bug fixes and improvements.
0.8.1.6
-
Modifications
- Add a parameter in list_projects API to get detailed project information
- Minor bug fix for the datetime format.
0.8.1.5
-
Modifications
- Add a parameter in list_projects API to get detailed project information
- Allow
run_explanation
api call to pass a list of explanation withig_flex
and one of the shap algorithm
0.8.1.4
-
Modifications
- Minor bugfix for categorical feature drift
0.8.1.3
-
Modifications
- Addressed an issue with categorical features with string literals containing numeric content
0.8.1.2
-
Modifications
- Implement a ranking surrogate model for ranking task models
0.8.1.1
-
Modifications
- change the dependecy of requests package to 0.25.1
0.8.1
-
Modifications
- Improved
SegmentInfo
validation. - make the dependency versions less strict.
- Improved
0.8.0
-
New Features
- New
publish_events_batch_schema
API call, Publishes a batch events object to Fiddler Service using the passedpublish_schema
as a template. - New Ranking Monitoring capability available with publish_events_batch API
- New
-
Modifications
- Enforced package versions in setup.py
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).
0.7.6
-
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, andlist_segments
BE call,
- Ability to create and validate
- New segment monitoring related functionality (currently in preview):
-
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.
0.7.5
-
New Features
- New
update_event
parameter forpublish_events_batch
API. - Changes to
fdl.publish_event()
:- Renamed parameter
event_time_stamp
toevent_timestamp
- Added new parameter:
timestamp_format
- Allows specification of timestamp format using the
FiddlerTimestamp
class
- Allows specification of timestamp format using the
- Renamed parameter
- New
0.7.4
-
New Features
- New
initialize_monitoring
API call, sets up monitoring for a model. Intended to also work retroactively for legacy schema.
- New
-
Modifications
- Modified
DatasetInfo.from_dataframe
andModelInfo.from_dataset_info
to take additionaldataset_id
as parameter. - Modified the
outputs
parameter ofModelInfo.from_dataset_info
to now expect a dictionary in case of regression tasks, specifying output range. - Modified the
preferred_explanation_method
parameter ofModelInfo.from_dataset_info
to accept string names fromcustom_explanation_names
. Details in docstring. - Misc bug fixes and documentation enhancements.
- Modified
0.7.3
-
New Features
- Changed the default display for
ModelInfo
andDatasetInfo
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
- Changed the default display for
0.7.2
-
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
- Added:
- Restructured the following arguments for
0.7.1
-
New Features
- Restructured the following arguments for
fdl.publish_events_batch()
- Added:
id_field
:- Column to extract
id
value from
- Column to extract
- 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
- Format of timestamp within batch object. Can be one of:
- Added:
- Minor bug fixes
- Restructured the following arguments for
-
Deprecation Warning
- Support
fdl.publish_events_log
andfdl.publish_parquet_s3
will soon be deprecated in favor offdl.publish_events_batch()
- Support
0.7.0
-
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
- Datasets refactored to be members of a Project
-
New Features
- Added
fdl.update_model()
to client- update the specified model, with model binary and package.py from the specified model_dir
- Added
fdl.get_model()
to client- download the model binary, package.py 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()
andfdl.publish_parquet_s3()
will be deprecated in the near future in favor offdl.publish_events_batch()
- Added
-
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
- Simplified logic within
0.6.18
-
Features
- Minor updates to ease use of binary classification labels
0.6.17
-
Features
- Added new arguments to
ModelInfo.from_dataset_info()
preferred_explanation_method
to express a preferred default explanation algorithm for a modelcustom_explanation_names
to support user-provided explanation algorithms which the user will implement on their model object via package.py.
- Added new arguments to
0.6.16
-
Features
- Minor improvements to
publish_events_log()
to circumvent datatype conversion issues
- Minor improvements to
0.6.15
-
Features
- Added strict name checks
0.6.14
-
Features
- Added client-native multithreading support for
publish_events_log()
using new parametersnum_threads
andbatch_size
- Added client-native multithreading support for
0.6.13
-
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
- Added
0.6.12
-
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.
- Added
0.6.10
-
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.
- Added
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fiddler-client-1.4.1.dev3.tar.gz
(139.4 kB
view hashes)
Built Distribution
Close
Hashes for fiddler-client-1.4.1.dev3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71ad478a4622ed1af97cd581fe580e2b195e5a7db53005579443339aa06d20b3 |
|
MD5 | 0e0b4ba34901b1c384f36e17c3437e6b |
|
BLAKE2b-256 | 1de8b059aa83882b386dceffe5a02ba771b146df33af6002fd7cba5d982885ea |
Close
Hashes for fiddler_client-1.4.1.dev3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faae250f0bd8770f04b5b09267fce792cd609474be32bf648adc68a8444ec2d7 |
|
MD5 | 0f9856b56b22e2c422f7f9867ecdc09a |
|
BLAKE2b-256 | 6a5ff088be03adc4a7cc73624e957d96271ef054a7f8e5eb95f5c220d09305d1 |