mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-13 06:34:25 -04:00
new package build
This commit is contained in:
parent
18355dc2c6
commit
79051ca15b
5 changed files with 146 additions and 113 deletions
88
setup.py
88
setup.py
|
@ -1,77 +1,48 @@
|
|||
# import sys
|
||||
import json
|
||||
import setuptools
|
||||
|
||||
from pathlib import Path
|
||||
# from subprocess import check_call
|
||||
# from setuptools.command.install import install
|
||||
# from setuptools.command.develop import develop
|
||||
# from setuptools.command.egg_info import egg_info
|
||||
|
||||
|
||||
PKG_NAME = "archivebox"
|
||||
DESCRIPTION = "The self-hosted internet archive."
|
||||
LICENSE = "MIT"
|
||||
AUTHOR = "Nick Sweeting"
|
||||
AUTHOR_EMAIL="git@nicksweeting.com"
|
||||
REPO_URL = "https://github.com/pirate/ArchiveBox"
|
||||
REPO_DIR = Path(__file__).parent.resolve()
|
||||
PYTHON_DIR = REPO_DIR / PKG_NAME
|
||||
README = (PYTHON_DIR / "README.md").read_text()
|
||||
VERSION = json.loads((PYTHON_DIR / "package.json").read_text().strip())['version']
|
||||
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
|
||||
|
||||
README = (PACKAGE_DIR / "README.md").read_text()
|
||||
VERSION = json.loads((PACKAGE_DIR / "package.json").read_text().strip())['version']
|
||||
|
||||
# To see when setup.py gets called (uncomment for debugging):
|
||||
|
||||
# import sys
|
||||
# print(PYTHON_DIR, f" (v{VERSION})")
|
||||
# print(PACKAGE_DIR, f" (v{VERSION})")
|
||||
# print('>', sys.executable, *sys.argv)
|
||||
|
||||
# Sketchy way to install npm dependencies as a pip post-install script
|
||||
|
||||
# def setup_js():
|
||||
# if sys.platform.lower() not in ('darwin', 'linux'):
|
||||
# sys.stderr.write('[!] Warning: ArchiveBox is not officially supported on this platform.\n')
|
||||
|
||||
# sys.stderr.write(f'[+] Installing ArchiveBox npm package (PYTHON_DIR={PYTHON_DIR})...\n')
|
||||
# try:
|
||||
# check_call(f'npm install -g "{REPO_DIR}"', shell=True)
|
||||
# sys.stderr.write('[√] Automatically installed npm dependencies.\n')
|
||||
# except Exception as err:
|
||||
# sys.stderr.write(f'[!] Failed to auto-install npm dependencies: {err}\n')
|
||||
# sys.stderr.write(' Install NPM/npm using your system package manager, then run:\n')
|
||||
# sys.stderr.write(' npm install -g "git+https://github.com/pirate/ArchiveBox.git\n')
|
||||
|
||||
|
||||
# class CustomInstallCommand(install):
|
||||
# def run(self):
|
||||
# super().run()
|
||||
# setup_js()
|
||||
|
||||
# class CustomDevelopCommand(develop):
|
||||
# def run(self):
|
||||
# super().run()
|
||||
# setup_js()
|
||||
|
||||
# class CustomEggInfoCommand(egg_info):
|
||||
# def run(self):
|
||||
# super().run()
|
||||
# setup_js()
|
||||
|
||||
setuptools.setup(
|
||||
name=PKG_NAME,
|
||||
version=VERSION,
|
||||
license="MIT",
|
||||
author="Nick Sweeting",
|
||||
author_email="git@nicksweeting.com",
|
||||
description="The self-hosted internet archive.",
|
||||
license=LICENSE,
|
||||
author=AUTHOR,
|
||||
author_email=AUTHOR_EMAIL,
|
||||
description=DESCRIPTION,
|
||||
long_description=README,
|
||||
long_description_content_type="text/markdown",
|
||||
url=REPO_URL,
|
||||
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",
|
||||
},
|
||||
project_urls=PROJECT_URLS,
|
||||
python_requires=">=3.7",
|
||||
install_requires=[
|
||||
"requests==2.24.0",
|
||||
|
@ -111,18 +82,13 @@ setuptools.setup(
|
|||
# 'redis': ['redis', 'django-redis'],
|
||||
# 'pywb': ['pywb', 'redis'],
|
||||
},
|
||||
packages=['archivebox'],
|
||||
packages=[PKG_NAME],
|
||||
include_package_data=True, # see MANIFEST.in
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
f"{PKG_NAME} = {PKG_NAME}.cli:main",
|
||||
],
|
||||
},
|
||||
# cmdclass={
|
||||
# 'install': CustomInstallCommand,
|
||||
# 'develop': CustomDevelopCommand,
|
||||
# 'egg_info': CustomEggInfoCommand,
|
||||
# },
|
||||
classifiers=[
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Natural Language :: English",
|
||||
|
@ -136,9 +102,7 @@ setuptools.setup(
|
|||
"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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue