Update pyproject.toml dependency groups

This commit is contained in:
Nick Sweeting 2024-12-18 21:06:58 -05:00 committed by GitHub
parent db9771c7e8
commit eee9f67df2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,6 @@
[project] [project]
name = "archivebox" name = "archivebox"
version = "0.8.6rc2" version = "0.8.6rc3"
requires-python = ">=3.10" requires-python = ">=3.10"
description = "Self-hosted internet archiving solution." description = "Self-hosted internet archiving solution."
authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}] authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}]
@ -39,52 +39,65 @@ classifiers = [
dependencies = [ dependencies = [
# ... archivebox/pkgs/* # see vendored libs here ### Django libraries
############# Django / Core Libraries ############# "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)
"setuptools>=74.1.0",
"django>=5.1.4,<6.0", "django>=5.1.4,<6.0",
"channels[daphne]>=4.1.0",
"django-ninja>=1.3.0", "django-ninja>=1.3.0",
"django-extensions>=3.2.3", "django-extensions>=3.2.3",
"mypy-extensions>=1.0.0", "django-huey>=1.2.1",
"typing_extensions>=4.12.2", "django-huey-monitor>=0.9.0",
"channels[daphne]>=4.1.0",
"django-signal-webhooks>=0.3.0", "django-signal-webhooks>=0.3.0",
"django-admin-data-views>=0.4.1", "django-admin-data-views>=0.4.1",
"django-object-actions>=4.3.0", "django-object-actions>=4.3.0",
"django-charid-field>=0.4", "django-charid-field>=0.4", # TODO: remove this and dedicated ABID field in favor of using KVTag for charids
"django-pydantic-field>=0.3.10", "django-taggit==6.1.0", # TODO: remove this in favor of KVTags only
"django-jsonform>=2.22.0",
"django-stubs>=5.0.4", ### State Management
"django-huey>=1.2.1", "pluggy>=1.5.0", # for: archivebox plugin system (abx)
"django-huey-monitor>=0.9.0", "python-statemachine>=2.3.6",
############# Python Helper Libraries ############
"pluggy>=1.5.0", ### CLI / Logging
"requests>=2.32.3", "click>=8.1.7", # for: nicer CLI command + argument definintions
"dateparser>=1.2.0", "rich>=13.8.0", # for: pretty CLI output
"tzdata>=2024.2", # needed for dateparser {TZ: UTC} on some systems: https://github.com/ArchiveBox/ArchiveBox/issues/1553 "rich-click>=1.8.4", # for: pretty CLI command help text & output
"feedparser>=6.0.11", "ipython>=8.27.0", # for: archivebox shell (TODO: replace with bpython?)
"w3lib>=2.2.1",
"rich>=13.8.0", ### Host OS / System
"rich-argparse>=1.5.2", "abx-pkg>=0.6.0", # for: Binary, BinProvider, SemVer and archivebox install
"ulid-py>=1.1.0", "supervisor>=4.2.5", # for: archivebox server starting daphne and workers
"typeid-python>=0.3.1", "psutil>=6.0.0", # for: monitoring orchestractor,actors,workers,etc. and machine.models.Process
"psutil>=6.0.0", "platformdirs>=4.3.6", # for: finding a xdg-config dir to store tmp/lib files in
"supervisor>=4.2.5", "py-machineid>=0.6.0", # for: machine/detect.py calculating unique machine guid
"python-crontab>=3.2.0", # for: archivebox schedule "atomicwrites==1.4.1", # for: config file writes, index.json file writes, etc. (TODO: remove this deprecated lib in favor of archivebox.filestore.util/os.rename/os.replace)
"croniter>=3.0.3", # for: archivebox schedule "python-crontab>=3.2.0", # for: archivebox schedule (TODO: remove this in favor of our own custom archivebox scheduler)
"ipython>=8.27.0", # for: archivebox shell "croniter>=3.0.3", # for: archivebox schedule (TODO: remove this in favor of our own custom archivebox scheduler)
"py-machineid>=0.6.0", # for: machine/detect.py calculating machine guid
"python-benedict[io,parse]>=0.33.2", ### Base Types
"pydantic-settings>=2.5.2", "pydantic>=2.8.0", # for: archivebox.api (django-ninja), Binary & BinProvider (abx-pkg), archivebox.config (pydantic-settings), and archivebox.index.schema (pydantic)
"atomicwrites==1.4.1", "pydantic-settings>=2.5.2", # for: archivebox.config
"django-taggit==6.1.0", "python-benedict[io,parse]>=0.33.2", # for: dict replacement all over the codebase to allow .attr-style access
"base32-crockford==0.3.0", "ulid-py>=1.1.0", # TODO: remove this in favor of pure ABID / UUID4
"platformdirs>=4.3.6", "typeid-python>=0.3.1", # TODO: remove this in favor of pure ABID / UUID4
"abx-pkg>=0.6.0", "base32-crockford==0.3.0", # TODO: remove this in favor of pure ABID / UUID4
"pocket>=0.3.6", "blake3>=1.0.0", # TODO: remove this in favor of sha256 everywhere?
### Static Typing
"mypy-extensions>=1.0.0", # for: django-stubs type hints (TODO: remove in favor of pylance/pyright?)
"django-stubs>=5.0.4", # for: vscode type hints on models and common django APIs
### API clients
"requests>=2.32.3", # for: fetching title, static files, headers (TODO: replace with httpx?)
"sonic-client>=1.0.0", "sonic-client>=1.0.0",
"yt-dlp>=2024.8.6", # for: media" "pocket>=0.3.6", # for: importing URLs from Pocket API
############# Plugin Dependencies ################
### Parsers
"feedparser>=6.0.11", # for: parsing pocket/pinboard/etc. RSS/bookmarks imports
"dateparser>=1.2.0", # for: parsing pocket/pinboard/etc. RSS/bookmark import dates
"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>=0.1.0",
"abx-spec-abx-pkg>=0.1.1", "abx-spec-abx-pkg>=0.1.1",
"abx-spec-config>=0.1.0", "abx-spec-config>=0.1.0",
@ -92,6 +105,8 @@ dependencies = [
"abx-spec-django>=0.1.0", "abx-spec-django>=0.1.0",
"abx-spec-extractor>=0.1.0", "abx-spec-extractor>=0.1.0",
"abx-spec-searchbackend>=0.1.0", "abx-spec-searchbackend>=0.1.0",
### Default Plugins
"abx-plugin-default-binproviders>=2024.10.24", "abx-plugin-default-binproviders>=2024.10.24",
"abx-plugin-pip>=2024.10.24", "abx-plugin-pip>=2024.10.24",
"abx-plugin-npm>=2024.10.24", "abx-plugin-npm>=2024.10.24",
@ -114,22 +129,23 @@ dependencies = [
"abx-plugin-readability>=2024.10.28", "abx-plugin-readability>=2024.10.28",
"abx-plugin-mercury>=2024.10.28", "abx-plugin-mercury>=2024.10.28",
"abx-plugin-htmltotext>=2024.10.28", "abx-plugin-htmltotext>=2024.10.28",
"python-statemachine>=2.3.6", # TODO: add gallery-dl
"click>=8.1.7", # TODO: add forum-dl
"rich-click>=1.8.4",
"blake3>=1.0.0",
] ]
[project.optional-dependencies] [project.optional-dependencies]
sonic = [ sonic = [
# sonic client lib now included by default, sonic group is now a no-op:
# "sonic-client>=1.0.0",
# to use sonic make sure you have a sonic server running in docker (archivebox/sonic) or locally:
# echo "deb [signed-by=/usr/share/keyrings/valeriansaliou_sonic.gpg] https://packagecloud.io/valeriansaliou/sonic/debian/ bookworm main" > /etc/apt/sources.list.d/valeriansaliou_sonic.list # echo "deb [signed-by=/usr/share/keyrings/valeriansaliou_sonic.gpg] https://packagecloud.io/valeriansaliou/sonic/debian/ bookworm main" > /etc/apt/sources.list.d/valeriansaliou_sonic.list
# curl -fsSL https://packagecloud.io/valeriansaliou/sonic/gpgkey | gpg --dearmor -o /usr/share/keyrings/valeriansaliou_sonic.gpg # curl -fsSL https://packagecloud.io/valeriansaliou/sonic/gpgkey | gpg --dearmor -o /usr/share/keyrings/valeriansaliou_sonic.gpg
# apt install sonic # apt install sonic
# no-op, now included by default:
# "sonic-client>=1.0.0",
] ]
ldap = [ ldap = [
# apt install libsasl2-dev python-dev-is-python3 libldap2-dev libssl-dev # python-ldap depends on the openldap bindings which provide no prebuilt wheels becuase they link against tons of other system packages
# apt install build-essential python3-dev python3-ldap libsasl2-dev libldap2-dev libssl-dev
"python-ldap>=3.4.3", "python-ldap>=3.4.3",
"django-auth-ldap>=4.1.0", "django-auth-ldap>=4.1.0",
] ]