Saravanan666/pypi-org huggingface dataset:
Package: ytcompdl
YTCompDLCommand-line program to download and segment Youtube videos automatically.Getting StartedGetting a YouTube Data API KeyFollow theseinstructions.Store your API key in a.envfile in the main working directory.Setupvenv# Make sure ffmpeg is installed.sudoaptinstallffmpeg
virtualenvvenvsourcevenv/bin/activate
ytcompdl-hConda# Setup env.condaenvcreate-fenvs/env.yaml-nytcompdl
condaactivateytcompdl
ytcompdl-hDockerffmpegcomes installed with the docker image.Arguments are passed after the image name.# Image wd set to /ytcompdldockerrun--rm-v/$PWD:/ytcompdlkoisland/ytcompdl:latest-hTo build the image locally.dockerbuild.-tytcompdl:latestUsage# Download audio of video.ytcompdl-u"https://www.youtube.com/watch?v=gIsHl7swEgk"-k.env-o"audio"-xconfig/config_regex.yaml# Download split audio of video and save comment/desc used to timestamp.ytcompdl-u"https://www.youtube.com/watch?v=gIsHl7swEgk"\-k.env\-o"audio"\-xconfig/config_regex.yaml\-t-sOptionsusage: main.py [-h] -u URL -o OUTPUT_TYPE -x REGEX_CFG [-d DIRECTORY] [-n N_CORES] [-r RESOLUTION] [-m METADATA] [-c] [-t] [-s] [-f FADE] [-ft FADE_TIME]

Command-line program to download and segment Youtube videos.

options:
  -h, --help            show this help message and exit
  -u URL, --url URL     Youtube URL
  -o OUTPUT_TYPE, --output_type OUTPUT_TYPE
                        Desired output (audio/video)
  -x REGEX_CFG, --regex_cfg REGEX_CFG
                        Path to regex config file (.yaml)
  -d DIRECTORY, --directory DIRECTORY
                        Output directory.
  -n N_CORES, --n_cores N_CORES
                        Use n cores to process tracks in parallel.
  -r RESOLUTION, --resolution RESOLUTION
                        Desired resolution (video only)
  -m METADATA, --metadata METADATA
                        Path to optional metadata (.json)
  -c, --comment         Select comment.
  -t, --timestamps      Save timestamps as .txt file.
  -s, --slice           Slice output.
  -f FADE, --fade FADE  Fade (in/out/both/none)
  -ft FADE_TIME, --fade_time FADE_TIME
                        Fade time in seconds.Regular ExpressionsTo set your own regular expressions to search for in video comments/descriptions, modifyconfig/config_regex.yaml.config/config_regex.yamlignored_spacers:# Optional-"―"-"―"-"-"-"\\s"-"["-"]"time:"\\d{1,2}:?\\d*:\\d{2}"# Optional# Requiredstart_timestamp:"(.*?)(?:{ignored_spacers})*({time})(?:{ignored_spacers})*(.*)"duration_timestamp:"(.*?)(?:{ignored_spacers})*({time})(?:{ignored_spacers})*({time})(?:{ignored_spacers})*(.*)"For some examples, check these patterns below:StartTimestampsDurationTimestampsWorkflowQuery YouTube's Data API for selected video.Search description and comments for timestamps ranked by similarity to video duration.Parse timestamps with regular expresions.Download video and/or audio streams from Youtube.Process streams.Merge or convert streams.Slice by found timestamps.Apply file metadata.Add audio and/or video fade.CleanupRemove intermediate outputs.Build from Sourcevirtualenvvenv&&sourcevenv/bin/activate
