From dee4eb7992d4acb237cadf7e98b876b0ef463235 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 28 Oct 2024 20:05:20 -0700 Subject: [PATCH] rename vendor dir to pkgs --- .github/workflows/test.yml | 2 +- archivebox/.flake8 | 2 +- archivebox/__init__.py | 4 +- archivebox/pkgs/__init__.py | 39 +++++++++++++++++++ .../abx-plugin-archivedotorg/README.md | 0 .../abx_plugin_archivedotorg/__init__.py | 0 .../abx_plugin_archivedotorg/archive_org.py | 0 .../abx_plugin_archivedotorg/config.py | 0 .../abx-plugin-archivedotorg/pyproject.toml | 0 .../abx-plugin-chrome/README.md | 0 .../abx_plugin_chrome/__init__.py | 0 .../abx_plugin_chrome/binaries.py | 0 .../abx_plugin_chrome/config.py | 0 .../abx_plugin_chrome/dom.py | 0 .../abx_plugin_chrome/pdf.py | 0 .../abx_plugin_chrome/screenshot.py | 0 .../abx-plugin-chrome/pyproject.toml | 0 .../abx-plugin-curl/README.md | 0 .../abx_plugin_curl/__init__.py | 0 .../abx_plugin_curl/binaries.py | 0 .../abx-plugin-curl/abx_plugin_curl/config.py | 0 .../abx_plugin_curl/headers.py | 0 .../abx-plugin-curl/pyproject.toml | 0 .../abx-plugin-default-binproviders/README.md | 0 .../abx_plugin_default_binproviders.py | 0 .../pyproject.toml | 0 .../abx-plugin-favicon/README.md | 0 .../abx_plugin_favicon/__init__.py | 0 .../abx_plugin_favicon/config.py | 0 .../abx_plugin_favicon/favicon.py | 0 .../abx-plugin-favicon/pyproject.toml | 0 .../{vendor => pkgs}/abx-plugin-git/README.md | 0 .../abx-plugin-git/abx_plugin_git/__init__.py | 0 .../abx-plugin-git/abx_plugin_git/binaries.py | 0 .../abx-plugin-git/abx_plugin_git/config.py | 0 .../abx_plugin_git/extractors.py | 0 .../abx-plugin-git/abx_plugin_git/git.py | 0 .../abx-plugin-git/pyproject.toml | 0 .../abx-plugin-htmltotext/README.md | 0 .../abx_plugin_htmltotext/__init__.py | 0 .../abx_plugin_htmltotext/config.py | 0 .../abx_plugin_htmltotext/htmltotext.py | 0 .../abx-plugin-htmltotext/pyproject.toml | 0 .../abx-plugin-ldap-auth/README.md | 0 .../abx_plugin_ldap_auth/__init__.py | 0 .../abx_plugin_ldap_auth/binaries.py | 0 .../abx_plugin_ldap_auth/config.py | 0 .../abx-plugin-ldap-auth/pyproject.toml | 0 .../abx-plugin-mercury/README.md | 0 .../abx_plugin_mercury/__init__.py | 0 .../abx_plugin_mercury/binaries.py | 0 .../abx_plugin_mercury/config.py | 0 .../abx_plugin_mercury/extractors.py | 0 .../abx_plugin_mercury/mercury.py | 0 .../abx-plugin-mercury/pyproject.toml | 0 .../{vendor => pkgs}/abx-plugin-npm/README.md | 0 .../abx-plugin-npm/abx_plugin_npm/__init__.py | 0 .../abx-plugin-npm/abx_plugin_npm/binaries.py | 0 .../abx_plugin_npm/binproviders.py | 0 .../abx-plugin-npm/abx_plugin_npm/config.py | 0 .../abx-plugin-npm/pyproject.toml | 0 .../{vendor => pkgs}/abx-plugin-pip/README.md | 0 .../abx_plugin_pip/.plugin_order | 0 .../abx-plugin-pip/abx_plugin_pip/__init__.py | 0 .../abx-plugin-pip/abx_plugin_pip/binaries.py | 0 .../abx_plugin_pip/binproviders.py | 0 .../abx-plugin-pip/abx_plugin_pip/config.py | 0 .../abx-plugin-pip/pyproject.toml | 0 .../abx-plugin-playwright/README.md | 0 .../abx_plugin_playwright/__init__.py | 0 .../abx_plugin_playwright/binaries.py | 0 .../abx_plugin_playwright/binproviders.py | 0 .../abx_plugin_playwright/config.py | 0 .../abx-plugin-playwright/pyproject.toml | 0 .../abx-plugin-pocket/README.md | 0 .../abx_plugin_pocket/__init__.py | 0 .../abx_plugin_pocket/config.py | 0 .../abx-plugin-pocket/pyproject.toml | 0 .../abx-plugin-puppeteer/README.md | 0 .../abx_plugin_puppeteer/__init__.py | 0 .../abx_plugin_puppeteer/binaries.py | 0 .../abx_plugin_puppeteer/binproviders.py | 0 .../abx_plugin_puppeteer/config.py | 0 .../abx-plugin-puppeteer/pyproject.toml | 0 .../abx-plugin-readability/README.md | 0 .../abx_plugin_readability/__init__.py | 0 .../abx_plugin_readability/binaries.py | 0 .../abx_plugin_readability/config.py | 0 .../abx_plugin_readability/extractors.py | 0 .../abx_plugin_readability/readability.py | 0 .../abx-plugin-readability/pyproject.toml | 0 .../abx-plugin-readwise/README.md | 0 .../abx_plugin_readwise.py | 0 .../abx-plugin-readwise/pyproject.toml | 0 .../abx-plugin-ripgrep-search/README.md | 0 .../abx_plugin_ripgrep_search/__init__.py | 0 .../abx_plugin_ripgrep_search/binaries.py | 0 .../abx_plugin_ripgrep_search/config.py | 0 .../searchbackend.py | 0 .../abx-plugin-ripgrep-search/pyproject.toml | 0 .../abx-plugin-singlefile/README.md | 0 .../abx_plugin_singlefile/__init__.py | 0 .../abx_plugin_singlefile/binaries.py | 0 .../abx_plugin_singlefile/config.py | 0 .../abx_plugin_singlefile/extractors.py | 0 .../abx_plugin_singlefile/models.py | 0 .../abx_plugin_singlefile/singlefile.py | 0 .../abx-plugin-singlefile/pyproject.toml | 0 .../abx-plugin-sonic-search/README.md | 0 .../abx_plugin_sonic_search/__init__.py | 0 .../abx_plugin_sonic_search/binaries.py | 0 .../abx_plugin_sonic_search/config.py | 0 .../abx_plugin_sonic_search/searchbackend.py | 0 .../abx-plugin-sonic-search/pyproject.toml | 0 .../abx-plugin-sqlitefts-search/README.md | 0 .../abx_plugin_sqlitefts_search/__init__.py | 0 .../abx_plugin_sqlitefts_search/config.py | 0 .../searchbackend.py | 0 .../pyproject.toml | 0 .../abx-plugin-title/README.md | 0 .../abx_plugin_title/__init__.py | 0 .../abx_plugin_title/extractor.py | 0 .../abx-plugin-title/pyproject.toml | 0 .../abx-plugin-wget/README.md | 0 .../abx_plugin_wget/__init__.py | 0 .../abx_plugin_wget/binaries.py | 0 .../abx-plugin-wget/abx_plugin_wget/config.py | 0 .../abx_plugin_wget/extractors.py | 0 .../abx-plugin-wget/abx_plugin_wget/wget.py | 0 .../abx_plugin_wget/wget_util.py | 0 .../abx-plugin-wget/pyproject.toml | 0 .../abx-plugin-ytdlp/README.md | 0 .../abx_plugin_ytdlp/__init__.py | 0 .../abx_plugin_ytdlp/binaries.py | 0 .../abx_plugin_ytdlp/config.py | 0 .../abx_plugin_ytdlp/media.py | 0 .../abx-plugin-ytdlp/pyproject.toml | 0 .../abx-spec-archivebox/README.md | 0 .../abx_spec_archivebox/__init__.py | 0 .../abx_spec_archivebox/effects.py | 0 .../abx_spec_archivebox/events.py | 0 .../abx_spec_archivebox/reads.py | 0 .../abx_spec_archivebox/states.py | 0 .../abx_spec_archivebox/writes.py | 0 .../abx-spec-archivebox/pyproject.toml | 0 .../abx-spec-config/README.md | 0 .../abx_spec_config/__init__.py | 0 .../abx_spec_config/base_configset.py | 0 .../abx_spec_config/toml_util.py | 0 .../abx-spec-config/pyproject.toml | 0 .../abx-spec-django/README.md | 0 .../abx-spec-django/abx_spec_django.py | 0 .../abx-spec-django/pyproject.toml | 0 .../abx-spec-extractor/README.md | 0 .../abx-spec-extractor/abx_spec_extractor.py | 0 .../abx-spec-extractor/pyproject.toml | 0 .../abx-spec-pydantic-pkgr/README.md | 0 .../abx_spec_pydantic_pkgr.py | 0 .../abx-spec-pydantic-pkgr/pyproject.toml | 0 .../abx-spec-searchbackend/README.md | 0 .../abx_spec_searchbackend.py | 0 .../abx-spec-searchbackend/pyproject.toml | 0 archivebox/{vendor => pkgs}/abx/README.md | 0 archivebox/{vendor => pkgs}/abx/abx.py | 1 + .../{vendor => pkgs}/abx/pyproject.toml | 0 archivebox/vendor/__init__.py | 39 ------------------- archivebox/vendor/requirements.txt | 8 ---- pyproject.toml | 6 +-- 168 files changed, 47 insertions(+), 54 deletions(-) create mode 100644 archivebox/pkgs/__init__.py rename archivebox/{vendor => pkgs}/abx-plugin-archivedotorg/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-archivedotorg/abx_plugin_archivedotorg/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-archivedotorg/abx_plugin_archivedotorg/archive_org.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-archivedotorg/abx_plugin_archivedotorg/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-archivedotorg/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/dom.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/pdf.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/abx_plugin_chrome/screenshot.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-chrome/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/abx_plugin_curl/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/abx_plugin_curl/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/abx_plugin_curl/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/abx_plugin_curl/headers.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-curl/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-default-binproviders/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-default-binproviders/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-favicon/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-favicon/abx_plugin_favicon/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-favicon/abx_plugin_favicon/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-favicon/abx_plugin_favicon/favicon.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-favicon/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/abx_plugin_git/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/abx_plugin_git/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/abx_plugin_git/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/abx_plugin_git/extractors.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/abx_plugin_git/git.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-git/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-htmltotext/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-htmltotext/abx_plugin_htmltotext/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-htmltotext/abx_plugin_htmltotext/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-htmltotext/abx_plugin_htmltotext/htmltotext.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-htmltotext/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ldap-auth/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ldap-auth/abx_plugin_ldap_auth/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ldap-auth/abx_plugin_ldap_auth/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ldap-auth/abx_plugin_ldap_auth/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ldap-auth/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/abx_plugin_mercury/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/abx_plugin_mercury/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/abx_plugin_mercury/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/abx_plugin_mercury/extractors.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/abx_plugin_mercury/mercury.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-mercury/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/abx_plugin_npm/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/abx_plugin_npm/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/abx_plugin_npm/binproviders.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/abx_plugin_npm/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-npm/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/abx_plugin_pip/.plugin_order (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/abx_plugin_pip/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/abx_plugin_pip/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/abx_plugin_pip/binproviders.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/abx_plugin_pip/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pip/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/abx_plugin_playwright/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/abx_plugin_playwright/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/abx_plugin_playwright/binproviders.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/abx_plugin_playwright/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-playwright/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pocket/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pocket/abx_plugin_pocket/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pocket/abx_plugin_pocket/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-pocket/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/abx_plugin_puppeteer/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/abx_plugin_puppeteer/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/abx_plugin_puppeteer/binproviders.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/abx_plugin_puppeteer/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-puppeteer/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/abx_plugin_readability/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/abx_plugin_readability/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/abx_plugin_readability/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/abx_plugin_readability/extractors.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/abx_plugin_readability/readability.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readability/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readwise/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readwise/abx_plugin_readwise.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-readwise/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/searchbackend.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ripgrep-search/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/extractors.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/models.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/abx_plugin_singlefile/singlefile.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-singlefile/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/abx_plugin_sonic_search/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/abx_plugin_sonic_search/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/abx_plugin_sonic_search/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/abx_plugin_sonic_search/searchbackend.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sonic-search/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sqlitefts-search/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/searchbackend.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-sqlitefts-search/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-title/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-title/abx_plugin_title/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-title/abx_plugin_title/extractor.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-title/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/extractors.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/wget.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/abx_plugin_wget/wget_util.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-wget/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/README.md (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/abx_plugin_ytdlp/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/abx_plugin_ytdlp/binaries.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/abx_plugin_ytdlp/config.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/abx_plugin_ytdlp/media.py (100%) rename archivebox/{vendor => pkgs}/abx-plugin-ytdlp/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/effects.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/events.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/reads.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/states.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/abx_spec_archivebox/writes.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-archivebox/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-config/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-config/abx_spec_config/__init__.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-config/abx_spec_config/base_configset.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-config/abx_spec_config/toml_util.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-config/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-django/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-django/abx_spec_django.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-django/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-extractor/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-extractor/abx_spec_extractor.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-extractor/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-pydantic-pkgr/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-pydantic-pkgr/abx_spec_pydantic_pkgr.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-pydantic-pkgr/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx-spec-searchbackend/README.md (100%) rename archivebox/{vendor => pkgs}/abx-spec-searchbackend/abx_spec_searchbackend.py (100%) rename archivebox/{vendor => pkgs}/abx-spec-searchbackend/pyproject.toml (100%) rename archivebox/{vendor => pkgs}/abx/README.md (100%) rename archivebox/{vendor => pkgs}/abx/abx.py (99%) rename archivebox/{vendor => pkgs}/abx/pyproject.toml (100%) delete mode 100644 archivebox/vendor/__init__.py delete mode 100644 archivebox/vendor/requirements.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 79cc28e7..b1153211 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -102,7 +102,7 @@ jobs: # TODO: remove this exception for windows once we get tests passing on that platform if: ${{ !contains(matrix.os, 'windows') }} run: | - python -m pytest -s --basetemp=tests/out --ignore=archivebox/vendor --ignore=deb_dist --ignore=pip_dist --ignore=brew_dist + python -m pytest -s --basetemp=tests/out --ignore=archivebox/pkgs docker_tests: runs-on: ubuntu-latest diff --git a/archivebox/.flake8 b/archivebox/.flake8 index 01af646d..bb7176bd 100644 --- a/archivebox/.flake8 +++ b/archivebox/.flake8 @@ -3,4 +3,4 @@ ignore = D100,D101,D102,D103,D104,D105,D202,D203,D205,D400,E131,E241,E252,E266,E select = F,E9,W max-line-length = 130 max-complexity = 10 -exclude = migrations,tests,node_modules,vendor,venv,.venv,.venv2,.docker-venv +exclude = migrations,tests,node_modules,vendor,venv,.venv,.venv2,.docker-venv,data,data* diff --git a/archivebox/__init__.py b/archivebox/__init__.py index 24863926..fd32778c 100755 --- a/archivebox/__init__.py +++ b/archivebox/__init__.py @@ -47,8 +47,8 @@ from .monkey_patches import * # noqa # print('LOADING VENDORED LIBRARIES') -from .vendor import load_vendored_libs # noqa -load_vendored_libs() +from .pkgs import load_vendored_pkgs # noqa +load_vendored_pkgs() # print('DONE LOADING VENDORED LIBRARIES') # Load ABX Plugin Specifications + Default Implementations diff --git a/archivebox/pkgs/__init__.py b/archivebox/pkgs/__init__.py new file mode 100644 index 00000000..c5f4cc82 --- /dev/null +++ b/archivebox/pkgs/__init__.py @@ -0,0 +1,39 @@ +import sys +import importlib +from pathlib import Path + +PKGS_DIR = Path(__file__).parent + +VENDORED_PKGS = [ + 'abx', + # 'pydantic-pkgr', +] + +# scan ./pkgs and add all dirs present to list of available VENDORED_PKGS +for subdir in reversed(sorted(PKGS_DIR.iterdir())): + if subdir.is_dir() and subdir.name not in VENDORED_PKGS and not subdir.name.startswith('_'): + VENDORED_PKGS.append(subdir.name) + + +def load_vendored_pkgs(): + """Add archivebox/vendor to sys.path and import all vendored libraries present within""" + if str(PKGS_DIR) not in sys.path: + sys.path.append(str(PKGS_DIR)) + + for pkg_name in VENDORED_PKGS: + pkg_dir = PKGS_DIR / pkg_name + assert pkg_dir.is_dir(), f'Required vendored pkg {pkg_name} could not be found in {pkg_dir}' + + try: + lib = importlib.import_module(pkg_name) + # print(f"Successfully imported lib from environment {pkg_name}") + except ImportError: + sys.path.append(str(pkg_dir)) + try: + lib = importlib.import_module(pkg_name) + # print(f"Successfully imported lib from vendored fallback {pkg_name}: {inspect.getfile(lib)}") + except ImportError as e: + print(f"Failed to import lib from environment or vendored fallback {pkg_name}: {e}", file=sys.stderr) + sys.exit(1) + + diff --git a/archivebox/vendor/abx-plugin-archivedotorg/README.md b/archivebox/pkgs/abx-plugin-archivedotorg/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-archivedotorg/README.md rename to archivebox/pkgs/abx-plugin-archivedotorg/README.md diff --git a/archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/__init__.py b/archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/__init__.py rename to archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/__init__.py diff --git a/archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/archive_org.py b/archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/archive_org.py similarity index 100% rename from archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/archive_org.py rename to archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/archive_org.py diff --git a/archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/config.py b/archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-archivedotorg/abx_plugin_archivedotorg/config.py rename to archivebox/pkgs/abx-plugin-archivedotorg/abx_plugin_archivedotorg/config.py diff --git a/archivebox/vendor/abx-plugin-archivedotorg/pyproject.toml b/archivebox/pkgs/abx-plugin-archivedotorg/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-archivedotorg/pyproject.toml rename to archivebox/pkgs/abx-plugin-archivedotorg/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-chrome/README.md b/archivebox/pkgs/abx-plugin-chrome/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/README.md rename to archivebox/pkgs/abx-plugin-chrome/README.md diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/__init__.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/__init__.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/__init__.py diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/binaries.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/binaries.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/binaries.py diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/config.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/config.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/config.py diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/dom.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/dom.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/dom.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/dom.py diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/pdf.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/pdf.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/pdf.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/pdf.py diff --git a/archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/screenshot.py b/archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/screenshot.py similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/abx_plugin_chrome/screenshot.py rename to archivebox/pkgs/abx-plugin-chrome/abx_plugin_chrome/screenshot.py diff --git a/archivebox/vendor/abx-plugin-chrome/pyproject.toml b/archivebox/pkgs/abx-plugin-chrome/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-chrome/pyproject.toml rename to archivebox/pkgs/abx-plugin-chrome/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-curl/README.md b/archivebox/pkgs/abx-plugin-curl/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-curl/README.md rename to archivebox/pkgs/abx-plugin-curl/README.md diff --git a/archivebox/vendor/abx-plugin-curl/abx_plugin_curl/__init__.py b/archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-curl/abx_plugin_curl/__init__.py rename to archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/__init__.py diff --git a/archivebox/vendor/abx-plugin-curl/abx_plugin_curl/binaries.py b/archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-curl/abx_plugin_curl/binaries.py rename to archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/binaries.py diff --git a/archivebox/vendor/abx-plugin-curl/abx_plugin_curl/config.py b/archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-curl/abx_plugin_curl/config.py rename to archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/config.py diff --git a/archivebox/vendor/abx-plugin-curl/abx_plugin_curl/headers.py b/archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/headers.py similarity index 100% rename from archivebox/vendor/abx-plugin-curl/abx_plugin_curl/headers.py rename to archivebox/pkgs/abx-plugin-curl/abx_plugin_curl/headers.py diff --git a/archivebox/vendor/abx-plugin-curl/pyproject.toml b/archivebox/pkgs/abx-plugin-curl/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-curl/pyproject.toml rename to archivebox/pkgs/abx-plugin-curl/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-default-binproviders/README.md b/archivebox/pkgs/abx-plugin-default-binproviders/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-default-binproviders/README.md rename to archivebox/pkgs/abx-plugin-default-binproviders/README.md diff --git a/archivebox/vendor/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py b/archivebox/pkgs/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py similarity index 100% rename from archivebox/vendor/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py rename to archivebox/pkgs/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py diff --git a/archivebox/vendor/abx-plugin-default-binproviders/pyproject.toml b/archivebox/pkgs/abx-plugin-default-binproviders/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-default-binproviders/pyproject.toml rename to archivebox/pkgs/abx-plugin-default-binproviders/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-favicon/README.md b/archivebox/pkgs/abx-plugin-favicon/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-favicon/README.md rename to archivebox/pkgs/abx-plugin-favicon/README.md diff --git a/archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/__init__.py b/archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/__init__.py rename to archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/__init__.py diff --git a/archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/config.py b/archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/config.py rename to archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/config.py diff --git a/archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/favicon.py b/archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/favicon.py similarity index 100% rename from archivebox/vendor/abx-plugin-favicon/abx_plugin_favicon/favicon.py rename to archivebox/pkgs/abx-plugin-favicon/abx_plugin_favicon/favicon.py diff --git a/archivebox/vendor/abx-plugin-favicon/pyproject.toml b/archivebox/pkgs/abx-plugin-favicon/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-favicon/pyproject.toml rename to archivebox/pkgs/abx-plugin-favicon/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-git/README.md b/archivebox/pkgs/abx-plugin-git/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-git/README.md rename to archivebox/pkgs/abx-plugin-git/README.md diff --git a/archivebox/vendor/abx-plugin-git/abx_plugin_git/__init__.py b/archivebox/pkgs/abx-plugin-git/abx_plugin_git/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-git/abx_plugin_git/__init__.py rename to archivebox/pkgs/abx-plugin-git/abx_plugin_git/__init__.py diff --git a/archivebox/vendor/abx-plugin-git/abx_plugin_git/binaries.py b/archivebox/pkgs/abx-plugin-git/abx_plugin_git/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-git/abx_plugin_git/binaries.py rename to archivebox/pkgs/abx-plugin-git/abx_plugin_git/binaries.py diff --git a/archivebox/vendor/abx-plugin-git/abx_plugin_git/config.py b/archivebox/pkgs/abx-plugin-git/abx_plugin_git/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-git/abx_plugin_git/config.py rename to archivebox/pkgs/abx-plugin-git/abx_plugin_git/config.py diff --git a/archivebox/vendor/abx-plugin-git/abx_plugin_git/extractors.py b/archivebox/pkgs/abx-plugin-git/abx_plugin_git/extractors.py similarity index 100% rename from archivebox/vendor/abx-plugin-git/abx_plugin_git/extractors.py rename to archivebox/pkgs/abx-plugin-git/abx_plugin_git/extractors.py diff --git a/archivebox/vendor/abx-plugin-git/abx_plugin_git/git.py b/archivebox/pkgs/abx-plugin-git/abx_plugin_git/git.py similarity index 100% rename from archivebox/vendor/abx-plugin-git/abx_plugin_git/git.py rename to archivebox/pkgs/abx-plugin-git/abx_plugin_git/git.py diff --git a/archivebox/vendor/abx-plugin-git/pyproject.toml b/archivebox/pkgs/abx-plugin-git/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-git/pyproject.toml rename to archivebox/pkgs/abx-plugin-git/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-htmltotext/README.md b/archivebox/pkgs/abx-plugin-htmltotext/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-htmltotext/README.md rename to archivebox/pkgs/abx-plugin-htmltotext/README.md diff --git a/archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/__init__.py b/archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/__init__.py rename to archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/__init__.py diff --git a/archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/config.py b/archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/config.py rename to archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/config.py diff --git a/archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/htmltotext.py b/archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/htmltotext.py similarity index 100% rename from archivebox/vendor/abx-plugin-htmltotext/abx_plugin_htmltotext/htmltotext.py rename to archivebox/pkgs/abx-plugin-htmltotext/abx_plugin_htmltotext/htmltotext.py diff --git a/archivebox/vendor/abx-plugin-htmltotext/pyproject.toml b/archivebox/pkgs/abx-plugin-htmltotext/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-htmltotext/pyproject.toml rename to archivebox/pkgs/abx-plugin-htmltotext/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-ldap-auth/README.md b/archivebox/pkgs/abx-plugin-ldap-auth/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-ldap-auth/README.md rename to archivebox/pkgs/abx-plugin-ldap-auth/README.md diff --git a/archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/__init__.py b/archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/__init__.py rename to archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/__init__.py diff --git a/archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/binaries.py b/archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/binaries.py rename to archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/binaries.py diff --git a/archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/config.py b/archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-ldap-auth/abx_plugin_ldap_auth/config.py rename to archivebox/pkgs/abx-plugin-ldap-auth/abx_plugin_ldap_auth/config.py diff --git a/archivebox/vendor/abx-plugin-ldap-auth/pyproject.toml b/archivebox/pkgs/abx-plugin-ldap-auth/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-ldap-auth/pyproject.toml rename to archivebox/pkgs/abx-plugin-ldap-auth/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-mercury/README.md b/archivebox/pkgs/abx-plugin-mercury/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/README.md rename to archivebox/pkgs/abx-plugin-mercury/README.md diff --git a/archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/__init__.py b/archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/__init__.py rename to archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/__init__.py diff --git a/archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/binaries.py b/archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/binaries.py rename to archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/binaries.py diff --git a/archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/config.py b/archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/config.py rename to archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/config.py diff --git a/archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/extractors.py b/archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/extractors.py similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/extractors.py rename to archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/extractors.py diff --git a/archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/mercury.py b/archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/mercury.py similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/abx_plugin_mercury/mercury.py rename to archivebox/pkgs/abx-plugin-mercury/abx_plugin_mercury/mercury.py diff --git a/archivebox/vendor/abx-plugin-mercury/pyproject.toml b/archivebox/pkgs/abx-plugin-mercury/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-mercury/pyproject.toml rename to archivebox/pkgs/abx-plugin-mercury/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-npm/README.md b/archivebox/pkgs/abx-plugin-npm/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-npm/README.md rename to archivebox/pkgs/abx-plugin-npm/README.md diff --git a/archivebox/vendor/abx-plugin-npm/abx_plugin_npm/__init__.py b/archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-npm/abx_plugin_npm/__init__.py rename to archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/__init__.py diff --git a/archivebox/vendor/abx-plugin-npm/abx_plugin_npm/binaries.py b/archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-npm/abx_plugin_npm/binaries.py rename to archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/binaries.py diff --git a/archivebox/vendor/abx-plugin-npm/abx_plugin_npm/binproviders.py b/archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/binproviders.py similarity index 100% rename from archivebox/vendor/abx-plugin-npm/abx_plugin_npm/binproviders.py rename to archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/binproviders.py diff --git a/archivebox/vendor/abx-plugin-npm/abx_plugin_npm/config.py b/archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-npm/abx_plugin_npm/config.py rename to archivebox/pkgs/abx-plugin-npm/abx_plugin_npm/config.py diff --git a/archivebox/vendor/abx-plugin-npm/pyproject.toml b/archivebox/pkgs/abx-plugin-npm/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-npm/pyproject.toml rename to archivebox/pkgs/abx-plugin-npm/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-pip/README.md b/archivebox/pkgs/abx-plugin-pip/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-pip/README.md rename to archivebox/pkgs/abx-plugin-pip/README.md diff --git a/archivebox/vendor/abx-plugin-pip/abx_plugin_pip/.plugin_order b/archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/.plugin_order similarity index 100% rename from archivebox/vendor/abx-plugin-pip/abx_plugin_pip/.plugin_order rename to archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/.plugin_order diff --git a/archivebox/vendor/abx-plugin-pip/abx_plugin_pip/__init__.py b/archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-pip/abx_plugin_pip/__init__.py rename to archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/__init__.py diff --git a/archivebox/vendor/abx-plugin-pip/abx_plugin_pip/binaries.py b/archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-pip/abx_plugin_pip/binaries.py rename to archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/binaries.py diff --git a/archivebox/vendor/abx-plugin-pip/abx_plugin_pip/binproviders.py b/archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/binproviders.py similarity index 100% rename from archivebox/vendor/abx-plugin-pip/abx_plugin_pip/binproviders.py rename to archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/binproviders.py diff --git a/archivebox/vendor/abx-plugin-pip/abx_plugin_pip/config.py b/archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-pip/abx_plugin_pip/config.py rename to archivebox/pkgs/abx-plugin-pip/abx_plugin_pip/config.py diff --git a/archivebox/vendor/abx-plugin-pip/pyproject.toml b/archivebox/pkgs/abx-plugin-pip/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-pip/pyproject.toml rename to archivebox/pkgs/abx-plugin-pip/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-playwright/README.md b/archivebox/pkgs/abx-plugin-playwright/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/README.md rename to archivebox/pkgs/abx-plugin-playwright/README.md diff --git a/archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/__init__.py b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/__init__.py rename to archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/__init__.py diff --git a/archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/binaries.py b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/binaries.py rename to archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binaries.py diff --git a/archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/binproviders.py b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/binproviders.py rename to archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/binproviders.py diff --git a/archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/config.py b/archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/abx_plugin_playwright/config.py rename to archivebox/pkgs/abx-plugin-playwright/abx_plugin_playwright/config.py diff --git a/archivebox/vendor/abx-plugin-playwright/pyproject.toml b/archivebox/pkgs/abx-plugin-playwright/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-playwright/pyproject.toml rename to archivebox/pkgs/abx-plugin-playwright/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-pocket/README.md b/archivebox/pkgs/abx-plugin-pocket/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-pocket/README.md rename to archivebox/pkgs/abx-plugin-pocket/README.md diff --git a/archivebox/vendor/abx-plugin-pocket/abx_plugin_pocket/__init__.py b/archivebox/pkgs/abx-plugin-pocket/abx_plugin_pocket/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-pocket/abx_plugin_pocket/__init__.py rename to archivebox/pkgs/abx-plugin-pocket/abx_plugin_pocket/__init__.py diff --git a/archivebox/vendor/abx-plugin-pocket/abx_plugin_pocket/config.py b/archivebox/pkgs/abx-plugin-pocket/abx_plugin_pocket/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-pocket/abx_plugin_pocket/config.py rename to archivebox/pkgs/abx-plugin-pocket/abx_plugin_pocket/config.py diff --git a/archivebox/vendor/abx-plugin-pocket/pyproject.toml b/archivebox/pkgs/abx-plugin-pocket/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-pocket/pyproject.toml rename to archivebox/pkgs/abx-plugin-pocket/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-puppeteer/README.md b/archivebox/pkgs/abx-plugin-puppeteer/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/README.md rename to archivebox/pkgs/abx-plugin-puppeteer/README.md diff --git a/archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/__init__.py b/archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/__init__.py rename to archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/__init__.py diff --git a/archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/binaries.py b/archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/binaries.py rename to archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/binaries.py diff --git a/archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/binproviders.py b/archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/binproviders.py similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/binproviders.py rename to archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/binproviders.py diff --git a/archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/config.py b/archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/abx_plugin_puppeteer/config.py rename to archivebox/pkgs/abx-plugin-puppeteer/abx_plugin_puppeteer/config.py diff --git a/archivebox/vendor/abx-plugin-puppeteer/pyproject.toml b/archivebox/pkgs/abx-plugin-puppeteer/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-puppeteer/pyproject.toml rename to archivebox/pkgs/abx-plugin-puppeteer/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-readability/README.md b/archivebox/pkgs/abx-plugin-readability/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-readability/README.md rename to archivebox/pkgs/abx-plugin-readability/README.md diff --git a/archivebox/vendor/abx-plugin-readability/abx_plugin_readability/__init__.py b/archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-readability/abx_plugin_readability/__init__.py rename to archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/__init__.py diff --git a/archivebox/vendor/abx-plugin-readability/abx_plugin_readability/binaries.py b/archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-readability/abx_plugin_readability/binaries.py rename to archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/binaries.py diff --git a/archivebox/vendor/abx-plugin-readability/abx_plugin_readability/config.py b/archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-readability/abx_plugin_readability/config.py rename to archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/config.py diff --git a/archivebox/vendor/abx-plugin-readability/abx_plugin_readability/extractors.py b/archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/extractors.py similarity index 100% rename from archivebox/vendor/abx-plugin-readability/abx_plugin_readability/extractors.py rename to archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/extractors.py diff --git a/archivebox/vendor/abx-plugin-readability/abx_plugin_readability/readability.py b/archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/readability.py similarity index 100% rename from archivebox/vendor/abx-plugin-readability/abx_plugin_readability/readability.py rename to archivebox/pkgs/abx-plugin-readability/abx_plugin_readability/readability.py diff --git a/archivebox/vendor/abx-plugin-readability/pyproject.toml b/archivebox/pkgs/abx-plugin-readability/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-readability/pyproject.toml rename to archivebox/pkgs/abx-plugin-readability/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-readwise/README.md b/archivebox/pkgs/abx-plugin-readwise/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-readwise/README.md rename to archivebox/pkgs/abx-plugin-readwise/README.md diff --git a/archivebox/vendor/abx-plugin-readwise/abx_plugin_readwise.py b/archivebox/pkgs/abx-plugin-readwise/abx_plugin_readwise.py similarity index 100% rename from archivebox/vendor/abx-plugin-readwise/abx_plugin_readwise.py rename to archivebox/pkgs/abx-plugin-readwise/abx_plugin_readwise.py diff --git a/archivebox/vendor/abx-plugin-readwise/pyproject.toml b/archivebox/pkgs/abx-plugin-readwise/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-readwise/pyproject.toml rename to archivebox/pkgs/abx-plugin-readwise/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/README.md b/archivebox/pkgs/abx-plugin-ripgrep-search/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/README.md rename to archivebox/pkgs/abx-plugin-ripgrep-search/README.md diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/__init__.py b/archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/__init__.py rename to archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/__init__.py diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/binaries.py b/archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/binaries.py rename to archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/binaries.py diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/config.py b/archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/config.py rename to archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/config.py diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/searchbackend.py b/archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/searchbackend.py similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/searchbackend.py rename to archivebox/pkgs/abx-plugin-ripgrep-search/abx_plugin_ripgrep_search/searchbackend.py diff --git a/archivebox/vendor/abx-plugin-ripgrep-search/pyproject.toml b/archivebox/pkgs/abx-plugin-ripgrep-search/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-ripgrep-search/pyproject.toml rename to archivebox/pkgs/abx-plugin-ripgrep-search/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-singlefile/README.md b/archivebox/pkgs/abx-plugin-singlefile/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/README.md rename to archivebox/pkgs/abx-plugin-singlefile/README.md diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/__init__.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/__init__.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/__init__.py diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/binaries.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/binaries.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/binaries.py diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/config.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/config.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/config.py diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/extractors.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/extractors.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/extractors.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/extractors.py diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/models.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/models.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/models.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/models.py diff --git a/archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/singlefile.py b/archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/singlefile.py similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/abx_plugin_singlefile/singlefile.py rename to archivebox/pkgs/abx-plugin-singlefile/abx_plugin_singlefile/singlefile.py diff --git a/archivebox/vendor/abx-plugin-singlefile/pyproject.toml b/archivebox/pkgs/abx-plugin-singlefile/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-singlefile/pyproject.toml rename to archivebox/pkgs/abx-plugin-singlefile/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-sonic-search/README.md b/archivebox/pkgs/abx-plugin-sonic-search/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/README.md rename to archivebox/pkgs/abx-plugin-sonic-search/README.md diff --git a/archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/__init__.py b/archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/__init__.py rename to archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/__init__.py diff --git a/archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/binaries.py b/archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/binaries.py rename to archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/binaries.py diff --git a/archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/config.py b/archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/config.py rename to archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/config.py diff --git a/archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/searchbackend.py b/archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/searchbackend.py similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/abx_plugin_sonic_search/searchbackend.py rename to archivebox/pkgs/abx-plugin-sonic-search/abx_plugin_sonic_search/searchbackend.py diff --git a/archivebox/vendor/abx-plugin-sonic-search/pyproject.toml b/archivebox/pkgs/abx-plugin-sonic-search/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-sonic-search/pyproject.toml rename to archivebox/pkgs/abx-plugin-sonic-search/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-sqlitefts-search/README.md b/archivebox/pkgs/abx-plugin-sqlitefts-search/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-sqlitefts-search/README.md rename to archivebox/pkgs/abx-plugin-sqlitefts-search/README.md diff --git a/archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/__init__.py b/archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/__init__.py rename to archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/__init__.py diff --git a/archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/config.py b/archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/config.py rename to archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/config.py diff --git a/archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/searchbackend.py b/archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/searchbackend.py similarity index 100% rename from archivebox/vendor/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/searchbackend.py rename to archivebox/pkgs/abx-plugin-sqlitefts-search/abx_plugin_sqlitefts_search/searchbackend.py diff --git a/archivebox/vendor/abx-plugin-sqlitefts-search/pyproject.toml b/archivebox/pkgs/abx-plugin-sqlitefts-search/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-sqlitefts-search/pyproject.toml rename to archivebox/pkgs/abx-plugin-sqlitefts-search/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-title/README.md b/archivebox/pkgs/abx-plugin-title/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-title/README.md rename to archivebox/pkgs/abx-plugin-title/README.md diff --git a/archivebox/vendor/abx-plugin-title/abx_plugin_title/__init__.py b/archivebox/pkgs/abx-plugin-title/abx_plugin_title/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-title/abx_plugin_title/__init__.py rename to archivebox/pkgs/abx-plugin-title/abx_plugin_title/__init__.py diff --git a/archivebox/vendor/abx-plugin-title/abx_plugin_title/extractor.py b/archivebox/pkgs/abx-plugin-title/abx_plugin_title/extractor.py similarity index 100% rename from archivebox/vendor/abx-plugin-title/abx_plugin_title/extractor.py rename to archivebox/pkgs/abx-plugin-title/abx_plugin_title/extractor.py diff --git a/archivebox/vendor/abx-plugin-title/pyproject.toml b/archivebox/pkgs/abx-plugin-title/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-title/pyproject.toml rename to archivebox/pkgs/abx-plugin-title/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-wget/README.md b/archivebox/pkgs/abx-plugin-wget/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-wget/README.md rename to archivebox/pkgs/abx-plugin-wget/README.md diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/__init__.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/__init__.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/__init__.py diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/binaries.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/binaries.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/binaries.py diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/config.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/config.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/config.py diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/extractors.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/extractors.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/extractors.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/extractors.py diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/wget.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/wget.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/wget.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/wget.py diff --git a/archivebox/vendor/abx-plugin-wget/abx_plugin_wget/wget_util.py b/archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/wget_util.py similarity index 100% rename from archivebox/vendor/abx-plugin-wget/abx_plugin_wget/wget_util.py rename to archivebox/pkgs/abx-plugin-wget/abx_plugin_wget/wget_util.py diff --git a/archivebox/vendor/abx-plugin-wget/pyproject.toml b/archivebox/pkgs/abx-plugin-wget/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-wget/pyproject.toml rename to archivebox/pkgs/abx-plugin-wget/pyproject.toml diff --git a/archivebox/vendor/abx-plugin-ytdlp/README.md b/archivebox/pkgs/abx-plugin-ytdlp/README.md similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/README.md rename to archivebox/pkgs/abx-plugin-ytdlp/README.md diff --git a/archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/__init__.py b/archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/__init__.py similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/__init__.py rename to archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/__init__.py diff --git a/archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/binaries.py b/archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/binaries.py similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/binaries.py rename to archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/binaries.py diff --git a/archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/config.py b/archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/config.py similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/config.py rename to archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/config.py diff --git a/archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/media.py b/archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/media.py similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/abx_plugin_ytdlp/media.py rename to archivebox/pkgs/abx-plugin-ytdlp/abx_plugin_ytdlp/media.py diff --git a/archivebox/vendor/abx-plugin-ytdlp/pyproject.toml b/archivebox/pkgs/abx-plugin-ytdlp/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-plugin-ytdlp/pyproject.toml rename to archivebox/pkgs/abx-plugin-ytdlp/pyproject.toml diff --git a/archivebox/vendor/abx-spec-archivebox/README.md b/archivebox/pkgs/abx-spec-archivebox/README.md similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/README.md rename to archivebox/pkgs/abx-spec-archivebox/README.md diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/__init__.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/__init__.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/__init__.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/__init__.py diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/effects.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/effects.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/effects.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/effects.py diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/events.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/events.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/events.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/events.py diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/reads.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/reads.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/reads.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/reads.py diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/states.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/states.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/states.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/states.py diff --git a/archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/writes.py b/archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/writes.py similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/abx_spec_archivebox/writes.py rename to archivebox/pkgs/abx-spec-archivebox/abx_spec_archivebox/writes.py diff --git a/archivebox/vendor/abx-spec-archivebox/pyproject.toml b/archivebox/pkgs/abx-spec-archivebox/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-archivebox/pyproject.toml rename to archivebox/pkgs/abx-spec-archivebox/pyproject.toml diff --git a/archivebox/vendor/abx-spec-config/README.md b/archivebox/pkgs/abx-spec-config/README.md similarity index 100% rename from archivebox/vendor/abx-spec-config/README.md rename to archivebox/pkgs/abx-spec-config/README.md diff --git a/archivebox/vendor/abx-spec-config/abx_spec_config/__init__.py b/archivebox/pkgs/abx-spec-config/abx_spec_config/__init__.py similarity index 100% rename from archivebox/vendor/abx-spec-config/abx_spec_config/__init__.py rename to archivebox/pkgs/abx-spec-config/abx_spec_config/__init__.py diff --git a/archivebox/vendor/abx-spec-config/abx_spec_config/base_configset.py b/archivebox/pkgs/abx-spec-config/abx_spec_config/base_configset.py similarity index 100% rename from archivebox/vendor/abx-spec-config/abx_spec_config/base_configset.py rename to archivebox/pkgs/abx-spec-config/abx_spec_config/base_configset.py diff --git a/archivebox/vendor/abx-spec-config/abx_spec_config/toml_util.py b/archivebox/pkgs/abx-spec-config/abx_spec_config/toml_util.py similarity index 100% rename from archivebox/vendor/abx-spec-config/abx_spec_config/toml_util.py rename to archivebox/pkgs/abx-spec-config/abx_spec_config/toml_util.py diff --git a/archivebox/vendor/abx-spec-config/pyproject.toml b/archivebox/pkgs/abx-spec-config/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-config/pyproject.toml rename to archivebox/pkgs/abx-spec-config/pyproject.toml diff --git a/archivebox/vendor/abx-spec-django/README.md b/archivebox/pkgs/abx-spec-django/README.md similarity index 100% rename from archivebox/vendor/abx-spec-django/README.md rename to archivebox/pkgs/abx-spec-django/README.md diff --git a/archivebox/vendor/abx-spec-django/abx_spec_django.py b/archivebox/pkgs/abx-spec-django/abx_spec_django.py similarity index 100% rename from archivebox/vendor/abx-spec-django/abx_spec_django.py rename to archivebox/pkgs/abx-spec-django/abx_spec_django.py diff --git a/archivebox/vendor/abx-spec-django/pyproject.toml b/archivebox/pkgs/abx-spec-django/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-django/pyproject.toml rename to archivebox/pkgs/abx-spec-django/pyproject.toml diff --git a/archivebox/vendor/abx-spec-extractor/README.md b/archivebox/pkgs/abx-spec-extractor/README.md similarity index 100% rename from archivebox/vendor/abx-spec-extractor/README.md rename to archivebox/pkgs/abx-spec-extractor/README.md diff --git a/archivebox/vendor/abx-spec-extractor/abx_spec_extractor.py b/archivebox/pkgs/abx-spec-extractor/abx_spec_extractor.py similarity index 100% rename from archivebox/vendor/abx-spec-extractor/abx_spec_extractor.py rename to archivebox/pkgs/abx-spec-extractor/abx_spec_extractor.py diff --git a/archivebox/vendor/abx-spec-extractor/pyproject.toml b/archivebox/pkgs/abx-spec-extractor/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-extractor/pyproject.toml rename to archivebox/pkgs/abx-spec-extractor/pyproject.toml diff --git a/archivebox/vendor/abx-spec-pydantic-pkgr/README.md b/archivebox/pkgs/abx-spec-pydantic-pkgr/README.md similarity index 100% rename from archivebox/vendor/abx-spec-pydantic-pkgr/README.md rename to archivebox/pkgs/abx-spec-pydantic-pkgr/README.md diff --git a/archivebox/vendor/abx-spec-pydantic-pkgr/abx_spec_pydantic_pkgr.py b/archivebox/pkgs/abx-spec-pydantic-pkgr/abx_spec_pydantic_pkgr.py similarity index 100% rename from archivebox/vendor/abx-spec-pydantic-pkgr/abx_spec_pydantic_pkgr.py rename to archivebox/pkgs/abx-spec-pydantic-pkgr/abx_spec_pydantic_pkgr.py diff --git a/archivebox/vendor/abx-spec-pydantic-pkgr/pyproject.toml b/archivebox/pkgs/abx-spec-pydantic-pkgr/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-pydantic-pkgr/pyproject.toml rename to archivebox/pkgs/abx-spec-pydantic-pkgr/pyproject.toml diff --git a/archivebox/vendor/abx-spec-searchbackend/README.md b/archivebox/pkgs/abx-spec-searchbackend/README.md similarity index 100% rename from archivebox/vendor/abx-spec-searchbackend/README.md rename to archivebox/pkgs/abx-spec-searchbackend/README.md diff --git a/archivebox/vendor/abx-spec-searchbackend/abx_spec_searchbackend.py b/archivebox/pkgs/abx-spec-searchbackend/abx_spec_searchbackend.py similarity index 100% rename from archivebox/vendor/abx-spec-searchbackend/abx_spec_searchbackend.py rename to archivebox/pkgs/abx-spec-searchbackend/abx_spec_searchbackend.py diff --git a/archivebox/vendor/abx-spec-searchbackend/pyproject.toml b/archivebox/pkgs/abx-spec-searchbackend/pyproject.toml similarity index 100% rename from archivebox/vendor/abx-spec-searchbackend/pyproject.toml rename to archivebox/pkgs/abx-spec-searchbackend/pyproject.toml diff --git a/archivebox/vendor/abx/README.md b/archivebox/pkgs/abx/README.md similarity index 100% rename from archivebox/vendor/abx/README.md rename to archivebox/pkgs/abx/README.md diff --git a/archivebox/vendor/abx/abx.py b/archivebox/pkgs/abx/abx.py similarity index 99% rename from archivebox/vendor/abx/abx.py rename to archivebox/pkgs/abx/abx.py index 990fe8e1..4b08e743 100644 --- a/archivebox/vendor/abx/abx.py +++ b/archivebox/pkgs/abx/abx.py @@ -262,6 +262,7 @@ def get_plugin(plugin: PluginId | ModuleType | Type) -> PluginInfo: # import the plugin module by its name if isinstance(plugin, str): module = importlib.import_module(plugin) + print('IMPORTED PLUGIN:', plugin) plugin = getattr(module, 'PLUGIN_SPEC', getattr(module, 'PLUGIN', module)) elif inspect.ismodule(plugin): module = plugin diff --git a/archivebox/vendor/abx/pyproject.toml b/archivebox/pkgs/abx/pyproject.toml similarity index 100% rename from archivebox/vendor/abx/pyproject.toml rename to archivebox/pkgs/abx/pyproject.toml diff --git a/archivebox/vendor/__init__.py b/archivebox/vendor/__init__.py deleted file mode 100644 index e2e97a7c..00000000 --- a/archivebox/vendor/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -import sys -import importlib -from pathlib import Path - -VENDOR_DIR = Path(__file__).parent - -VENDORED_LIBS = [ - 'abx', - # 'pydantic-pkgr', -] - -# scan ./vendor and add all dirs present to list of available VENDORED_LIBS -for subdir in reversed(sorted(VENDOR_DIR.iterdir())): - if subdir.is_dir() and subdir.name not in VENDORED_LIBS and not subdir.name.startswith('_'): - VENDORED_LIBS.append(subdir.name) - - -def load_vendored_libs(): - """Add archivebox/vendor to sys.path and import all vendored libraries present within""" - if str(VENDOR_DIR) not in sys.path: - sys.path.append(str(VENDOR_DIR)) - - for lib_name in VENDORED_LIBS: - lib_dir = VENDOR_DIR / lib_name - assert lib_dir.is_dir(), f'Expected vendor libary {lib_name} could not be found in {lib_dir}' - - try: - lib = importlib.import_module(lib_name) - # print(f"Successfully imported lib from environment {lib_name}") - except ImportError: - sys.path.append(str(lib_dir)) - try: - lib = importlib.import_module(lib_name) - # print(f"Successfully imported lib from vendored fallback {lib_name}: {inspect.getfile(lib)}") - except ImportError as e: - print(f"Failed to import lib from environment or vendored fallback {lib_name}: {e}", file=sys.stderr) - sys.exit(1) - - diff --git a/archivebox/vendor/requirements.txt b/archivebox/vendor/requirements.txt deleted file mode 100644 index 43be87c2..00000000 --- a/archivebox/vendor/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -# this folder contains vendored versions of these packages - -#atomicwrites==1.4.0 -#pocket==0.3.7 -pocket@git+https://github.com/tapanpandita/pocket.git@v0.3.7 -#django-taggit==1.3.0 -#base32-crockford==0.3.0 -pydantic-pkgr>=0.4.7 diff --git a/pyproject.toml b/pyproject.toml index 632cc166..7326daa0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ classifiers = [ dependencies = [ - # ... archivebox/vendor/* # see vendored libs here + # ... archivebox/pkgs/* # see vendored libs here ############# Django / Core Libraries ############# "setuptools>=74.1.0", "django>=5.1.1,<6.0", @@ -216,8 +216,8 @@ abx-plugin-htmltotext = { workspace = true } [tool.uv.workspace] -members = ["archivebox/vendor/*"] -exclude = ["archivebox/vendor/__pycache__"] +members = ["archivebox/pkgs/*"] +exclude = ["archivebox/pkgs/__pycache__"] [build-system] requires = ["pdm-backend"]