2019-03-27 15:39:30 -04:00
|
|
|
import os
|
2019-03-27 11:40:00 -04:00
|
|
|
import setuptools
|
|
|
|
|
|
|
|
with open("README.md", "r") as fh:
|
|
|
|
long_description = fh.read()
|
|
|
|
|
2019-03-27 15:39:30 -04:00
|
|
|
|
|
|
|
script_dir = os.path.abspath(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
|
|
VERSION = open(os.path.join(script_dir, 'VERSION'), 'r').read().strip()
|
2019-04-27 17:49:54 -04:00
|
|
|
try:
|
|
|
|
GIT_HEAD = open(os.path.join(script_dir, '.git', 'HEAD'), 'r').read().strip().split(': ')[1]
|
|
|
|
GIT_SHA = open(os.path.join(script_dir, '.git', GIT_HEAD), 'r').read().strip()[:9]
|
|
|
|
PYPI_VERSION = "{}+{}".format(VERSION, GIT_SHA)
|
|
|
|
except:
|
|
|
|
PYPI_VERSION = VERSION
|
2019-03-27 15:39:30 -04:00
|
|
|
|
|
|
|
with open(os.path.join(script_dir, 'archivebox', 'VERSION'), 'w+') as f:
|
|
|
|
f.write(PYPI_VERSION)
|
|
|
|
|
2019-03-27 11:40:00 -04:00
|
|
|
setuptools.setup(
|
|
|
|
name="archivebox",
|
2019-03-27 15:39:30 -04:00
|
|
|
version=PYPI_VERSION,
|
2019-03-27 11:40:00 -04:00
|
|
|
author="Nick Sweeting",
|
|
|
|
author_email="git@nicksweeting.com",
|
|
|
|
description="The self-hosted internet archive.",
|
|
|
|
long_description=long_description,
|
|
|
|
long_description_content_type="text/markdown",
|
|
|
|
url="https://github.com/pirate/ArchiveBox",
|
2019-03-27 15:39:30 -04:00
|
|
|
project_urls={
|
|
|
|
'Documentation': 'https://github.com/pirate/ArchiveBox/Wiki',
|
|
|
|
'Community': 'https://github.com/pirate/ArchiveBox/wiki/Web-Archiving-Community',
|
|
|
|
'Source': 'https://github.com/pirate/ArchiveBox',
|
|
|
|
'Bug Tracker': 'https://github.com/pirate/ArchiveBox/issues',
|
|
|
|
'Roadmap': 'https://github.com/pirate/ArchiveBox/wiki/Roadmap',
|
|
|
|
'Changelog': 'https://github.com/pirate/ArchiveBox/wiki/Changelog',
|
2019-04-18 21:09:54 -04:00
|
|
|
'Patreon': 'https://github.com/pirate/ArchiveBox/wiki/Donations',
|
2019-03-27 15:39:30 -04:00
|
|
|
},
|
2019-03-27 11:40:00 -04:00
|
|
|
packages=setuptools.find_packages(),
|
2019-03-27 15:39:30 -04:00
|
|
|
python_requires='>=3.6',
|
|
|
|
install_requires=[
|
2019-04-17 03:49:18 -04:00
|
|
|
"dataclasses==0.6",
|
2019-04-24 11:36:14 -04:00
|
|
|
"mypy-extensions==0.4.1",
|
2019-03-27 15:39:30 -04:00
|
|
|
"base32-crockford==0.3.0",
|
2019-04-02 18:53:21 -04:00
|
|
|
"django==2.2",
|
2019-04-17 03:49:18 -04:00
|
|
|
"django-extensions==2.1.6",
|
2019-04-24 11:36:14 -04:00
|
|
|
"python-crontab==2.3.6",
|
2019-04-18 21:09:54 -04:00
|
|
|
"youtube-dl",
|
2019-04-22 19:06:12 -04:00
|
|
|
"ipython",
|
2019-04-18 21:09:54 -04:00
|
|
|
|
|
|
|
# Some/all of these will likely be added in the future:
|
|
|
|
# wpull
|
|
|
|
# pywb
|
|
|
|
# pyppeteer
|
|
|
|
# archivenow
|
|
|
|
# requests
|
|
|
|
|
2019-03-27 15:39:30 -04:00
|
|
|
],
|
|
|
|
entry_points={
|
|
|
|
'console_scripts': [
|
2019-04-02 18:53:21 -04:00
|
|
|
'archivebox = archivebox.__main__:main',
|
2019-03-27 15:39:30 -04:00
|
|
|
],
|
|
|
|
},
|
|
|
|
package_data={
|
2019-04-26 18:32:02 -04:00
|
|
|
'archivebox': [
|
|
|
|
# Manifest.ini must correspond 1:1 with this list
|
|
|
|
'VERSION',
|
|
|
|
'themes/*',
|
|
|
|
'themes/static/*',
|
|
|
|
'themes/admin/*'
|
|
|
|
'themes/default/*'
|
|
|
|
'themes/default/static/*'
|
2019-04-27 17:57:35 -04:00
|
|
|
'themes/legacy/*',
|
|
|
|
'themes/legacy/static/*',
|
2019-04-26 18:32:02 -04:00
|
|
|
],
|
2019-03-27 15:39:30 -04:00
|
|
|
},
|
2019-03-27 11:40:00 -04:00
|
|
|
classifiers=[
|
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",
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Server",
|
|
|
|
"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.6",
|
|
|
|
"Programming Language :: Python :: 3.7",
|
|
|
|
"Programming Language :: Python :: 3.8",
|
|
|
|
'Framework :: Django',
|
|
|
|
"Typing :: Typed",
|
|
|
|
|
2019-03-27 11:40:00 -04:00
|
|
|
"License :: OSI Approved :: MIT License",
|
2019-04-26 14:42:28 -04:00
|
|
|
"Natural Language :: English",
|
2019-03-27 11:40:00 -04:00
|
|
|
"Operating System :: OS Independent",
|
|
|
|
],
|
|
|
|
)
|