{"data":{"slug":"whylabs-whylogs","name":"whylogs","tagline":"An open-source data logging library for machine learning models and data pipelines","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":2833,"forks":145,"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","stars_delta_30d":3,"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":3,"watchers":32,"ai_summary":"Provides visibility into data quality and model performance over time, supports privacy-preserving data collection","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-09-20T04:30:24.272747+00:00","categories":[{"slug":"evaluation-observability","name":"Evaluation & Observability","url":"https://www.graphcanon.com/categories/evaluation-observability","markdown_url":"https://www.graphcanon.com/categories/evaluation-observability.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/evaluation-observability"}],"tags":[{"slug":"ai-pipelines","name":"ai-pipelines"},{"slug":"analytics","name":"analytics"},{"slug":"approximate-statistics","name":"approximate-statistics"},{"slug":"constraints","name":"constraints"},{"slug":"data-pipeline","name":"data-pipeline"},{"slug":"data-quality","name":"data-quality"},{"slug":"data-science","name":"data-science"},{"slug":"dataops","name":"dataops"}],"trust":{"provenance":{"is_fork":false,"github_id":287642401,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-18T08:23:13.620Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":615,"last_release_at":"2024-12-03T23:53:13Z","stars_delta_30d":3,"open_issues_delta_30d":-1},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-09-18T08:23:15.784Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-18T08:23:12.548Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-18T08:23:12.548Z","managed_saas":false},"languages":{"value":["jupyter notebook"],"source":"github.language","observed_at":"2026-09-18T08:23:12.548Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-18T08:23:12.548Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-18T08:23:12.548Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you need to track changes in datasets and generate summaries for data constraints and key statistics.","For detecting data drift in model input features and validating data quality in data pipelines.","If you are working with massive datasets and require tools for exploratory data analysis.","When standardizing data documentation practices across an organization is a priority."],"when_not_to_use":["If your project does not require detailed data quality and model performance tracking over time.","When privacy-preserving data collection is not a concern or requirement.","If your team prefers a more proprietary solution with additional features not available in open-source tools.","For projects that do not involve machine learning models or data pipelines."],"source":"enrich:decision_facts","observed_at":"2026-09-18T11:22:46.330Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"whylogs is an open-source data logging library that focuses on providing visibility into data quality and model performance over time, with a strong emphasis on privacy-preserving data collection."}]}}