| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- [project]
- name = "archivebox"
- version = "0.8.2"
- package-dir = "archivebox"
- requires-python = ">=3.10,<3.13"
- platform = "py3-none-any"
- description = "Self-hosted internet archiving solution."
- authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}]
- license = {text = "MIT"}
- readme = "README.md"
- # pdm install
- # pdm update --unconstrained
- dependencies = [
- # Last Bumped: 2024-08-20
- # Base Framework and Language Dependencies
- "setuptools>=69.5.1",
- "django>=5.0.4,<6.0",
- "django-ninja>=1.1.0",
- "django-extensions>=3.2.3",
- "mypy-extensions>=1.0.0",
- # Python Helper Libraries
- "requests>=2.31.0",
- "dateparser>=1.0.0",
- "feedparser>=6.0.11",
- "w3lib>=2.1.2",
- # Feature-Specific Dependencies
- "python-crontab>=3.0.0", # for: archivebox schedule
- "croniter>=2.0.5", # for: archivebox schedule
- "ipython>=8.23.0", # for: archivebox shell
- # Extractor Dependencies
- "yt-dlp>=2024.4.9", # for: media
- # "playwright>=1.43.0; platform_machine != 'armv7l'", # WARNING: playwright doesn't have any sdist, causes trouble on build systems that refuse to install wheel-only packages
- # TODO: add more extractors
- # - gallery-dl
- # - scihubdl
- # - See Github issues for more...
- "django-signal-webhooks>=0.3.0",
- "django-admin-data-views>=0.3.1",
- "ulid-py>=1.1.0",
- "typeid-python>=0.3.0",
- "django-charid-field>=0.4",
- "django-pydantic-field>=0.3.9",
- "django-jsonform>=2.22.0",
- "django-stubs>=5.0.2",
- ]
- homepage = "https://github.com/ArchiveBox/ArchiveBox"
- repository = "https://github.com/ArchiveBox/ArchiveBox"
- documentation = "https://github.com/ArchiveBox/ArchiveBox/wiki"
- keywords = ["internet archiving", "web archiving", "digipres", "warc", "preservation", "backups", "archiving", "web", "bookmarks", "puppeteer", "browser", "download"]
- classifiers = [
- "Development Status :: 4 - Beta",
- "Environment :: Console",
- "Environment :: Web Environment",
- "Framework :: Django",
- "Intended Audience :: Developers",
- "Intended Audience :: Education",
- "Intended Audience :: End Users/Desktop",
- "Intended Audience :: Information Technology",
- "Intended Audience :: Legal Industry",
- "Intended Audience :: System Administrators",
- "License :: OSI Approved :: MIT License",
- "Natural Language :: English",
- "Operating System :: OS Independent",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.10",
- "Programming Language :: Python :: 3.11",
- "Programming Language :: Python :: 3.12",
- "Topic :: Internet :: WWW/HTTP",
- "Topic :: Internet :: WWW/HTTP :: Indexing/Search",
- "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
- "Topic :: Sociology :: History",
- "Topic :: Software Development :: Libraries :: Python Modules",
- "Topic :: System :: Archiving",
- "Topic :: System :: Archiving :: Backup",
- "Topic :: System :: Recovery Tools",
- "Topic :: Utilities",
- "Typing :: Typed",
- ]
- # dynamic = ["version"] # TODO: programatticaly fetch version from package.json at build time
- # pdm lock --group=':all'
- # pdm install -G:all
- # pdm update --group=':all' --unconstrained
- [project.optional-dependencies]
- sonic = [
- # 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
- # apt install sonic
- "sonic-client>=1.0.0",
- ]
- ldap = [
- # apt install libldap2-dev libsasl2-dev python3-ldap
- "python-ldap>=3.4.3",
- "django-auth-ldap>=4.1.0",
- ]
- # pdm lock --group=':all' --dev
- # pdm install -G:all --dev
- # pdm update --dev --unconstrained
- [build-system]
- requires = ["pdm-backend"]
- build-backend = "pdm.backend"
- [project.scripts]
- archivebox = "archivebox.cli:main"
- [tool.pytest.ini_options]
- testpaths = [ "tests" ]
- [tool.mypy]
- mypy_path = "archivebox,archivebox/typings"
- namespace_packages = true
- explicit_package_bases = true
- # follow_imports = "silent"
- # ignore_missing_imports = true
- # disallow_incomplete_defs = true
- # disallow_untyped_defs = true
- # disallow_untyped_decorators = true
- # exclude = "pdm/(pep582/|models/in_process/.+\\.py)"
- plugins = ["mypy_django_plugin.main"]
- [tool.django-stubs]
- django_settings_module = "core.settings"
- [tool.pyright]
- include = [
- "archivebox",
- ]
- exclude = [
- ".venv",
- "**/*.pyi",
- "**/__init__.pyi",
- "**/node_modules",
- "**/__pycache__",
- "**/migrations",
- "archivebox/vendor",
- ]
- stubPath = "./typings"
- venvPath = "."
- venv = ".venv"
- # ignore = ["src/oldstuff"]
- # defineConstant = { DEBUG = true }
- reportMissingImports = true
- reportMissingTypeStubs = false
- pythonVersion = "3.10"
- pythonPlatform = "Linux"
- [tool.pdm.dev-dependencies]
- build = [
- # "pdm", # usually installed by apt/brew, dont double-install with pip
- "setuptools>=69.5.1",
- "pip",
- "wheel",
- "homebrew-pypi-poet>=0.10.0", # for: generating archivebox.rb brewfile list of python packages
- ]
- docs = [
- "recommonmark",
- "sphinx",
- "sphinx-rtd-theme",
- ]
- debug = [
- "django-debug-toolbar",
- "djdt_flamegraph",
- "ipdb",
- "requests-tracker>=0.3.3",
- ]
- test = [
- "pytest",
- "bottle",
- ]
- lint = [
- "flake8",
- "mypy",
- ]
- dev = [
- "django-autotyping>=0.5.1",
- ]
- [tool.pdm.scripts]
- lint = "./bin/lint.sh"
- test = "./bin/test.sh"
- # all = {composite = ["lint mypackage/", "test -v tests/"]}
- [project.urls]
- Homepage = "https://github.com/ArchiveBox/ArchiveBox"
- Source = "https://github.com/ArchiveBox/ArchiveBox"
- Documentation = "https://github.com/ArchiveBox/ArchiveBox/wiki"
- "Bug Tracker" = "https://github.com/ArchiveBox/ArchiveBox/issues"
- Changelog = "https://github.com/ArchiveBox/ArchiveBox/releases"
- Roadmap = "https://github.com/ArchiveBox/ArchiveBox/wiki/Roadmap"
- Community = "https://github.com/ArchiveBox/ArchiveBox/wiki/Web-Archiving-Community"
- Demo = "https://demo.archivebox.io"
- Donate = "https://github.com/ArchiveBox/ArchiveBox/wiki/Donations"
|