add ArchiveBox binary

This commit is contained in:
Nick Sweeting 2024-09-24 22:01:28 -07:00
parent 3dacec3f5b
commit de2ba890ea
No known key found for this signature in database

View file

@ -1,6 +1,7 @@
import os
import sys
import inspect
import archivebox
from pathlib import Path
from typing import List, Dict, Optional, ClassVar
from pydantic import InstanceOf, Field
@ -74,6 +75,19 @@ LIB_PIP_BINPROVIDER = LibPipBinProvider()
pip = LIB_PIP_BINPROVIDER
class ArchiveboxBinary(BaseBinary):
name: BinName = 'archivebox'
binproviders_supported: List[InstanceOf[BinProvider]] = [VENV_PIP_BINPROVIDER, SYS_PIP_BINPROVIDER, apt, brew, env]
provider_overrides: Dict[BinProviderName, ProviderLookupDict] = {
VENV_PIP_BINPROVIDER.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__},
SYS_PIP_BINPROVIDER.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__},
apt.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__},
brew.name: {'packages': lambda: [], 'version': lambda: archivebox.__version__},
}
ARCHIVEBOX_BINARY = ArchiveboxBinary()
class PythonBinary(BaseBinary):
name: BinName = 'python'
@ -187,6 +201,7 @@ class PipPlugin(BasePlugin):
VENV_PIP_BINPROVIDER,
LIB_PIP_BINPROVIDER,
PIP_BINARY,
ARCHIVEBOX_BINARY,
PYTHON_BINARY,
SQLITE_BINARY,
DJANGO_BINARY,