From fa24136ff7049b4c5b924537f0b646d0bfc5518f Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 18 Feb 2024 05:46:53 -0800 Subject: [PATCH 1/7] Update setup.sh --- bin/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/setup.sh b/bin/setup.sh index 1b482c9e..3ca41a29 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -165,7 +165,7 @@ if ! (python3 --version && python3 -m pip --version && python3 -m django --versi exit 1 fi -if ! (python3 -m django --version && which -a archivebox); then +if ! (python3 -m django --version && python3 -m pip show archivebox && which -a archivebox); then echo "[X] Django and ArchiveBox were not found after installing!" echo " Check to see if a previous step failed." echo From f554ae903ecd530fbd8aed1f9915e228adcbf602 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 18 Feb 2024 19:13:40 -0800 Subject: [PATCH 2/7] fix requirements.txt so docks build doesnt crash on missing ldap c headers --- requirements.txt | 78 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 10 deletions(-) diff --git a/requirements.txt b/requirements.txt index a7e46acc..0b3c10dd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,54 +1,112 @@ # This file is @generated by PDM. # Please do not edit it manually. +alabaster==0.7.16 asgiref==3.7.2 asttokens==2.4.1 +babel==2.14.0 +blinker==1.7.0 brotli==1.1.0; implementation_name == "cpython" brotlicffi==1.1.0.0; implementation_name != "cpython" -certifi==2023.11.17 +cachecontrol==0.14.0 +certifi==2024.2.2 cffi==1.16.0; implementation_name != "cpython" charset-normalizer==3.3.2 colorama==0.4.6; sys_platform == "win32" +commonmark==0.9.1 croniter==2.0.1 dateparser==1.2.0 decorator==5.1.1 +dep-logic==0.0.4 +distlib==0.3.8 django==3.1.14 -django-auth-ldap==4.1.0 +django-debug-toolbar==3.2.4 django-extensions==3.1.5 +django-stubs==4.2.7 +django-stubs-ext==4.2.7 +djdt-flamegraph==0.2.13 +docutils==0.20.1 exceptiongroup==1.2.0; python_version < "3.11" executing==2.0.1 +filelock==3.13.1 +findpython==0.4.1 +flake8==7.0.0 +homebrew-pypi-poet==0.10.0 idna==3.6 -ipython==8.18.1 +imagesize==1.4.1 +iniconfig==2.0.0 +installer==0.7.0 +ipdb==0.13.13 +ipython==8.21.0 jedi==0.19.1 +Jinja2==3.1.3 +markdown-it-py==3.0.0 +MarkupSafe==2.1.5 matplotlib-inline==0.1.6 +mccabe==0.7.0 +mdurl==0.1.2 +msgpack==1.0.7 mutagen==1.47.0 +mypy==1.8.0 mypy-extensions==1.0.0 +packaging==23.2 parso==0.8.3 +pdm==2.12.3 pexpect==4.9.0; sys_platform != "win32" +platformdirs==4.2.0 +pluggy==1.4.0 prompt-toolkit==3.0.43 ptyprocess==0.7.0; sys_platform != "win32" pure-eval==0.2.2 pyasn1==0.5.1 pyasn1-modules==0.3.0 +pycodestyle==2.11.1 pycparser==2.21; implementation_name != "cpython" -pycryptodomex==3.19.1 +pycryptodomex==3.20.0 +pyflakes==3.2.0 pygments==2.17.2 +pyproject-hooks==1.0.0 +pytest==8.0.1 python-crontab==3.0.0 python-dateutil==2.8.2 -python-ldap==3.4.4 -pytz==2023.3.post1 +python-dotenv==1.0.1 +pytz==2024.1 +recommonmark==0.7.1 regex==2023.12.25 requests==2.31.0 +requests-toolbelt==1.0.0 +resolvelib==1.0.1 +rich==13.7.0 +setuptools==69.1.0 +shellingham==1.5.4 six==1.16.0 +snowballstemmer==2.2.0 sonic-client==1.0.0 +sphinx==7.2.6 +sphinx-rtd-theme==2.0.0 +sphinxcontrib-applehelp==1.0.8 +sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-htmlhelp==2.0.5 +sphinxcontrib-jquery==4.1 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-serializinghtml==1.1.10 sqlparse==0.4.4 stack-data==0.6.3 +tomli==2.0.1; python_version < "3.11" +tomlkit==0.12.3 traitlets==5.14.1 -typing-extensions==4.9.0; python_version < "3.11" -tzdata==2023.4; platform_system == "Windows" +truststore==0.8.0; python_version >= "3.10" +types-pytz==2024.1.0.20240203 +types-PyYAML==6.0.12.12 +typing-extensions==4.9.0 +tzdata==2024.1; platform_system == "Windows" tzlocal==5.2 -urllib3==2.1.0 +unearth==0.14.0 +urllib3==2.2.1 +virtualenv==20.25.0 w3lib==2.1.2 -wcwidth==0.2.12 +wcwidth==0.2.13 websockets==12.0 +wheel==0.42.0 yt-dlp==2023.12.30 From 841c01ec2c60e066f8d69528864a36ba80cd4a23 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 18 Feb 2024 19:14:08 -0800 Subject: [PATCH 3/7] bump required python version to 3.10 to match brew and apt --- pyproject.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ea0156b3..ccb0220a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,9 +16,10 @@ dependencies = [ "requests>=2.24.0", "w3lib>=1.22.0", "yt-dlp>=2023.10.13", + # dont add playwright becuase packages without sdists cause trouble on many build systems that refuse to install wheel-only packages # "playwright>=1.39.0; platform_machine != 'armv7l'", ] -requires-python = ">=3.9,<3.12" +requires-python = ">=3.10,<3.13" readme = "README.md" license = {text = "MIT"} classifiers = [ @@ -91,7 +92,7 @@ sonic = [ "sonic-client>=0.0.5", ] ldap = [ - # apt install libldap2-dev libsasl2-dev + # apt install libldap2-dev libsasl2-dev python3-ldap "python-ldap>=3.4.3", "django-auth-ldap>=4.1.0", ] From 335e3aadb0efc81cfa88d9dad0808dfe14a55b3d Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 18 Feb 2024 20:01:06 -0800 Subject: [PATCH 4/7] revert main changes --- pyproject.toml | 5 ++-- requirements.txt | 78 +++++++----------------------------------------- 2 files changed, 12 insertions(+), 71 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ccb0220a..ea0156b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,10 +16,9 @@ dependencies = [ "requests>=2.24.0", "w3lib>=1.22.0", "yt-dlp>=2023.10.13", - # dont add playwright becuase packages without sdists cause trouble on many build systems that refuse to install wheel-only packages # "playwright>=1.39.0; platform_machine != 'armv7l'", ] -requires-python = ">=3.10,<3.13" +requires-python = ">=3.9,<3.12" readme = "README.md" license = {text = "MIT"} classifiers = [ @@ -92,7 +91,7 @@ sonic = [ "sonic-client>=0.0.5", ] ldap = [ - # apt install libldap2-dev libsasl2-dev python3-ldap + # apt install libldap2-dev libsasl2-dev "python-ldap>=3.4.3", "django-auth-ldap>=4.1.0", ] diff --git a/requirements.txt b/requirements.txt index 0b3c10dd..a7e46acc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,112 +1,54 @@ # This file is @generated by PDM. # Please do not edit it manually. -alabaster==0.7.16 asgiref==3.7.2 asttokens==2.4.1 -babel==2.14.0 -blinker==1.7.0 brotli==1.1.0; implementation_name == "cpython" brotlicffi==1.1.0.0; implementation_name != "cpython" -cachecontrol==0.14.0 -certifi==2024.2.2 +certifi==2023.11.17 cffi==1.16.0; implementation_name != "cpython" charset-normalizer==3.3.2 colorama==0.4.6; sys_platform == "win32" -commonmark==0.9.1 croniter==2.0.1 dateparser==1.2.0 decorator==5.1.1 -dep-logic==0.0.4 -distlib==0.3.8 django==3.1.14 -django-debug-toolbar==3.2.4 +django-auth-ldap==4.1.0 django-extensions==3.1.5 -django-stubs==4.2.7 -django-stubs-ext==4.2.7 -djdt-flamegraph==0.2.13 -docutils==0.20.1 exceptiongroup==1.2.0; python_version < "3.11" executing==2.0.1 -filelock==3.13.1 -findpython==0.4.1 -flake8==7.0.0 -homebrew-pypi-poet==0.10.0 idna==3.6 -imagesize==1.4.1 -iniconfig==2.0.0 -installer==0.7.0 -ipdb==0.13.13 -ipython==8.21.0 +ipython==8.18.1 jedi==0.19.1 -Jinja2==3.1.3 -markdown-it-py==3.0.0 -MarkupSafe==2.1.5 matplotlib-inline==0.1.6 -mccabe==0.7.0 -mdurl==0.1.2 -msgpack==1.0.7 mutagen==1.47.0 -mypy==1.8.0 mypy-extensions==1.0.0 -packaging==23.2 parso==0.8.3 -pdm==2.12.3 pexpect==4.9.0; sys_platform != "win32" -platformdirs==4.2.0 -pluggy==1.4.0 prompt-toolkit==3.0.43 ptyprocess==0.7.0; sys_platform != "win32" pure-eval==0.2.2 pyasn1==0.5.1 pyasn1-modules==0.3.0 -pycodestyle==2.11.1 pycparser==2.21; implementation_name != "cpython" -pycryptodomex==3.20.0 -pyflakes==3.2.0 +pycryptodomex==3.19.1 pygments==2.17.2 -pyproject-hooks==1.0.0 -pytest==8.0.1 python-crontab==3.0.0 python-dateutil==2.8.2 -python-dotenv==1.0.1 -pytz==2024.1 -recommonmark==0.7.1 +python-ldap==3.4.4 +pytz==2023.3.post1 regex==2023.12.25 requests==2.31.0 -requests-toolbelt==1.0.0 -resolvelib==1.0.1 -rich==13.7.0 -setuptools==69.1.0 -shellingham==1.5.4 six==1.16.0 -snowballstemmer==2.2.0 sonic-client==1.0.0 -sphinx==7.2.6 -sphinx-rtd-theme==2.0.0 -sphinxcontrib-applehelp==1.0.8 -sphinxcontrib-devhelp==1.0.6 -sphinxcontrib-htmlhelp==2.0.5 -sphinxcontrib-jquery==4.1 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.7 -sphinxcontrib-serializinghtml==1.1.10 sqlparse==0.4.4 stack-data==0.6.3 -tomli==2.0.1; python_version < "3.11" -tomlkit==0.12.3 traitlets==5.14.1 -truststore==0.8.0; python_version >= "3.10" -types-pytz==2024.1.0.20240203 -types-PyYAML==6.0.12.12 -typing-extensions==4.9.0 -tzdata==2024.1; platform_system == "Windows" +typing-extensions==4.9.0; python_version < "3.11" +tzdata==2023.4; platform_system == "Windows" tzlocal==5.2 -unearth==0.14.0 -urllib3==2.2.1 -virtualenv==20.25.0 +urllib3==2.1.0 w3lib==2.1.2 -wcwidth==0.2.13 +wcwidth==0.2.12 websockets==12.0 -wheel==0.42.0 yt-dlp==2023.12.30 From 6de23cd8fe120999c06c0f2eb8d04c12ba472d66 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 19 Feb 2024 00:19:48 -0800 Subject: [PATCH 5/7] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f6fc0d1a..7b81177a 100644 --- a/README.md +++ b/README.md @@ -259,9 +259,10 @@ See "Against curl | sh as a
  • Install Python >= v3.10 and Node >= v18 on your system (if not already installed).
  • Install the ArchiveBox package using pip3 (or pipx). -
    pip3 install archivebox
    +
    pip3 install --upgrade archivebox yt-dlp playwright
    +playwright install --with-deps chromium
     archivebox version
    -# install any missing extras shown using apt/brew/pkg/etc.
    +# install any missing extras shown using apt/brew/pkg/etc. see Wiki for instructions
     #    python@3.10 node curl wget git ripgrep ...
     
    See the Install: Bare Metal Wiki for full install instructions for each OS... @@ -269,7 +270,7 @@ archivebox version
  • Create a new empty directory and initialize your collection (can be anywhere).
    mkdir -p ~/archivebox/data && cd ~/archivebox/data   # for example
     archivebox init --setup   # instantialize a new collection
    -# (--setup auto-installs and link JS dependencies: singlefile, readability, etc.)
    +# (--setup auto-installs and link JS dependencies: singlefile, readability, mercury, etc.)
     
  • Optional: Start the server then login to the Web UI http://127.0.0.1:8000 ⇢ Admin. From 9b1df2b38149fef9ca4ba0fa551ae104cb12f5b3 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 19 Feb 2024 00:21:45 -0800 Subject: [PATCH 6/7] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b81177a..4935885d 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,9 @@ sudo apt update
  • Install the ArchiveBox package using apt.
    sudo apt install archivebox
     # update to newest version with pip (sometimes apt package is outdated)
    -pip install --upgrade --ignore-installed archivebox
    +pip install --upgrade --ignore-installed archivebox yt-dlp playwright
    +playwright install --with-deps chromium    # install chromium and its system dependencies
    +archivebox version                         # make sure all dependencies are installed
     
  • Create a new empty directory and initialize your collection (can be anywhere). From 87a86dd111ab634f3f894710fff7a13187808b79 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 19 Feb 2024 00:23:44 -0800 Subject: [PATCH 7/7] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4935885d..f298e392 100644 --- a/README.md +++ b/README.md @@ -336,7 +336,9 @@ See below for more usage examples using the C
    brew tap archivebox/archivebox
     brew install archivebox
     # update to newest version with pip (sometimes brew package is outdated)
    -pip install --upgrade --ignore-installed archivebox
    +pip install --upgrade --ignore-installed archivebox yt-dlp playwright
    +playwright install --with-deps chromium    # install chromium and its system dependencies
    +archivebox version                         # make sure all dependencies are installed
     
    See the Install: Bare Metal Wiki for more granular instructions for macOS... ➡️