MCPcopy Index your code
hub / github.com/DaKnig/DewDuct

github.com/DaKnig/DewDuct @v0.2.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.3 ↗ · + Follow
162 symbols 276 edges 19 files 6 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DewDuct

... is a Youtube player for Linux on desktop and mobile.

Screenshots

Video view Popular videos view Search view Channel view

Design decisions

  • The UI should match that of NewPipe, with GTK widgets. I am not a designer and I dont know how to make custom widgets, or make nice UI, so I just copy what works!

Installing

Alpine linux and PostmarketOS

If you are on edge, run:

apk add dewduct

Building

Dependencies

Run time dependencies:

openssl libadwaita mpv yt-dlp

Compile time dependencies:

rust cargo openssl-dev gtk4.0-dev libadwaita-dev

To compile, run:

cargo install --git https://github.com/DaKnig/DewDuct

PostmarketOS and Alpine linux:

apk add rust cargo openssl-dev gtk4.0-dev libadwaita-dev openssl gtk4.0 libadwaita mpv
cargo install --git https://github.com/DaKnig/DewDuct

Road map:

For version 1.0 :

  • [x] Popular videos page.

  • [x] Cache for thumbnails.

  • [x] Video page, with description, where you could press to play video.

  • [ ] Select quality of video.

  • [x] Popular videos page.

  • [ ] Make downloads work with yt-dlp or so... or maybe make it myself?

  • [x] Search for videos and channels.

  • [ ] Subscribe to channels.

  • [x] Subscription list page.

  • [ ] "What's New", for videos from subscriptions, with a button for updating the list.

Get in contact!

Currently, I am the sole developer of DewDuct.

Available on Matrix (DaKnig on matrix.org)

Please write any and all issues on this github page!

Core symbols most depended-on inside this repo

property
called by 42
src/yt_item_list/data.rs
id
called by 11
src/video_page.rs
spawn
called by 6
src/window.rs
search_entry
called by 5
src/search_page.rs
set_thumbnails
called by 5
src/yt_item_list/data.rs
set_kind
called by 5
src/yt_item_list/data.rs
set_from_vec
called by 4
src/yt_item_list.rs
format_semi_engineering
called by 4
src/util.rs

Shape

Method 132
Class 18
Function 7
Enum 5

Languages

Rust100%

Modules by API surface

src/window.rs18 symbols
src/subscriptions_page.rs18 symbols
src/yt_item_list/data.rs15 symbols
src/channel_header.rs15 symbols
src/search_page.rs12 symbols
src/yt_item_list.rs11 symbols
src/channel_page.rs9 symbols
src/yt_item_row.rs8 symbols
src/video_row.rs8 symbols
src/video_page.rs8 symbols
src/thumbnail.rs8 symbols
src/popular_page.rs7 symbols

For agents

$ claude mcp add DewDuct \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact