[PR #1710] Add deno and update yt-dlp #2978

Closed
opened 2026-03-01 18:01:18 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/ArchiveBox/ArchiveBox/pull/1710

State: closed
Merged: No


Summary

yt-dlp now requires a js runtime and suggests deno >=2.0 https://github.com/yt-dlp/yt-dlp/issues/15012

In addition to updating the yt-dlp package there is now also a recommended external javascript blob that needs to be installed. See the yt-dlp wiki for install options. Here, I've added the [default] dependency group which will also install yt-dlp-ejs containing that blob.

This ensures yt-dlp continues to work. I was seeing some intermittent issues with the media extractor before this. I've tested this branch by building a docker image and running it against my archivebox install and confirming that some URLs now archive media properly.

I don't know how often the yt-dlp-ejs package will end up needing to be updated which may or may not be an argument in favor of eventually having an option to use the option to run the external js from npm but for now this sticks with baking an immutable docker image.

I also wasn't familiar with pdm but to update the pdm lock file I just ran pdm lock which seems to have worked but also updated quite a few other dependencies in that lockfile.

Related issues

Changes these areas

  • Bugfixes
  • Feature behavior
  • Command line interface
  • Configuration options
  • Internal architecture
  • Snapshot data layout on disk
**Original Pull Request:** https://github.com/ArchiveBox/ArchiveBox/pull/1710 **State:** closed **Merged:** No --- # Summary yt-dlp now requires a js runtime and suggests deno >=2.0 https://github.com/yt-dlp/yt-dlp/issues/15012 In addition to updating the yt-dlp package there is now also a recommended external javascript blob that needs to be installed. See the [yt-dlp wiki] for install options. Here, I've added the `[default]` dependency group which will also install [yt-dlp-ejs](https://pypi.org/project/yt-dlp-ejs/) containing that blob. [yt-dlp wiki]: https://github.com/yt-dlp/yt-dlp/wiki/EJS This ensures yt-dlp continues to work. I was seeing some intermittent issues with the media extractor before this. I've tested this branch by building a docker image and running it against my archivebox install and confirming that some URLs now archive media properly. I don't know how often the `yt-dlp-ejs` package will end up needing to be updated which may or may not be an argument in favor of eventually having an option to use the option to run the external js [from npm](https://github.com/yt-dlp/yt-dlp/wiki/EJS#option-2-enable-ejs-script-downloads-from-npm) but for now this sticks with baking an immutable docker image. I also wasn't familiar with pdm but to update the pdm lock file I just ran `pdm lock` which seems to have worked but also updated quite a few other dependencies in that lockfile. # Related issues <!-- e.g. #123 or Roadmap goal # https://github.com/pirate/ArchiveBox/wiki/Roadmap --> # Changes these areas - [ ] Bugfixes - [ ] Feature behavior - [ ] Command line interface - [ ] Configuration options - [ ] Internal architecture - [ ] Snapshot data layout on disk
kerem 2026-03-01 18:01:18 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#2978
No description provided.