[PR #1249] [MERGED] Replace setup.py with PDM, update Python, NodeJS, package versions, and Dockerfile #1363

Closed
opened 2026-03-01 14:49:29 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ArchiveBox/ArchiveBox/pull/1249
Author: @pirate
Created: 10/20/2023
Status: Merged
Merged: 10/20/2023
Merged by: @pirate

Base: devHead: pdm


📝 Commits (10+)

  • 8caffc4 ignore .pdm-python file
  • 53cff45 switch from pipenv and setup.py to PDM for python packaging
  • 85f8583 catch ldap configuration and packaging errors and make them non fatal
  • 22bcffe remove accidental duplicate template code
  • 63c276a redirect add page back to snapshots list automatically
  • 3b3bdab update ignore files
  • e0e34e6 update package.json and npm lockfile
  • 16796a6 share PUID and PGID with child procs from entrypoint
  • 75eeb12 dont install youtubedl anymore
  • d4ca2d1 update mercury bin path to postlight parser

📊 Changes

17 files changed (+3081 additions, -1683 deletions)

View changed files

📝 .dockerignore (+7 -2)
📝 .gitignore (+2 -0)
📝 Dockerfile (+113 -68)
📝 archivebox/config.py (+4 -5)
📝 archivebox/core/settings.py (+36 -29)
📝 archivebox/extractors/readability.py (+2 -2)
📝 archivebox/logging_util.py (+23 -14)
📝 archivebox/main.py (+9 -8)
📝 archivebox/templates/admin/private_index.html (+0 -59)
📝 archivebox/templates/core/add.html (+7 -4)
📝 bin/build_docker.sh (+2 -1)
📝 bin/docker_entrypoint.sh (+2 -3)
📝 package-lock.json (+538 -1350)
📝 package.json (+3 -4)
pdm.lock (+2077 -0)
pyproject.toml (+121 -0)
📝 setup.py (+135 -134)

📄 Description

Summary

  • Adds https://pdm.fming.dev/latest/ and changes the Dockerfile to use it for build and installation
  • bump Dockerfile base image to debian:bookworm-backports
  • use global /venv for clear separation of ArchiveBox dependencies /app/.venv and build tooling /venv
  • bump Dockerfile python version to 3.11 and node to 21.x
  • remove youtube-dl from Dockerfile completely in favor of yt-dlp
  • use playwright exclusively to install chromium, no more manually managing chromium dependencies
  • build wheel during build process using pdm
  • update package.json dependencies including mercury (aka postlight-parser), singlefile, readability-extractor

Changes these areas

  • Bugfixes
  • Feature behavior
  • Command line interface
  • Configuration options
  • Internal architecture
  • Snapshot data layout on disk

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ArchiveBox/ArchiveBox/pull/1249 **Author:** [@pirate](https://github.com/pirate) **Created:** 10/20/2023 **Status:** ✅ Merged **Merged:** 10/20/2023 **Merged by:** [@pirate](https://github.com/pirate) **Base:** `dev` ← **Head:** `pdm` --- ### 📝 Commits (10+) - [`8caffc4`](https://github.com/ArchiveBox/ArchiveBox/commit/8caffc4b4e761750c3fb56c826103b98f15be190) ignore .pdm-python file - [`53cff45`](https://github.com/ArchiveBox/ArchiveBox/commit/53cff45ec0cb378ae2bb3f632024a1c56e1f4348) switch from pipenv and setup.py to PDM for python packaging - [`85f8583`](https://github.com/ArchiveBox/ArchiveBox/commit/85f8583d62a341b0d5ffafe7d781eea33d1476db) catch ldap configuration and packaging errors and make them non fatal - [`22bcffe`](https://github.com/ArchiveBox/ArchiveBox/commit/22bcffe5eef17b5d7525a106f45a79dc31eb257a) remove accidental duplicate template code - [`63c276a`](https://github.com/ArchiveBox/ArchiveBox/commit/63c276a93d89091e7e122a464efbf6ed9001a4d8) redirect add page back to snapshots list automatically - [`3b3bdab`](https://github.com/ArchiveBox/ArchiveBox/commit/3b3bdab97dd1f9205d3f9eaf41f86b41091e6355) update ignore files - [`e0e34e6`](https://github.com/ArchiveBox/ArchiveBox/commit/e0e34e6377d0887c289a753c85ba1151ce573990) update package.json and npm lockfile - [`16796a6`](https://github.com/ArchiveBox/ArchiveBox/commit/16796a63fd7a814dd7acaad08f6317f68d2e6f1a) share PUID and PGID with child procs from entrypoint - [`75eeb12`](https://github.com/ArchiveBox/ArchiveBox/commit/75eeb12ebefd537e296d4fe6c04f2a8c16f62f8b) dont install youtubedl anymore - [`d4ca2d1`](https://github.com/ArchiveBox/ArchiveBox/commit/d4ca2d1154aa21eef8688dd80cfb457fe46bbc50) update mercury bin path to postlight parser ### 📊 Changes **17 files changed** (+3081 additions, -1683 deletions) <details> <summary>View changed files</summary> 📝 `.dockerignore` (+7 -2) 📝 `.gitignore` (+2 -0) 📝 `Dockerfile` (+113 -68) 📝 `archivebox/config.py` (+4 -5) 📝 `archivebox/core/settings.py` (+36 -29) 📝 `archivebox/extractors/readability.py` (+2 -2) 📝 `archivebox/logging_util.py` (+23 -14) 📝 `archivebox/main.py` (+9 -8) 📝 `archivebox/templates/admin/private_index.html` (+0 -59) 📝 `archivebox/templates/core/add.html` (+7 -4) 📝 `bin/build_docker.sh` (+2 -1) 📝 `bin/docker_entrypoint.sh` (+2 -3) 📝 `package-lock.json` (+538 -1350) 📝 `package.json` (+3 -4) ➕ `pdm.lock` (+2077 -0) ➕ `pyproject.toml` (+121 -0) 📝 `setup.py` (+135 -134) </details> ### 📄 Description # Summary - Adds https://pdm.fming.dev/latest/ and changes the `Dockerfile` to use it for build and installation - bump `Dockerfile` base image to [`debian:bookworm-backports`](https://packages.debian.org/bookworm-backports/) - use global `/venv` for clear separation of ArchiveBox dependencies `/app/.venv` and build tooling `/venv` - bump `Dockerfile` python version to `3.11` and node to `21.x` - remove `youtube-dl` from `Dockerfile` completely in favor of `yt-dlp` - use `playwright` exclusively to install chromium, no more manually managing chromium dependencies - build wheel during build process using `pdm` - update `package.json` dependencies including `mercury` (aka `postlight-parser`), `singlefile`, `readability-extractor` # Changes these areas - [ ] Bugfixes - [ ] Feature behavior - [ ] Command line interface - [ ] Configuration options - [x] Internal architecture - [ ] Snapshot data layout on disk --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-01 14:49:29 +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#1363
No description provided.