2020-08-18 15:00:00 -04:00
|
|
|
import json
|
2019-03-27 11:40:00 -04:00
|
|
|
import setuptools
|
2021-02-01 05:13:46 -05:00
|
|
|
from setuptools.command.test import test
|
2020-08-18 15:00:00 -04:00
|
|
|
|
2020-06-25 21:30:29 -04:00
|
|
|
from pathlib import Path
|
2020-08-18 15:58:05 -04:00
|
|
|
|
2019-03-27 11:40:00 -04:00
|
|
|
|
2020-06-25 21:30:29 -04:00
|
|
|
PKG_NAME = "archivebox"
|
2020-10-31 03:08:41 -04:00
|
|
|
DESCRIPTION = "The self-hosted internet archive."
|
|
|
|
LICENSE = "MIT"
|
|
|
|
AUTHOR = "Nick Sweeting"
|
|
|
|
AUTHOR_EMAIL="git@nicksweeting.com"
|
2020-11-23 02:04:39 -05:00
|
|
|
REPO_URL = "https://github.com/ArchiveBox/ArchiveBox"
|
2020-10-31 03:08:41 -04:00
|
|
|
PROJECT_URLS = {
|
|
|
|
"Source": f"{REPO_URL}",
|
|
|
|
"Documentation": f"{REPO_URL}/wiki",
|
|
|
|
"Bug Tracker": f"{REPO_URL}/issues",
|
|
|
|
"Changelog": f"{REPO_URL}/wiki/Changelog",
|
|
|
|
"Roadmap": f"{REPO_URL}/wiki/Roadmap",
|
|
|
|
"Community": f"{REPO_URL}/wiki/Web-Archiving-Community",
|
|
|
|
"Donate": f"{REPO_URL}/wiki/Donations",
|
|
|
|
}
|
|
|
|
|
|
|
|
ROOT_DIR = Path(__file__).parent.resolve()
|
|
|
|
PACKAGE_DIR = ROOT_DIR / PKG_NAME
|
|
|
|
|
2020-12-11 11:54:26 -05:00
|
|
|
README = (PACKAGE_DIR / "README.md").read_text(encoding='utf-8', errors='ignore')
|
2020-10-31 03:08:41 -04:00
|
|
|
VERSION = json.loads((PACKAGE_DIR / "package.json").read_text().strip())['version']
|
2020-08-18 17:12:49 -04:00
|
|
|
|
|
|
|
# To see when setup.py gets called (uncomment for debugging):
|
2020-07-02 03:53:39 -04:00
|
|
|
# import sys
|
2020-10-31 03:08:41 -04:00
|
|
|
# print(PACKAGE_DIR, f" (v{VERSION})")
|
2020-07-02 03:53:39 -04:00
|
|
|
# print('>', sys.executable, *sys.argv)
|
2020-08-18 15:00:00 -04:00
|
|
|
|
2020-08-18 15:58:05 -04:00
|
|
|
|
2021-02-01 05:13:46 -05:00
|
|
|
class CustomTest(test):
|
|
|
|
def run(self):
|
|
|
|
# setup.py test is deprecated, disable it here by force so stdeb doesnt run it
|
|
|
|
#super().run()
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
2019-03-27 11:40:00 -04:00
|
|
|
setuptools.setup(
|
2020-06-25 21:30:29 -04:00
|
|
|
name=PKG_NAME,
|
2019-05-02 15:30:42 -04:00
|
|
|
version=VERSION,
|
2020-10-31 03:08:41 -04:00
|
|
|
license=LICENSE,
|
|
|
|
author=AUTHOR,
|
|
|
|
author_email=AUTHOR_EMAIL,
|
|
|
|
description=DESCRIPTION,
|
2019-05-02 15:39:55 -04:00
|
|
|
long_description=README,
|
2019-03-27 11:40:00 -04:00
|
|
|
long_description_content_type="text/markdown",
|
2020-06-25 21:30:29 -04:00
|
|
|
url=REPO_URL,
|
2020-10-31 03:08:41 -04:00
|
|
|
project_urls=PROJECT_URLS,
|
2020-06-25 21:30:29 -04:00
|
|
|
python_requires=">=3.7",
|
2020-11-02 08:32:49 -05:00
|
|
|
setup_requires=[
|
|
|
|
"wheel",
|
|
|
|
],
|
2019-03-27 15:39:30 -04:00
|
|
|
install_requires=[
|
2020-12-05 19:01:18 -05:00
|
|
|
# only add things here that have corresponding apt python3-packages available
|
|
|
|
# anything added here also needs to be added to our package dependencies in
|
|
|
|
# stdeb.cfg (apt), archivebox.rb (brew), Dockerfile, etc.
|
|
|
|
# if there is no apt python3-package equivalent, then vendor it instead in
|
|
|
|
# ./archivebox/vendor/
|
2020-07-27 23:34:35 -04:00
|
|
|
"requests==2.24.0",
|
|
|
|
"atomicwrites==1.4.0",
|
2020-06-25 17:46:11 -04:00
|
|
|
"mypy-extensions==0.4.3",
|
2020-11-27 16:23:27 -05:00
|
|
|
"django==3.1.3",
|
2020-07-27 23:34:35 -04:00
|
|
|
"django-extensions==3.0.3",
|
2020-07-16 19:35:13 -04:00
|
|
|
"dateparser",
|
2020-06-25 21:30:29 -04:00
|
|
|
"ipython",
|
|
|
|
"youtube-dl",
|
|
|
|
"python-crontab==2.5.1",
|
2020-08-18 01:59:04 -04:00
|
|
|
"croniter==0.3.34",
|
2020-07-22 11:34:57 -04:00
|
|
|
"w3lib==1.22.0",
|
2019-03-27 15:39:30 -04:00
|
|
|
],
|
2020-06-25 21:30:29 -04:00
|
|
|
extras_require={
|
|
|
|
'dev': [
|
|
|
|
"setuptools",
|
|
|
|
"twine",
|
2021-01-08 08:24:05 -05:00
|
|
|
"wheel",
|
2020-06-25 21:30:29 -04:00
|
|
|
"flake8",
|
|
|
|
"ipdb",
|
|
|
|
"mypy",
|
|
|
|
"django-stubs",
|
|
|
|
"sphinx",
|
|
|
|
"sphinx-rtd-theme",
|
|
|
|
"recommonmark",
|
2020-07-03 14:13:59 -04:00
|
|
|
"pytest",
|
2020-07-07 15:46:45 -04:00
|
|
|
"bottle",
|
2020-11-23 16:52:15 -05:00
|
|
|
"stdeb",
|
2020-06-25 21:30:29 -04:00
|
|
|
],
|
|
|
|
},
|
2020-10-31 03:08:41 -04:00
|
|
|
packages=[PKG_NAME],
|
2020-08-18 17:12:49 -04:00
|
|
|
include_package_data=True, # see MANIFEST.in
|
2019-03-27 15:39:30 -04:00
|
|
|
entry_points={
|
2020-06-25 21:30:29 -04:00
|
|
|
"console_scripts": [
|
2020-07-02 03:53:39 -04:00
|
|
|
f"{PKG_NAME} = {PKG_NAME}.cli:main",
|
2019-03-27 15:39:30 -04:00
|
|
|
],
|
|
|
|
},
|
2019-03-27 11:40:00 -04:00
|
|
|
classifiers=[
|
2020-06-25 21:30:29 -04:00
|
|
|
"License :: OSI Approved :: MIT License",
|
|
|
|
"Natural Language :: English",
|
|
|
|
"Operating System :: OS Independent",
|
2019-04-26 14:42:28 -04:00
|
|
|
"Development Status :: 4 - Beta",
|
|
|
|
|
|
|
|
"Topic :: Utilities",
|
|
|
|
"Topic :: System :: Archiving",
|
|
|
|
"Topic :: System :: Archiving :: Backup",
|
|
|
|
"Topic :: System :: Recovery Tools",
|
|
|
|
"Topic :: Sociology :: History",
|
|
|
|
"Topic :: Internet :: WWW/HTTP",
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
|
|
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
|
|
|
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"Intended Audience :: Education",
|
|
|
|
"Intended Audience :: End Users/Desktop",
|
|
|
|
"Intended Audience :: Information Technology",
|
|
|
|
"Intended Audience :: Legal Industry",
|
|
|
|
"Intended Audience :: System Administrators",
|
|
|
|
|
|
|
|
"Environment :: Console",
|
|
|
|
"Environment :: Web Environment",
|
2019-03-27 11:40:00 -04:00
|
|
|
"Programming Language :: Python :: 3",
|
2019-04-26 14:42:28 -04:00
|
|
|
"Programming Language :: Python :: 3.7",
|
|
|
|
"Programming Language :: Python :: 3.8",
|
2020-06-25 21:30:29 -04:00
|
|
|
"Framework :: Django",
|
2019-04-26 14:42:28 -04:00
|
|
|
"Typing :: Typed",
|
2019-03-27 11:40:00 -04:00
|
|
|
],
|
2021-02-01 05:13:46 -05:00
|
|
|
cmdclass={
|
|
|
|
"test": CustomTest,
|
|
|
|
},
|
2019-03-27 11:40:00 -04:00
|
|
|
)
|