{"data":{"slug":"whylabs-whylogs","name":"whylogs","tagline":"An open-source data logging library for machine learning models and data pipelines. 📚 Provides visibility into data quality & model performance over time. 🛡️ Supports privacy-preserving data collect","github_url":"https://github.com/whylabs/whylogs","owner":"whylabs","repo":"whylogs","owner_avatar_url":"https://avatars.githubusercontent.com/u/56651354?v=4","primary_language":"Jupyter Notebook","stars":2826,"forks":143,"topics":["ai-pipelines","analytics","approximate-statistics","calculate-statistics","constraints","data-constraints","data-pipeline","data-quality","data-science","dataops","dataset","logging","machine-learning","ml-pipelines","mlops","model-performance","python","statistical-properties"],"archived":false,"github_pushed_at":"2025-01-10T20:14:49+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/whylabs-whylogs","markdown_url":"https://www.graphcanon.com/tools/whylabs-whylogs.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/whylabs-whylogs","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=whylabs-whylogs","description":"An open-source data logging library for machine learning models and data pipelines. 📚 Provides visibility into data quality & model performance over time. 🛡️ Supports privacy-preserving data collection, ensuring safety & robustness. 📈","homepage_url":"https://whylogs.readthedocs.io/","license":"Apache-2.0","open_issues":4,"watchers":32,"ai_summary":null,"readme_excerpt":"<img src=\"https://static.scarf.sh/a.png?x-pxid=bc3c57b0-9a65-49fe-b8ea-f711c4d35b82\" /><p align=\"center\">\n<img src=\"https://i.imgur.com/nv33goV.png\" width=\"35%\"/>\n</br>\n\n<h1 align=\"center\">The open standard for data logging\n\n </h1>\n  <h3 align=\"center\">\n   <a href=\"https://whylogs.readthedocs.io/\"><b>Documentation</b></a> &bull;\n   <a href=\"https://bit.ly/whylogsslack\"><b>Slack Community</b></a> &bull;\n   <a href=\"https://github.com/whylabs/whylogs#python-quickstart\"><b>Python Quickstart</b></a> &bull;\n   <a href=\"https://whylogs.readthedocs.io/en/latest/examples/integrations/writers/Writing_to_WhyLabs.html\"><b>WhyLabs Quickstart</b></a>\n </h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/whylabs/whylogs-python/blob/mainline/LICENSE\" target=\"_blank\">\n    <img src=\"http://img.shields.io/:license-Apache%202-blue.svg\" alt=\"License\">\n</a>\n<a href=\"https://badge.fury.io/py/whylogs\" target=\"_blank\">\n    <img src=\"https://badge.fury.io/py/whylogs.svg\" alt=\"PyPi Version\">\n</a>\n<a href=\"https://github.com/python/black\" target=\"_blank\">\n    <img src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code style: black\">\n</a>\n<a href=\"https://pepy.tech/project/whylogs\" target=\"_blank\">\n    <img src=\"https://pepy.tech/badge/whylogs\" alt=\"PyPi Downloads\">\n</a>\n<a href=\"bit.ly/whylogs\" target=\"_blank\">\n    <img src=\"https://github.com/whylabs/whylogs/actions/workflows/whylogs-ci.yml/badge.svg\" alt=\"CI\">\n</a>\n<a href=\"https://codeclimate.com/github/whylabs/whylogs-python/maintainability\" target=\"_blank\">\n    <img src=\"https://api.codeclimate.com/v1/badges/442f6ca3dca1e583a488/maintainability\" alt=\"Maintainability\">\n</a>\n</p>\n\n## What is whylogs\n\nwhylogs is an open source library for logging any kind of data. With whylogs, users are able to generate summaries of their datasets (called _whylogs profiles_) which they can use to:\n\n1. Track changes in their dataset\n2. Create _data constraints_ to know whether their data looks the way it should\n3. Quickly visualize key summary statistics about their datasets\n\nThese three functionalities enable a variety of use cases for data scientists, machine learning engineers, and data engineers:\n\n- Detect data drift in model input features\n- Detect training-serving skew, concept drift, and model performance degradation\n- Validate data quality in model inputs or in a data pipeline\n- Perform exploratory data analysis of massive datasets\n- Track data distributions & data quality for ML experiments\n- Enable data auditing and governance across the organization\n- Standardize data documentation practices across the organization\n- And more\n\n<a href=\"https://hub.whylabsapp.com/signup\" target=\"_blank\">\n    <img src=\"https://user-images.githubusercontent.com/7946482/193939278-66a36574-2f2c-482a-9811-ad4479f0aafe.png\" alt=\"WhyLabs Signup\">\n</a>\n\nIf you have any questions, comments, or just want to hang out with us, please join [our Slack Community](https://bit.ly/rsqrd-slack). In addition to joining the Slack Community, you can also help this project by giving us a ⭐ in the upper right corner of this page.\n\n## Python Quickstart<a name=\"python-quickstart\" />\n\nInstalling whylogs using the pip package manager is as easy as running `pip install whylogs` in your terminal.\n\nFrom here, you can quickly log a dataset:\n\n```python\nimport whylogs as why\nimport pandas as pd\n\n#dataframe\ndf = pd.read_csv(\"path/to/file.csv\")\nresults = why.log(df)\n```\n\nAnd there you have it, you now have a whylogs profile. To learn more about what a whylogs profile is and what you can do with it, read on.\n\n## Table of Contents\n\n- [whylogs Profiles](#whylogs-profiles)\n- [Data Constraints](#data-constraints)\n- [Profile Visualization](#profile-visualization)\n- [Integrations](#integrations)\n- [Supported Data Types](#data-types)\n- [Examples](#examples)\n- [Usage Statistics](#usage-statistics)\n- [Community](#community)\n- [Contribute](#contribute)\n\n## whylogs Profiles<a name=\"whylogs-profiles\" />\n\n### What are profiles\n\nwhylogs profiles are the","github_created_at":"2020-08-14T23:25:32+00:00","created_at":"2026-07-11T23:15:13.607066+00:00","updated_at":"2026-07-11T23:15:24.671763+00:00","categories":[{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"computer-vision","name":"Computer Vision","url":"https://www.graphcanon.com/categories/computer-vision","markdown_url":"https://www.graphcanon.com/categories/computer-vision.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/computer-vision"}],"tags":[{"slug":"data-pipeline","name":"data pipeline"},{"slug":"constraints","name":"constraints"},{"slug":"calculate-statistics","name":"calculate-statistics"},{"slug":"data-constraints","name":"data-constraints"},{"slug":"analytics","name":"analytics"},{"slug":"ai-pipelines","name":"ai-pipelines"},{"slug":"approximate-statistics","name":"approximate-statistics"},{"slug":"data-quality","name":"data-quality"}],"trust":{"provenance":{"is_fork":false,"github_id":287642401,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T23:15:20.904Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":547,"last_release_at":"2024-12-03T23:53:13Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T23:15:21.446Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T23:15:20.599Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-07-11T23:15:20.599Z","managed_saas":false},"languages":{"value":["jupyter notebook"],"source":"github.language","observed_at":"2026-07-11T23:15:20.599Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-07-11T23:15:20.599Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-07-11T23:15:20.599Z"}}}}