{"id":9731,"library":"facets-overview","title":"Facets Overview","description":"Facets Overview is a Python library that generates interactive visualizations for analyzing machine learning datasets. It processes data into protobufs, which are then rendered by front-end web components (Polymer). The library is currently at version 1.1.1, with the last release in 2017, indicating it is no longer actively maintained.","status":"abandoned","version":"1.1.1","language":"python","source_language":"en","source_url":"http://github.com/pair-code/facets","tags":["visualization","data exploration","machine learning","jupyter","protobuf","abandoned"],"install":[{"cmd":"pip install facets-overview","lang":"bash","label":"Install with pip"}],"dependencies":[],"imports":[{"note":"Main class for generating feature statistics protobufs.","symbol":"GenericFeatureStatisticsGenerator","correct":"from facets_overview.generic_feature_statistics_generator import GenericFeatureStatisticsGenerator"},{"note":"Protobuf definition for feature statistics.","symbol":"FeatureStatisticsList","correct":"from facets_overview.feature_statistics_pb2 import FeatureStatisticsList"}],"quickstart":{"code":"import pandas as pd\nfrom facets_overview.generic_feature_statistics_generator import GenericFeatureStatisticsGenerator\nfrom IPython.display import display, HTML\n\n# Example data\ndata = [\n    {'feature1': 1, 'feature2': 'cat'},\n    {'feature1': 2, 'feature2': 'dog'},\n    {'feature1': 3, 'feature2': 'cat'}\n]\ndf = pd.DataFrame(data)\n\n# Create the FeatureStatisticsList proto for Facets Overview.\ngfsg = GenericFeatureStatisticsGenerator()\noverview_proto = gfsg.CreateFeatureStatisticsListFromDataFrame(df)\nprotostr = overview_proto.SerializeToString().decode('utf-8')\n\n# Display the Facets Overview UI (requires Jupyter Notebook and nbextension enabled)\nHTML_TEMPLATE = \"\"\"<link rel=\"import\" href=\"/nbextensions/facets_overview/facets-overview.html\">\n        <facets-overview id=\"facets-overview\"></facets-overview>\n        <script>\n          document.querySelector(\"#facets-overview\").protoInput = \"{protostr}\";\n        </script>\"\"\"\nhtml_output = HTML_TEMPLATE.format(protostr=protostr)\ndisplay(HTML(html_output))","lang":"python","description":"This quickstart demonstrates how to generate and display a Facets Overview visualization within a Jupyter Notebook. It uses `pandas` for data handling and `IPython.display` to render the interactive HTML. Note that this requires the `facets_overview` Jupyter nbextension to be enabled and an environment compatible with Polymer 2."},"warnings":[{"fix":"Ensure your Jupyter environment and browser are compatible with Polymer 2. Running old notebooks may require adjustments or specific browser versions.","message":"The v1.0.0 release updated the underlying web component technology from Polymer 1 to Polymer 2. This can break existing display mechanisms or require browser environment updates.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Consider migrating to actively maintained data exploration and visualization libraries such as `pandas-profiling`, `sweetviz`, `explori`, or `TensorFlow Data Validation` (the spiritual successor by Google).","message":"Facets Overview is an abandoned library, with the last release in 2017. It relies on deprecated front-end technologies (Polymer 1/2) and older Python practices, making it largely incompatible with modern web browsers, JupyterLab, and newer Python versions (3.8+).","severity":"deprecated","affected_versions":"all"},{"fix":"Ensure you are running in a classic Jupyter Notebook environment with the `facets_overview` nbextension enabled. For JupyterLab, manual configuration or alternative rendering methods would be required, which are not officially supported.","message":"The display mechanism is tightly coupled to Jupyter Notebooks via nbextensions. It does not natively support JupyterLab or other Python environments without significant workarounds.","severity":"gotcha","affected_versions":"all"},{"fix":"Pin the `protobuf` library to an older, compatible version (e.g., `pip install protobuf<3.20`). Experimentation may be required to find a working version for your specific setup.","message":"Facets Overview uses Google Protobuf for data serialization. There are known compatibility issues with newer `protobuf` library versions, leading to `DecodeError` or `TypeError` exceptions.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.1.1':40 '2017':46 'abandon':61 'activ':52 'analyz':14 'compon':32 'current':37 'data':20,55 'dataset':17 'end':30 'explor':56 'facet':1,3 'front':29 'front-end':28 'generat':10 'indic':47 'interact':11 'jupyt':59 'last':43 'learn':16,58 'librari':8,35 'longer':51 'machin':15,57 'maintain':53 'overview':2,4 'polym':33 'process':19 'protobuf':22,60 'python':7 'releas':44 'render':26 'version':39 'visual':12,54 'web':31","created_at":"2026-04-17T01:20:25.456177+00:00","updated_at":"2026-04-17T01:20:25.456177+00:00","problems":[{"fix":"Run `pip install facets-overview` to install the library.","cause":"The `facets-overview` package is not installed in your current Python environment.","error":"ModuleNotFoundError: No module named 'facets_overview'"},{"fix":"Try installing an older version of the `protobuf` library: `pip install protobuf<3.20` (or `protobuf==3.19.0` for a specific version known to work with older Google libraries).","cause":"This error often indicates a version mismatch between the `protobuf` library installed in your environment and the `protobuf` version used to compile the `.proto` definitions within `facets-overview`.","error":"google.protobuf.message.DecodeError: Error parsing message"},{"fix":"This is a fundamental limitation of an abandoned library. There is no simple fix for modern browsers. You might need to use an older browser version or a specific environment where these legacy web components are still supported.","cause":"Facets Overview relies on deprecated Web Components v0 APIs (Polymer 1/2 and HTML Imports). Modern browsers have removed support for these features.","error":"Javascript errors in browser console related to '<link rel=\"import\">' or Polymer"},{"fix":"Ensure you are running in a classic Jupyter Notebook and that the `facets_overview` nbextension is enabled (`jupyter nbextension enable --py facets_overview`). For JupyterLab, consider using alternative libraries.","cause":"The visualization relies on Jupyter Notebook nbextensions for rendering and does not have native support or an easy integration path for JupyterLab or other environments.","error":"AttributeError: 'HTML' object has no attribute '_repr_html_' (or similar non-rendering behavior in JupyterLab)"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.1.1","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"http://github.com/pair-code/facets","docs":null,"changelog":null,"pypi":"https://pypi.org/project/facets-overview/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml","data","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-06-28","next_check":"2026-07-28","install_tag":null}}