[project] name = "archivebox" version = "0.7.3" description = "Self-hosted internet archiving solution." authors = [ {name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}, ] license = {text = "MIT"} readme = "README.md" package-dir = "archivebox" requires-python = ">=3.10,<3.12" dependencies = [ # pdm update [--unconstrained] "croniter>=0.3.34", "dateparser>=1.0.0", "django-extensions>=3.2.3", "django>=4.2.0,<5.0", "feedparser>=6.0.11", "ipython>5.0.0", "mypy-extensions>=0.4.3", "python-crontab>=2.5.1", "requests>=2.24.0", "w3lib>=1.22.0", "yt-dlp>=2023.10.13", # dont add playwright becuase packages without sdists cause trouble on many build systems that refuse to install wheel-only packages # "playwright>=1.39.0; platform_machine != 'armv7l'", ] 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.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "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", ] [project.optional-dependencies] # pdm update [--group=':all'] [--unconstrained] 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 "sonic-client>=0.0.5", ] ldap = [ # apt install libldap2-dev libsasl2-dev python3-ldap "setuptools>=69.0.3", "python-ldap>=3.4.3", "django-auth-ldap>=4.1.0", ] # playwright = [ # platform_machine isnt respected by pdm export -o requirements.txt, this breaks arm/v7 # "playwright>=1.39.0; platform_machine != 'armv7l'", # ] # pdm install -G:all --dev # pdm update --dev [--unconstrained] [tool.pdm.dev-dependencies] dev = [ # building "setuptools>=69.0.3", "wheel", "pdm", "homebrew-pypi-poet>=0.10.0", # documentation "recommonmark", "sphinx", "sphinx-rtd-theme", # debugging "django-debug-toolbar", "djdt_flamegraph", "ipdb", # testing "pytest", # linting "flake8", "mypy", "django-stubs", ] [tool.pdm.scripts] lint = "./bin/lint.sh" test = "./bin/test.sh" # all = {composite = ["lint mypackage/", "test -v tests/"]} [tool.pytest.ini_options] testpaths = [ "tests" ] [project.scripts] archivebox = "archivebox.cli:main" [build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" [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"