{"id":8778,"library":"whylogs","title":"whylogs","description":"whylogs is an open-source Python library for logging, profiling, and monitoring ML data pipelines end-to-end. It generates lightweight, mergeable statistical summaries (profiles) of datasets, enabling data quality validation, drift detection, and exploratory data analysis. It integrates with the WhyLabs Platform for observability and alerting, but the core library is open source. The library is actively maintained with frequent patch releases.","status":"active","version":"1.6.4","language":"python","source_language":"en","source_url":"https://github.com/whylabs/whylogs","tags":["MLOps","data quality","data drift","ML monitoring","data profiling","AI telemetry"],"install":[{"cmd":"pip install whylogs","lang":"bash","label":"Base installation"},{"cmd":"pip install \"whylogs[viz]\"","lang":"bash","label":"For visualization capabilities"},{"cmd":"pip install \"whylogs[spark]\"","lang":"bash","label":"For PySpark integration"}],"dependencies":[{"reason":"Commonly used for data input (DataFrames) to whylogs.","package":"pandas","optional":false},{"reason":"Required for Spark integration, installed via 'whylogs[spark]'.","package":"pyspark","optional":true},{"reason":"Often used for profile visualization, included with 'whylogs[viz]'.","package":"matplotlib","optional":true}],"imports":[{"wrong":"from whylogs import get_or_create_session","symbol":"DatasetProfileView","correct":"from whylogs import DatasetProfileView"},{"symbol":"ResultSet","correct":"from whylogs import ResultSet"},{"symbol":"log","correct":"from whylogs import log"}],"quickstart":{"code":"import pandas as pd\nfrom whylogs import get_or_create_session\n\n# Create a sample DataFrame\ndata = {\n    'col_a': [1, 2, 3, 4, 5],\n    'col_b': ['apple', 'banana', 'cherry', 'apple', 'date']\n}\ndf = pd.DataFrame(data)\n\n# Get or create a whylogs session\nsession = get_or_create_session()\n\n# Log the DataFrame to generate a profile\nwith session.logger(dataset_name=\"my_first_dataset\") as logger:\n    logger.log_dataframe(df)\n\n# Get the generated profile (ResultSet)\nresults = logger.profile() \n\n# You can also use the direct API for convenience (e.g., if not using a logger for multiple logs)\n# import whylogs as why\n# results_direct = why.log(df)\n\nprint(results.view().to_pandas())","lang":"python","description":"This quickstart demonstrates how to initialize a whylogs session, log a Pandas DataFrame to create a data profile, and then view the summary statistics."},"warnings":[{"fix":"Review the official whylogs v1 Migration Guide and update your code and profile loading logic accordingly. Re-profile data where necessary.","message":"whylogs v1 introduced significant breaking changes from v0.x, including API alterations and potential incompatibility with profiles generated by older versions. Users migrating from v0.x should consult the migration guide.","severity":"breaking","affected_versions":"<1.0"},{"fix":"Install the necessary extras: `pip install \"whylogs[viz]\"` for visualization or `pip install \"whylogs[spark]\"` for PySpark integration.","message":"Core visualization tools (`ProfileVisualizer`, `profile_viewer`) and PySpark integration require extra installations (`whylogs[viz]` and `whylogs[spark]`, respectively). A base `pip install whylogs` will not include these functionalities.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"If you rely on the WhyLabs Platform for monitoring, consider self-hosting the open-sourced WhyLabs platform or integrating whylogs profiles with an alternative monitoring solution.","message":"The hosted WhyLabs Platform, used for advanced monitoring and observability of whylogs profiles, is being discontinued. While the whylogs library remains open source and the WhyLabs platform's source code is publicly available for self-hosting, the managed SaaS offering is no longer accessible.","severity":"deprecated","affected_versions":"All versions that integrate with WhyLabs SaaS"},{"fix":"Avoid installing or using whylogs version 1.1.2. Upgrade to a later stable version (e.g., 1.1.3 or higher) or downgrade to an earlier stable version.","message":"whylogs version 1.1.2 was yanked from PyPI due to a bug that prevented it from correctly reading dataset profiles written with previous versions.","severity":"breaking","affected_versions":"1.1.2"}],"env_vars":null,"search_vec":"'activ':61 'ai':76 'alert':50 'analysi':40 'core':53 'data':16,32,39,68,70,74 'dataset':30 'detect':36 'drift':35,71 'enabl':31 'end':19,21 'end-to-end':18 'exploratori':38 'frequent':64 'generat':23 'integr':42 'librari':9,54,59 'lightweight':24 'log':11 'maintain':62 'mergeabl':25 'ml':15,72 'mlop':67 'monitor':14,73 'observ':48 'open':6,56 'open-sourc':5 'patch':65 'pipelin':17 'platform':46 'profil':12,28,75 'python':8 'qualiti':33,69 'releas':66 'sourc':7,57 'statist':26 'summari':27 'telemetri':77 'valid':34 'whylab':45 'whylog':1,2","created_at":"2026-04-16T17:03:57.654780+00:00","updated_at":"2026-04-16T17:03:57.654780+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.6.4","cli_name":"","cli_version":null,"type":"library","homepage":"https://docs.whylabs.ai","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/whylogs/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml","observability","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-30","last_verified":"2026-06-30","next_check":"2026-07-30","install_tag":null}}