mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-01-04 01:46:54 +10:00
wip major changes
This commit is contained in:
@@ -41,7 +41,7 @@ dependencies = [
|
||||
"setuptools>=74.1.0", # for: django 5 on python >=3.12, distutils is no longer in stdlib but django 5.1 expects distutils (TODO: check if this can be removed eventually)
|
||||
"django>=6.0",
|
||||
"channels[daphne]>=4.1.0",
|
||||
"django-ninja>=1.3.0",
|
||||
"django-ninja>=1.5.1",
|
||||
"django-extensions>=3.2.3",
|
||||
"django-huey>=1.2.1",
|
||||
"django-huey-monitor>=0.9.0",
|
||||
@@ -51,7 +51,6 @@ dependencies = [
|
||||
"django-taggit==6.1.0", # TODO: remove this in favor of KVTags only
|
||||
|
||||
### State Management
|
||||
"pluggy>=1.5.0", # for: archivebox plugin system (abx)
|
||||
"python-statemachine>=2.3.6",
|
||||
|
||||
### CLI / Logging
|
||||
@@ -61,7 +60,6 @@ dependencies = [
|
||||
"ipython>=8.27.0", # for: archivebox shell (TODO: replace with bpython?)
|
||||
|
||||
### Host OS / System
|
||||
"abx-pkg>=0.6.0", # for: Binary, BinProvider, SemVer and archivebox install
|
||||
"supervisor>=4.2.5", # for: archivebox server starting daphne and workers
|
||||
"psutil>=6.0.0", # for: monitoring orchestractor,actors,workers,etc. and machine.models.Process
|
||||
"platformdirs>=4.3.6", # for: finding a xdg-config dir to store tmp/lib files in
|
||||
@@ -71,10 +69,10 @@ dependencies = [
|
||||
"croniter>=3.0.3", # for: archivebox schedule (TODO: remove this in favor of our own custom archivebox scheduler)
|
||||
|
||||
### Base Types
|
||||
"pydantic>=2.8.0", # for: archivebox.api (django-ninja), Binary & BinProvider (abx-pkg), archivebox.config (pydantic-settings), and archivebox.index.schema (pydantic)
|
||||
"pydantic>=2.8.0", # for: archivebox.api (django-ninja), archivebox.config (pydantic-settings), and archivebox.index.schema (pydantic)
|
||||
"pydantic-settings>=2.5.2", # for: archivebox.config
|
||||
"python-benedict[io,parse]>=0.33.2", # for: dict replacement all over the codebase to allow .attr-style access
|
||||
"blake3>=1.0.0", # TODO: remove this in favor of sha256 everywhere?
|
||||
"base32-crockford>=0.3.0", # for: encoding UUIDs in base32
|
||||
|
||||
### Static Typing
|
||||
"mypy-extensions>=1.0.0", # for: django-stubs type hints (TODO: remove in favor of pylance/pyright?)
|
||||
@@ -91,40 +89,11 @@ dependencies = [
|
||||
"tzdata>=2024.2", # needed for dateparser {TZ: UTC} on some systems: https://github.com/ArchiveBox/ArchiveBox/issues/1553
|
||||
"w3lib>=2.2.1", # used for parsing content-type encoding from http response headers & html tags
|
||||
|
||||
### Main Plugin Interfaces
|
||||
"abx>=0.1.0",
|
||||
"abx-spec-abx-pkg>=0.1.1",
|
||||
"abx-spec-config>=0.1.0",
|
||||
"abx-spec-archivebox>=0.1.0",
|
||||
"abx-spec-django>=0.1.0",
|
||||
"abx-spec-extractor>=0.1.0",
|
||||
"abx-spec-searchbackend>=0.1.0",
|
||||
### Extractor dependencies (optional binaries detected at runtime via shutil.which)
|
||||
"yt-dlp>=2024.1.0", # for: media extractor
|
||||
|
||||
### Default Plugins
|
||||
"abx-plugin-default-binproviders>=2024.10.24",
|
||||
"abx-plugin-pip>=2024.10.24",
|
||||
"abx-plugin-npm>=2024.10.24",
|
||||
"abx-plugin-playwright>=2024.10.24",
|
||||
"abx-plugin-puppeteer>=2024.10.28",
|
||||
"abx-plugin-ripgrep-search>=2024.10.28",
|
||||
"abx-plugin-sqlitefts-search>=2024.10.28",
|
||||
"abx-plugin-sonic-search>=2024.10.28",
|
||||
"abx-plugin-ldap-auth>=2024.10.28",
|
||||
"abx-plugin-curl>=2024.10.27",
|
||||
"abx-plugin-wget>=2024.10.28",
|
||||
"abx-plugin-git>=2024.10.28",
|
||||
"abx-plugin-chrome>=2024.10.28",
|
||||
"abx-plugin-ytdlp>=2024.10.28",
|
||||
"abx-plugin-title>=2024.10.27",
|
||||
"abx-plugin-favicon>=2024.10.27",
|
||||
# "abx-plugin-headers>=2024.10.27",
|
||||
"abx-plugin-archivedotorg>=2024.10.28",
|
||||
"abx-plugin-singlefile>=2024.10.28",
|
||||
"abx-plugin-readability>=2024.10.28",
|
||||
"abx-plugin-mercury>=2024.10.28",
|
||||
"abx-plugin-htmltotext>=2024.10.28",
|
||||
# TODO: add gallery-dl
|
||||
# TODO: add forum-dl
|
||||
### Binary/Package Management
|
||||
"abx-pkg>=0.1.0", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
@@ -193,50 +162,8 @@ dev-dependencies = [
|
||||
"mypy>=1.11.2",
|
||||
]
|
||||
|
||||
[tool.uv.sources]
|
||||
# abx-pkg = { workspace = true }
|
||||
|
||||
abx = { workspace = true }
|
||||
abx-spec-abx-pkg = { workspace = true }
|
||||
abx-spec-config = { workspace = true }
|
||||
abx-spec-archivebox = { workspace = true }
|
||||
abx-spec-django = { workspace = true }
|
||||
abx-spec-extractor = { workspace = true }
|
||||
abx-spec-searchbackend = { workspace = true }
|
||||
|
||||
abx-plugin-default-binproviders = { workspace = true }
|
||||
abx-plugin-pip = { workspace = true }
|
||||
abx-plugin-npm = { workspace = true }
|
||||
abx-plugin-playwright = { workspace = true }
|
||||
abx-plugin-puppeteer = { workspace = true }
|
||||
abx-plugin-ripgrep-search = { workspace = true }
|
||||
abx-plugin-sqlitefts-search = { workspace = true }
|
||||
abx-plugin-sonic-search = { workspace = true }
|
||||
abx-plugin-ldap-auth = { workspace = true }
|
||||
|
||||
abx-plugin-curl = { workspace = true }
|
||||
abx-plugin-wget = { workspace = true }
|
||||
abx-plugin-git = { workspace = true }
|
||||
abx-plugin-chrome = { workspace = true }
|
||||
abx-plugin-ytdlp = { workspace = true }
|
||||
|
||||
abx-plugin-title = { workspace = true }
|
||||
abx-plugin-favicon = { workspace = true }
|
||||
# abx-plugin-headers = { workspace = true }
|
||||
abx-plugin-archivedotorg = { workspace = true }
|
||||
|
||||
abx-plugin-singlefile = { workspace = true }
|
||||
abx-plugin-readability = { workspace = true }
|
||||
abx-plugin-mercury = { workspace = true }
|
||||
abx-plugin-htmltotext = { workspace = true }
|
||||
|
||||
|
||||
[tool.uv.workspace]
|
||||
members = ["archivebox/pkgs/*"]
|
||||
exclude = ["archivebox/pkgs/__pycache__"]
|
||||
|
||||
[tool.uv.pip]
|
||||
python-version = "3.11"
|
||||
python-version = "3.14"
|
||||
# compile-bytecode = true
|
||||
|
||||
[build-system]
|
||||
@@ -250,7 +177,7 @@ package-dir = {"archivebox" = "archivebox"}
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 140
|
||||
target-version = "py310"
|
||||
target-version = "py314"
|
||||
src = ["archivebox"]
|
||||
exclude = ["*.pyi", "typings/", "migrations/"]
|
||||
|
||||
@@ -295,7 +222,7 @@ venv = ".venv"
|
||||
# defineConstant = { DEBUG = true }
|
||||
reportMissingImports = true
|
||||
reportMissingTypeStubs = false
|
||||
pythonVersion = "3.10"
|
||||
pythonVersion = "3.14"
|
||||
pythonPlatform = "Linux"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user