pythonsetup.pysdistbdist_wheel
ytcompdl-hTO-DO:TestingAdd unittests.
Package: ytcon
✨ YTCONTUI for the yt-dlp utility, with support for many settings, some fixes, and multithreading🚧 Currently in the BETA stage of development📘 Features:yt-dlp featuresAuto-updates featureMultiple downloads at the same timeClipboard auto-paste"Special mode"Shows the resolution of downloading videos, even in generic extractorBeautiful, colorful and comfortable human UITODO:Desktop notifications supportRPM packagingand more..🚀 InstallYTCON is avalible on PyPI 🎆 -https://pypi.org/project/ytcon/▶️ Install it like a pip package in pipx (Recommended)pipx install ytconpipx ensurepathIf pipx is not installed, install it with a system package manager -python3-pipxManual installgit clone https://github.com/NikitaBeloglazov/ytcon && cd ytconpip3 install -r requirements.txtcd src/ytcon && python3 yt.py💿 Support•‎ 🟩 Linux - FULL SUPPORT•‎ 🟩 Android - FULL SUPPORT in Termux with some tweaks•‎ 🟩 MacOS - Workson macOS HighSierra 10.13•‎ 🟩 BSD Systems - WorksonFreeBSD / GhostBSDand OpenBSD / FuguIta•‎ 🟥 Windows - Don't works, because Urwid don't support it.Related Issues:-1-and-2-. Maybe it will be fixed soon. Use WSL or Cygwin unstead.🖼️ ScreenshotsMain screenSettings screen⚙️ Settings save fileThe save file is located at~/.config/ytcon💬 Testing / Debug / TroubleshootingSee/tmp/debug.logand/tmp/info.log. They are cleared every new launch of the utility.Try this same link with regular yt-dlp (yt-dlp [link])Contribution / Issues🥼Pull requests are welcome!🌈 Feel free to write Issues! The developer can answer you in the following languages: Ukrainian, English, Russian.Don't forget to attach version (pip3 show ytcon) and error text :)⏩ To speed up the process write tomaintainer
Package: ytcontroller
Youtube Controller through hand gesturesFunctions :multiple_clicker(key1, key2)clicker(key)ytcontrol()Gesture names-Functions :Rock Sign-FullScreenFist-ForwardVictory Sign-RewindThumbs Up-Volume UpThumbs Down-Volume DownOkay Sign-Play/PauseCHANGE LOG0.0.1 (29/06/2022)-First Release
0.0.2 (29/06/2022)
——————-
-Second Release
0.0.3 (29/06/2022)
——————-
-Third Release
0.0.4 (09/03/2022)
——————-
-Fourth Release
Package: yt-core-ralf1307
YT_Core - an inoffical youtube api parser[[TOC]]IntroductionAs youtube-dl is way to complicated and doesnt offer the right API for app-development.One Example is the youtube-dl search API. You're only allowed to search for a specified amount of results.That doesnt work for feature-complete apps. (endless scrolling)Youtube-Dl is good for one thing: Getting the video from Youtube.This is where yt_core comes in:yt_core is a python library that should feel like using youtube.Example:Websiteyt_coreGoing to youtube.comcore = yt_core.Core()Using the searchbarsearch = core.new_search()Typing 'test' into the searchbarsearch.searchterm = 'test'Pressing the searchbuttonsearch.search()Read the estimated results returned by youtubesearch.get_results_count_total()Scrolling down to see new resultssearch.search_continue()Scroll through the page and see all resultssearch.get_results()Example ImplementationHandyYTCurrent dependenciesrequests, and its dependenciesPython 3.8.6 (should work on way more, currently the only version tested)This module is currently only tested on PostmarketOS (PinePhone arm64),
but it should also work on other operating systems and architectures (It's python).MotivationAllowing apps like NewPipe for Android, but for the PinePhone + PhoneShell.
And they have to be open-source! (That's the reason for the AGPLv3 license.)
In the future other platforms perhaps, as I dont see Java as a good choice for modern GUIs or Apps.
(Servers perhaps, I dont know about server-java stuff)How to useMake sure you have the needed dependencies (get them viapip, or letsetup.pyhandle them)Get this project (git clone, downloading the tarball, floppies...)Install it viasetup.py(or adjust your python3-path to the root of the repo.)Open python3 andimport yt_corehelp(yt_core)or view doc-pages if available
Package: ytda
YouTube Data APIThis is a Python client for theYouTube Data API. Theyoutube-data-apipackage is a wrapper to simplifyGET requestsand JSON response parsing from the API. This package was written for version 3 of the API, with some minor future proofing.InstallWe recommend youinstall this module using pip:pip install youtube-data-apiIf you want to use it from source, you'll have to install the dependencies manually:pip install -r requirements.txtQuickstartIn order to access the API, you'll need to get aservice keyfrom theGoogle Cloud Console.Once you have it you can use the API key to initiate theYouTubeDataAPIclass.from youtube_api import YouTubeDataAPI

api_key = 'AKAIXXXXXXXX'
yt = YouTubeDataAPI(api_key)

yt.search('alexandria ocasio-cortez')Theytobject calls functions that automate the collection of data fields that are both visable and not-visable to everyday users.Please refer to thedocumentationfor details.TestingStatic json files used for test are stored in./tests/data.
To test, command line inputmake test.
For further information, please refer to./tests/readme.md.AuthorsWritten by Leon Yin and Megan Brown. Michael Liu helped write and document tests.If you use this software in your research please cite it as:@misc{leon_yin_2018_1414418,
  author       = {Leon Yin and
                  Megan Brown},
  title        = {SMAPPNYU/youtube-data-api},
  month        = sep,
  year         = 2018,
  doi          = {10.5281/zenodo.1414418},
  url          = {https://doi.org/10.5281/zenodo.1414418}
}ContributionsWe are actively seeking core maintainers and contributors!
We will be documenting best practices and procedures for contributing code
If you see a typo or documentation that is not clear, please make a pull request!
Package: ytdld
YT-DLDJust another youtube downloader[*] DescriptionRun it, enter and a link and choose between available options to download[+] InstallationInstall dependencies (git, python)For Debian (Ubuntu, Kali-Linux, Parrot)sudo apt install git python3 -yFor Arch (Manjaro)sudo pacman -S git python3 --noconfirmFor Redhat(Fedora)sudo dnf install git python3 -yFor Termuxpkg install git python3-yClone this repositorygit clone https://github.com/KasRoudra/ytdldEnter the directorycd ytdldInstall all modulespip3 install -r files/requirements.txt --break-system-packagesRun the toolpython3 ytdld.pyPippip3 install ytdld[For Termux]sudo pip3 install ytdld --break-system-packages[For Linux]ytdld[~] Optionsusage: ytdld.py [-h] [-u URL] [-d DIRECTORY] [-t TYPE] [-f FORMAT]
                [-q QUALITY] [-b]

options:
  -h, --help            show this help message and exit
  -u URL, --url URL     Youtube url of the media
  -d DIRECTORY, --directory DIRECTORY
                        Download path, the folder in which media will be saved
  -t TYPE, --type TYPE  Type of the media
  -f FORMAT, --format FORMAT
                        File Format or Extension of the media
  -q QUALITY, --quality QUALITY
                        Resolution or Bitrate the media
  -b, --best            Automatically download the media of best resolution or
                        bitrate[*] FeaturesSupports argument for filetype or media qualityBest quality can be automatically chosenDefaults can be set in the config file[-] RequirementsPython(3)pytubequestionarykasutils[*] SupportWant to show support? Just spread the word and smash the star buttonDonate BTC:3Lx8ikQQgZZpmFJzHDBuQHXzLXMeWMcZF3[~] Find Me on :
Package: ytdl-nfo
ytdl-nfo : youtube-dl NFO generatoryoutube-dlis an incredibly useful resource to download and archive footage from across the web. Viewing and organising these files however can be a bit of a hassle.ytdl-nfotakes the--write-info-jsonoutput from youtube-dl and parses it into Kodi-compatible .nfo files. The aim is to prepare and move files so as to be easily imported into media centers such as Plex, Emby, Jellyfin, etc.WarningThis package is still in early stages and breaking changes may be introduced.NOTE: youtube-dl derivativesThis package was originally built for youtube-dl, however the aim is to be compatible with related forks as well. Currently these are:youtube-dlyt-dlpInstallationRequirements: Python 3.8Python 3 pipx (recommended)pipxis tool that installs a package and its dependencies in an isolated environment.Ensure Python 3.8 andpipxis installedInstall withpipx install ytdl-nfoPython 3 pipEnsure Python 3.8 is installedInstall withpip install ytdl-nfoPackage from sourceEnsure Python 3.8 andPython Poetryis installedClone the repo usinggit clone https://github.com/owdevel/ytdl_nfo.gitCreate a dev environment withpoetry installBuild withpoetry buildInstall from thedistdirectory withpip install ./dist/ytdl_nfo-x.x.x.tar.gzDevelopment EnvironmentPerform steps 1-3 of package from sourceRun usingpoetry run ytdl-nfoor usepoetry shellto enter the virtual envUsageAutomaticRunytdl-nfo JSON_FILEreplacingJSON_FILEwith either the path to the file you wish to convert, or a folder containing files to convert. The tool will automatically take any files ending with.jsonand convert them to.nfousing the included extractor templates.ExamplesConvert a single fileytdl-nfogreat_video.info.jsonConvert a directory and all sub directories with.info.jsonfilesytdl-nfovideo_folderManualytdl-nfo uses a set of YAML configs to determine the output format and what data comes across. This is dependent on the extractor flag which is set by youtube-dl. Should this fail to be set or if a custom extractor is wanted there is the--extractorflag. ytdl-nfo will then use extractor with the given name as long as it is in the config directory with the formatcustom_extractor_name.yaml.ytdl-nfo--extractorcustom_extractor_namegreat_video.info.jsonConfig LocationRun the following command to get the configuration location.ytdl-nfo--configExtractorsIssues/Pull Requests are welcome to add more youtube-dl supported extractors to the repo.Custom ExtractorsComing Soon...TodoAdd try catches to pretty print errorsDocumentation and templates for creating custom extractorsDocumentation of CLI argumentsRecursive folder searchingAdd package to pypiAuthors NoteThis is a small project I started to learn how to use python packaging system whilst providing some useful functionality for my home server setup.
Issues/pull requests and constructive criticism is welcome.
Package: ytdlp-auf1
NOTE:Since version 2023.01.06 yt-dlp supports plugins from python packages.
The ytdlp-plugins package is no longer necessary.For further details seehttps://github.com/yt-dlp/yt-dlp#pluginsauf1.tv and auf1.radio support for yt-dlpinstallationYou can install ytdlp-auf1 via pip:UsePyPI package:python3 -m pip install --upgrade ytdlp-auf1Install from GitHub branch:python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/auf1.zipNote that on some systems, you may need to usepyorpythoninstead ofpython3example: show the 20 recent titles from channelpython3 -m yt_dlp -e --playlist-items 1-20 https://auf1.tv/videosyt-dlpyt-dlpis ayoutube-dlfork based on the now
inactiveyoutube-dlc. The main focus of this project is adding new features
and patches while also keeping up to date with the original projectNote thatallplugins are imported even if not invoked, and thatthere are no checksperformed on plugin code.
Use plugins at your own risk and only if you trust the code
Package: ytdlp-bittube
bittube.tv support for yt-dlprecord live streamingsupport embedded YouTube videossupport for user profile playlists (e.g.https://bittube.tv/profile/bittube)query urls with media-type and term filter (e.g.https://bittube.tv/explore/explore-videos?term=crypto&navigation=Trending)topic hashtag playlists (e.g.https://bittube.tv/topic/bittube)installationYou can install ytdlp-bittube via pip:UsePyPI package:python3 -m pip install --upgrade ytdlp-bittubeInstall from Github branch:python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/bittube.zipNote that on some systems, you may need to usepyorpythoninstead ofpython3example: show the 20 recent titles from user channelpython3 -m ytdlp_plugins -e --playlist-items 1-20 https://bittube.tv/profile/UrsachenforschungGtzyt-dlpyt-dlpis ayoutube-dlfork based on the now
inactiveyoutube-dlc. The main focus of this project is adding new features
and patches while also keeping up to date with the original projectNote thatallplugins are imported even if not invoked, and thatthere are no checksperformed on plugin code.
Use plugins at your own risk and only if you trust the code
Package: ytdlp-brighteon
NOTE:Since version 2023.01.06 yt-dlp supports plugins from python packages.
This means you can now download from brighteon URLs by calling yt-dlp
and the ytdlp-plugins package is no longer necessary.For further details seehttps://github.com/yt-dlp/yt-dlp#pluginsbrighteon.com support for yt-dlpsupport for un-nested channels, categories and playlistslive stream support for brighteon.tvrelease notesBroken formats:Some MPD manifests cannot be parsed by yt-dlp. They will be
skipped with a warning until the issue is resolved.installationYou can install ytdlp-brighteon via pip:UsePyPI package:python3 -m pip install --upgrade ytdlp-brighteonInstall from GitHub branch:python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/brighteon.zipNote that on some systems, you may need to usepyorpythoninstead ofpython3example: show the 20 recent titles from channelpython3 -m yt_dlp -e --flat-playlist --playlist-items 1:20 https://www.brighteon.com/channels/brighteontvyt-dlpyt-dlpis ayoutube-dlfork based on the now
inactiveyoutube-dlc. The main focus of this project is adding new features
and patches while also keeping up to date with the original projectNote thatallplugins are imported even if not invoked, and thatthere are no checksperformed on plugin code.
Use plugins at your own risk and only if you trust the code
Package: yt-dlp-custom
Official repository:https://github.com/yt-dlp/yt-dlpPS: Some links in this document will not work since this is a copy of the README.md from Github[original package]IntroduceThis package only modified to get hastags and unique filename as post-id.First modified#yt_dlp/YoutubeDL.pydef_get_filename_as_uniqid(self,info_dict):post_id_reg=re.compile('(?<=video\/)[0-9]+')post_id=post_id_reg.search(info_dict['webpage_url'])[0]filename=f"/tmp/{post_id}.{info_dict['ext']}"returnfilenamedefprepare_filename(self,info_dict,dir_type='',*,outtmpl=None,warn=False):"""Generate the output filename"""......filename=self._get_filename_as_uniqid(info_dict)Second modified# yt_dlp/extractor/tiktok.pydef_parse_aweme_video_app(self,aweme_detail):aweme_id=aweme_detail['aweme_id']video_info=aweme_detail['video']author_name_info=aweme_detail['author']hashtags_info=[]forhashtag_infoinaweme_detail['text_extra']:ifhashtag_info.get('hashtag_name'):hashtags_info.append(hashtag_info['hashtag_name'])return{......'author':author_name_info,'hashtags_info':hashtags_info}
Package: yt-dlp-danmaku
yt-dlp-danmakuyt-dlpplugin for converting Bilibili danmaku into ASS format.
Powered bybiliass.Installation and upgradingRequires yt-dlp 2023.01.02 or above.You can install or upgrade this package with pip:pipinstall-Uyt-dlp-danmakuUsageDownload video along with the ASS subtitleyt-dlp--write-subs--use-postprocessordanmakuhttps://www.bilibili.com/video/BV1Sm4y1N78JDownload video embedded with danmaku as a subtitle streamBilibili videos are originally mp4 format, but this format does not support ASS subtitle.
Therefore, you need to use another format that supports it, such as mkv:yt-dlp--embed-subs--use-postprocessordanmaku--remux-videomkvhttps://www.bilibili.com/video/BV1Sm4y1N78JYou can then try playing this video with players that support ASS subtitles,
such as mpv and VLC.Download video and "burn" the danmaku onto itYou need to run FFmpeg yourself to do this.
Here is an example how you can do that:yt-dlp--write-subs--use-postprocessordanmaku--outputinputhttps://www.bilibili.com/video/BV1Sm4y1N78J
ffmpeg-iinput.mp4-vfsubtitles=input.danmaku.assoutput.mp4
rminput.mp4input.danmaku.assGet ASS subtitle without downloading the videoyt-dlp--write-subs--use-postprocessordanmaku:when=before_dl--skip-downloadhttps://www.bilibili.com/video/BV1Sm4y1N78JUse with mpvmpv--script-opts=ytdl_hook-ytdl_path=yt-dlp--ytdl-raw-options=use-postprocessor=danmaku:when=before_dl,write-subs=,no-simulate=,skip-download=https://www.bilibili.com/video/BV1Sm4y1N78JYou can turn on and off danmaku by usingj(by default).
Add--sid=1to turn on danmaku on start.
You can add these options to your mpv config file.Notice: this will leave an ASS file in the current directory.
Delete it afterwards if you do not want it.ConfigurationYou can pass options to this plugin.
For example, to set the opacity of danmaku texts to 0.1 and reserve the bottom 150 pixels, use--use-postprocessor danmaku:text_opacity=0.1;reserve_blank=150.
All available options:OptionDefaultMeaninglangdanmakuLanguage selector; you do not normally need to set thisreserve_blank0font_facesans-seriffont_size25text_opacity0.8duration_marquee15duration_still10comment_filteris_reduce_commentsfalseRunbiliass -hfor more information about these options.DevelopmentSee thePlugin Developmentsection of the yt-dlp wiki.LicenseMIT.
Package: ytdlp-dtube
NOTE:Since version 2023.01.06 yt-dlp supports plugins from python packages.
Yet the ytdlp-plugins package remains as a direct dependency.For further details seehttps://github.com/yt-dlp/yt-dlp#pluginsd.tube support for yt-dlpsupport for user channel playlists (e.g.https://d.tube/#!/c/dtube)query urls (e.g.https://d.tube/#!/newvideos)searches (e.g.https://d.tube/#!/s/crypto)installationYou can install ytdlp-dtube via pip:UsePyPI package:python3 -m pip install --upgrade ytdlp-dtubeInstall from GitHub branch:python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/dtube.zipNote that on some systems, you may need to usepyorpythoninstead ofpython3example: show the titles of the 20 most recent trending videospython3 -m yt_dlp -e --flat-playlist --playlist-items :20 https://d.tube/trendingvideosyt-dlpyt-dlpis ayoutube-dlfork based on the now
inactiveyoutube-dlc. The main focus of this project is adding new features
and patches while also keeping up to date with the original projectNote thatallplugins are imported even if not invoked, and thatthere are no checksperformed on plugin code.
Use plugins at your own risk and only if you trust the code
Package: ytdlp-plugins
NOTE:Since version 2023.01.06 yt-dlp natively supports plugins from python packages.
The listed plugins will be soon updated and dependency to this package will be removed.For further details seehttps://github.com/yt-dlp/yt-dlp#pluginsa plugin manager for yt-dlpabout ytdlp-pluginsytdlp-pluginsextends the possibilities of yt-dlp by allowing to install new extractors from python packages that are not part of yt-dlp.The following plugin packages are currently available:ytdlp-auf1ytdlp-bittube(service is inoperative)ytdlp-brighteonytdlp-dtubeytdlp-servustvytdlp-youmakerinstallationYou can install ytdlp-plugins via pip:UsePyPI package:python3 -m pip install --upgrade ytdlp-pluginsInstall from GitHub branch:python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/master.zipNote that on some systems, you may need to usepyorpythoninstead ofpython3running from command-lineOn the command-line line simply useytdlp-pluginsexecutable insteadyt-dlp.
This enables all plugins and forwards all parameters to yt-dlp.You will get a detailed overview of installed plugins by running in verbose mode:ytdlp-plugins -vembedding in your codeimportytdlp_pluginsfromyt_dlpimportYoutubeDL# add found plugin extractors to yt-dlpytdlp_plugins.add_plugins()URLS=['https://www.servustv.com/allgemein/p/jetzt-live/119753/']withYoutubeDL()asydl:ydl.download(URLS)For more details seeembedding yt-dlprunning testsYou can run the extractor unittests on all installed plugins:python3 -m unittest ytdlp_plugins.test_downloador with pytestpytest --pyargs ytdlp_plugins.test_downloadcreating packagesWant to create your own extractor package or simply apply
a patch to an existing (internal) yt-dlp extractor? Awesome.
Just check out theminimal branchand follow the instructions in the provided README.md:git clone https://github.com/flashdagger/ytdlp-plugins.git --branch minimalabout yt-dlpyt-dlpis ayoutube-dlfork based on the now inactiveyoutube-dlc. The main focus of this project is adding new features and patches while also keeping up to date with the original projectNote thatallplugins are imported even if not invoked, and thatthere are no checksperformed on plugin code. Use plugins at your own risk and only if you trust the code
Package: yt-dlpr
yt-dlprRich output of yt-dlpyt-dlpr options--examples- print out examples--yt-dlpr-config-path- print out path for config fileExamples of yt-dlp vs yt-dlprDownloading video using yt-dlp:Downlaoding video using yt-dlpr:Extracting audio using yt-dlp:Extracting audio using yt-dlpr:Changelog[1.2] - 2022-05-14AddedAdded support for--list-formats,--list-thumnails, and--list-subs[1.1] - 2022-05-11AddedAdded SPLIT_MULTINE optionAdded MESSAGE_STYLES dict, styling entire messageFixedFixed styling for warningTables no longer broken