{"id":19626661,"url":"https://github.com/textualize/videos","last_synced_at":"2025-10-18T08:08:44.357Z","repository":{"id":209505274,"uuid":"724244283","full_name":"Textualize/videos","owner":"Textualize","description":"Code samples for Textual(ize) videos.","archived":false,"fork":false,"pushed_at":"2024-02-26T10:25:45.000Z","size":107,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-05-11T22:41:36.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.youtube.com/channel/UCo4nHAZv_cIlAiCSP2IyiOA","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/Textualize.png","metadata":{"files":{"readme":"README.md","changelog":"change-app-auto-focus/myapp.py","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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-27T17:29:13.000Z","updated_at":"2024-05-02T17:56:14.000Z","dependencies_parsed_at":"2023-12-05T11:29:45.003Z","dependency_job_id":"a8b9f61c-be7e-47c6-a6b5-6cbc0f2ff852","html_url":"https://github.com/Textualize/videos","commit_stats":null,"previous_names":["textualize/videos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Fvideos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Fvideos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Fvideos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Textualize%2Fvideos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Textualize","download_url":"https://codeload.github.com/Textualize/videos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224098986,"owners_count":17255546,"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":"2024-11-11T11:47:16.020Z","updated_at":"2025-10-18T08:08:44.279Z","avatar_url":"https://github.com/Textualize.png","language":"Python","readme":"# Videos\n\n[Subscribe to the Textualize YouTube channel](https://www.youtube.com/channel/UCo4nHAZv_cIlAiCSP2IyiOA).\n\nThis repo holds the code samples for our YouTube videos.\n\n## Stopwatch series\n\n[Playlist on YouTube](https://www.youtube.com/playlist?list=PLHhDR_Q5Me1MxO4LmfzMNNQyKfwa275Qe).\n\n## Random tip videos\n\n| Video | Folder |\n| :- | :- |\n| [How to install and use the Textual devtools console](https://youtu.be/2w1hJPzQCJY) | n/a |\n| [How to create a Markdown editor with live-preview in Textual](https://youtu.be/k0Sc-R8oWps) | `markdown-editor-with-live-preview` |\n| [Send app notifications (toasts) in Textual](https://youtu.be/rKX8KwT4JXc) | `send-app-notifications` |\n| [Set and show app title and sub-title in Textual](https://youtu.be/ApNAaCUV92s) | `title-subtitle-header` |\n| [How to set and change the language for syntax highlighting in the TextArea widget in Textual](https://youtu.be/HniqTI3oCYI) | `switch-text-area-language` |\n| [How to activate and use the default Command Palette in Textual](https://youtu.be/7mQvBgUmMgM) | `default-command-palette` |\n| [How to do automatic UI sync / updates with timers and set_interval in Textual](https://youtu.be/ewqr50D5F68) | `set_interval-automatic-ui-updates` |\n| [How to set and change the theme for syntax highlighting in the TextArea widget in Textual](https://youtu.be/DE6RjlReDTg) | `switch-text-area-theme` |\n| [How to add custom commands to the Command Palette in Textual](https://youtu.be/Sh2uz-TmsiQ) | `custom-command-palette` |\n| [Basic input restrictions in Textual](https://youtu.be/HlTK85KnlqY) | `basic-input-restrictions` |\n| [Basic auto-completion suggestions in Textual](https://youtu.be/a6BcbBNRSIQ) | `basic-suggestions` |\n| [Showcase of all built-in validators in Textual](https://youtu.be/o-rTaq2zvMc) | `showcase-built-in-validators` |\n| [How to use the logging widgets RichLog and Log in Textual](https://youtu.be/YALhM7UUX8Y) | `logging-with-log-and-richlog` |\n| [Basic screen management in Textual: pushing, popping, and switching screens](https://youtu.be/LJpR6u1ww7Q) | `screen-management-push-pop-switch` |\n| [Demo of the input validation capabilities of Textual](https://youtu.be/BqkdWFwNJmY) | `input-validation-demo` |\n| [How to create dynamic suggestions for input auto-completion in Textual](https://youtu.be/KRSwO0_l1DI) | `input-with-custom-suggestions` |\n| [How to log messages to the devtools console in Textual](https://youtu.be/b2HRbz3dgxM) | `logging-with-textual-log` |\n| [How to implement custom input validation in Textual](https://youtu.be/3EtArlSSOd0) | `input-custom-validator` |\n| [How to change/disable app auto-focus in Textual](https://youtu.be/dW-Khc8d2iA) | `change-app-auto-focus` |\n| [TCSS queries tutorial for Textual](https://youtu.be/t-JDZOurLhw) | - |\n| [How to create a countdown timer in Textual](https://youtu.be/1Sb4j4LTFuo) | `countdown-timer` |\n| [How to animate style changes programmatically in Textual](https://youtu.be/z49OV0sm_JU) | `animate-styles-method` |\n| [How to use the transition TCSS style in Textual](https://youtu.be/PUuXV-gvtXM) | `transition-tcss-style` |\n| [How to create a toggleable sidebar in Textual](https://youtu.be/0R9fLPrhH5U) | `toggleable-sidebar` |\n| [Differences between the styles align and content-align in Textual](https://youtu.be/GFj6UNLTyrs) | `align-vs-content-align` |\n| [How to add a loading indicator to a widget in Textual](https://youtu.be/OBpNPS73qoE) | `loading-widget-indicator` |\n| [How to create an accordion of collapsible widgets in Textual](https://youtu.be/_eRV_Xt1zhU) | `collapsible-accordion` |\n| [How to create and style a transparent modal screen in Textual](https://youtu.be/GvE36QfKpLc) | `modal-styling` |\n| [How to use callbacks with modal screens in Textual](https://youtu.be/0akjBk8lve8) | `modal-callback` |\n| [How to pass data to modal screens in Textual](https://youtu.be/FingLy_IHXA) | `modal-data` |\n| [How to debug a layout with TCSS in Textual](https://youtu.be/VXwqkYDCZbo) | `layout-debug` |\n| [Demo of the grid layout in Textual](https://youtu.be/zxWwkXjn-UI) | `grid-demo` |\n| [Advanced grid styling in Textual](https://youtu.be/p6aAiKfAmCI) | `grid-rows-grid-columns-grid-gutter` |\n| [Demo of the keyline style for grids in Textual](https://youtu.be/9BY-4oggpZ0) | `keyline-demo` |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextualize%2Fvideos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftextualize%2Fvideos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftextualize%2Fvideos/lists"}