{"id":25300327,"url":"https://github.com/ehofesmann/dataset_dashboard","last_synced_at":"2025-04-07T00:18:22.794Z","repository":{"id":209744650,"uuid":"724842265","full_name":"ehofesmann/dataset_dashboard","owner":"ehofesmann","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-28T23:12:04.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T05:48:32.229Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ehofesmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-28T22:45:11.000Z","updated_at":"2023-11-28T22:50:57.000Z","dependencies_parsed_at":"2023-11-29T00:23:16.537Z","dependency_job_id":"6e8cb701-c99c-43ec-9c8b-86fbd7f94ec3","html_url":"https://github.com/ehofesmann/dataset_dashboard","commit_stats":null,"previous_names":["ehofesmann/dataset_dashboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehofesmann%2Fdataset_dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehofesmann%2Fdataset_dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehofesmann%2Fdataset_dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ehofesmann%2Fdataset_dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ehofesmann","download_url":"https://codeload.github.com/ehofesmann/dataset_dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569144,"owners_count":20959763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-13T05:48:34.033Z","updated_at":"2025-04-07T00:18:22.779Z","avatar_url":"https://github.com/ehofesmann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dataset dashboard\r\n\r\nExample dashboard of dataset metrics visualized in a FiftyOne App panel.\r\n\r\nThis is a very specific example showing how you can build a panel for plots for your own custom workflows and is not meant to be used directly for production workflows.\r\nIn this case, the plots expect specific fields to exist on your dataset (like `date_added` and `ground_truth.detections.failures`).\r\n\r\n![image](https://github.com/ehofesmann/dataset_dashboard/assets/21222883/984bb213-5877-4ab0-a542-45fb676710c1)\r\n\r\n\r\n## Installation\r\n\r\nThis plugin requires `https://github.com/ehofesmann/plotly_panel` installed.\r\n\r\n```shell\r\nfiftyone plugins download https://github.com/ehofesmann/plotly_panel\r\nfiftyone plugins download https://github.com/ehofesmann/dataset_dashboard\r\n```\r\n\r\nRefer to the [main README](https://github.com/voxel51/fiftyone-plugins) for\r\nmore information about managing downloaded plugins and developing plugins\r\nlocally.\r\n\r\nAlso, refer to the [Plotly Panel README](https://github.com/ehofesmann/plotly_panel#adding-your-own-plots) for more information on creating your own plotting panel.\r\n\r\n## Run Example\r\n\r\nAfter installing this plugin, you can try the example panel yourself on the `Dashboard Example` dataset.\r\n\r\nFirst, you will need to run the `create_example_dataset.py` method which will create an example dataset named `Dashboard Example` with the necessary data that this example plugin expects. Specifically the `date_added` and `ground_truth.detections.failure` fields.\r\n```shell\r\ncd ~/fiftyone/__plugins__/@ehofesmann/dataset_dashboard\r\npython create_example_dataset.py\r\n```\r\n\r\nThen, you can load this dataset and visualize it in the FiftyOne App.\r\n```python\r\nimport fiftyone as fo\r\nimport fiftyone.zoo as foz\r\n\r\ndataset = fo.load_dataset(\"Dashboard Example\")\r\nsession = fo.launch_app(dataset)\r\n```\r\n\r\nNote: Since this plugin expects very specific fields to exist, it will only be available on datasets named `Dashboard Example`, a constraint applied [here](https://github.com/ehofesmann/dataset_dashboard/blob/aa0d6c15cf8408c2e3fb341f251917e49856a821/__init__.py#L41), [here](https://github.com/ehofesmann/dataset_dashboard/blob/aa0d6c15cf8408c2e3fb341f251917e49856a821/__init__.py#L82), and [here](https://github.com/ehofesmann/dataset_dashboard/blob/aa0d6c15cf8408c2e3fb341f251917e49856a821/__init__.py#L117).\r\n\r\n\r\n## Interacting with this plugin\r\n\r\nOn the `Dashboard Example` dataset, you can open the panel by clicking the `Dashboard` button:\r\n\r\n![image](https://github.com/ehofesmann/dataset_dashboard/assets/21222883/21579ae3-9ef4-4295-9205-09f4b5c3624e)\r\n\r\nAll of the data to generate the plots is stored on the `dataset.info` of your dataset so it can load the plots in constant time, no matter the size of your dataset.\r\n\r\nAs you filter your dataset and look at different views, you can recompute the plot data stored in `dataset.info` and refresh the plots with the refresh button. This operation can be expensive for larger datasets:\r\n\r\n![image](https://github.com/ehofesmann/dataset_dashboard/assets/21222883/4cd18b35-2288-42da-a4fa-4d9517c0cdca)\r\n\r\nAlternatively, for small datasets where the computation to populate the `dataset.info` is fast, you can click the autosync button to automatically refresh the plots as you interact with the dataset:\r\n\r\n![image](https://github.com/ehofesmann/dataset_dashboard/assets/21222883/1f143026-4bd8-461d-98be-0f8b0ba0c8ae)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehofesmann%2Fdataset_dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fehofesmann%2Fdataset_dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehofesmann%2Fdataset_dashboard/lists"}