-
Notifications
You must be signed in to change notification settings - Fork 41
/
setup.py
105 lines (93 loc) · 2.82 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
from __future__ import print_function
import os
from os.path import join as pjoin
from jupyter_packaging import (
combine_commands,
create_cmdclass,
ensure_targets,
get_version,
install_npm,
skip_if_exists,
)
from setuptools import find_packages, setup
name = "ipywebrtc"
here = os.path.dirname(os.path.abspath(__file__))
node_root = os.path.join(here, "js")
is_repo = os.path.exists(os.path.join(here, ".git"))
npm_path = os.pathsep.join(
[
os.path.join(node_root, "node_modules", ".bin"),
os.environ.get("PATH", os.defpath),
]
)
LONG_DESCRIPTION = "WebRTC for Jupyter notebook/lab"
version = get_version(pjoin(name, "_version.py"))
js_dir = pjoin(here, "js")
# Representative files that should exist after a successful build
jstargets = [
pjoin("share", "jupyter", "nbextensions", "jupyter-webrtc", "index.js"),
pjoin("share", "jupyter", "labextensions", "jupyter-webrtc", "package.json"),
]
data_files_spec = [
(
"share/jupyter/nbextensions/jupyter-webrtc",
"share/jupyter/nbextensions/jupyter-webrtc",
"*.js",
),
(
"share/jupyter/labextensions/jupyter-webrtc/",
"share/jupyter/labextensions/jupyter-webrtc/",
"**",
),
(
"etc/jupyter/nbconfig/notebook.d",
"etc/jupyter/nbconfig/notebook.d",
"jupyter-webrtc.json",
),
]
js_command = combine_commands(
install_npm(js_dir, build_dir="share/jupyter/", source_dir="js/src", build_cmd="build"),
ensure_targets(jstargets),
)
cmdclass = create_cmdclass("jsdeps", data_files_spec=data_files_spec)
is_repo = os.path.exists(os.path.join(here, ".git"))
if is_repo:
cmdclass["jsdeps"] = js_command
else:
cmdclass["jsdeps"] = skip_if_exists(jstargets, js_command)
setup(
name="ipywebrtc",
version=version,
description="WebRTC for Jupyter notebook/lab",
long_description=LONG_DESCRIPTION,
license="MIT",
include_package_data=True,
install_require=[
"ipywidgets>=7.4.0",
],
extras_require={"dev": ["pre-commit"]},
packages=find_packages(),
zip_safe=False,
cmdclass=cmdclass,
author="Maarten Breddels",
author_email="[email protected]",
url="https://github.com/maartenbreddels/ipywebrtc",
keywords=[
"ipython",
"jupyter",
"widgets",
],
classifiers=[
"Development Status :: 4 - Beta",
"Framework :: IPython",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Multimedia :: Graphics",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
],
)