Spaces:
Sleeping
Sleeping
| from textwrap import dedent | |
| from gradio import Blocks, Markdown, TabbedInterface, Number, render, Accordion | |
| from src.dataset_data import DatasetData | |
| from src.presenter.addons_number_presenter import AddonsNumberPresenter | |
| from src.presenter.svelte_addons_number_presenter import SvelteAddonsNumberPresenter | |
| from src.presenter.tests_count_addons_number_presenter import TestsCountAddonsNumberPresenter | |
| from src.presenter.top_by_rating_presenter import TopByRatingPresenter | |
| data: DatasetData = DatasetData() | |
| with Blocks() as addons_number_block: | |
| Markdown("## Number of Anki addons") | |
| addons_number_presenter: AddonsNumberPresenter = AddonsNumberPresenter(data) | |
| addons_number_presenter.present() | |
| with Blocks() as tests_count_block: | |
| Markdown("## Number of Anki addons having unit-tests") | |
| tests_count_addons_number_presenter: TestsCountAddonsNumberPresenter = TestsCountAddonsNumberPresenter(data) | |
| tests_count_addons_number_presenter.present() | |
| with Blocks() as svelte_block: | |
| Markdown("## Number of Anki addons using Svelte") | |
| svelte_addons_number_presenter: SvelteAddonsNumberPresenter = SvelteAddonsNumberPresenter(data) | |
| svelte_addons_number_presenter.present() | |
| top_by_rating_presenter: TopByRatingPresenter = TopByRatingPresenter(data) | |
| with Blocks() as top_rating_block: | |
| top_input: Number = Number(value=10, precision=0, label="Show addons:", minimum=1, maximum=100) | |
| def _render_top_by_rating(top: int): | |
| top_int: int = int(top) if top is not None else 10 | |
| Markdown(f"## Top {top_int} addons by rating") | |
| top_by_rating_presenter.present(top_int) | |
| with Blocks() as demo: | |
| Markdown("# Visualizations for Anki Addons Dataset") | |
| with Accordion("Information", open=False): | |
| Markdown(dedent("""\ | |
| - [Anki Addons Dataset at HuggingFace](https://huggingface.co/datasets/Ya-Alex/anki-addons) | |
| - [Anki Addons Dataset at GitHub](https://github.com/Aleks-Ya/anki-addons-dataset) | |
| """)) | |
| TabbedInterface( | |
| [addons_number_block, tests_count_block, svelte_block, top_rating_block], | |
| ["Addons number", "Unit-Tests", "Svelte", "Rating"], | |
| ) | |
| demo.launch() | |