forked from openzim/nautilus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
70 lines (60 loc) · 2.14 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# vim: ai ts=4 sts=4 et sw=4 nu
import pathlib
import subprocess
from setuptools import setup
root_dir = pathlib.Path(__file__).parent
def read(*names, **kwargs):
with open(root_dir.joinpath(*names), "r") as fh:
return fh.read()
if not root_dir.joinpath(
"nautiluszim/templates/vendors", "handlebars.runtime.min-v4.7.7.js"
).exists():
print("Downloading and fixing JS dependencies...")
subprocess.run([str(root_dir.joinpath("get_js_deps.sh").resolve())], check=True)
if not root_dir.joinpath("nautiluszim/templates/precompiled.js").exists():
print("Compile handlebars templates")
subprocess.run(
[
"/usr/bin/env",
"handlebars",
str(root_dir / "nautiluszim" / "templates"),
"-f",
str(root_dir.joinpath("nautiluszim", "templates", "precompiled.js")),
],
check=True,
)
setup(
name="nautiluszim",
version=read("nautiluszim", "VERSION").strip(),
description="turns a collection of documents into a browsable ZIM file",
long_description=read("README.md"),
long_description_content_type="text/markdown",
author="kiwix",
author_email="reg@kiwix.org",
url="https://github.com/openzim/nautilus",
keywords="kiwix zim offline",
license="GPLv3+",
packages=["nautiluszim"],
install_requires=[
line.strip()
for line in read("requirements.txt").splitlines()
if not line.strip().startswith("#")
],
zip_safe=False,
include_package_data=True,
entry_points={"console_scripts": ["nautiluszim=nautiluszim.__main__:main"]},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Programming Language :: Python",
"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",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
],
python_requires=">=3.7",
)