forked from aws-samples/sagemaker-run-notebook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
107 lines (93 loc) · 3.04 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
106
107
"""Setup Module to setup Python serverextension for the sagemaker run notebook
extension. For non-dev installs, will also automatically
build (if package.json is present) and install (if the labextension exists,
eg the build succeeded) the corresponding labextension.
"""
import os
from pathlib import Path
from subprocess import CalledProcessError
from setupbase import (
command_for_func,
create_cmdclass,
get_version,
HERE,
run,
)
import setuptools
# The name of the project
name = "sagemaker_run_notebook"
# Get our version
version = get_version(str(Path(HERE) / name / "server_extension" / "_version.py"))
lab_path = Path(HERE) / "labextension"
data_files_spec = [
(
"share/jupyter/labextensions/%s/static" % name,
str(lab_path / name / "labextension" / "static"),
"**",
),
(
"share/jupyter/labextensions/%s" % name,
str(lab_path / name / "labextension"),
"package.json",
),
(
"etc/jupyter/jupyter_notebook_config.d",
"sagemaker_run_notebook/server_extension/jupyter-config/jupyter_notebook_config.d",
"sagemaker_run_notebook.json",
),
]
def runPackLabextension():
if (lab_path / "package.json").is_file():
run(["jlpm", "build:labextension"], cwd=str(lab_path))
pack_labext = command_for_func(runPackLabextension)
cmdclass = create_cmdclass("pack_labext", data_files_spec=data_files_spec)
cmdclass["pack_labext"] = pack_labext
cmdclass.pop("develop")
with open("README.md", "r") as fh:
long_description = fh.read()
required_packages = ["boto3>=1.10.44"]
setuptools.setup(
name=name,
version=version,
author="Amazon Web Services",
description="Schedule notebooks to run using SageMaker processing jobs",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/aws-samples/sagemaker-run-notebook",
cmdclass=cmdclass,
packages=["sagemaker_run_notebook", "sagemaker_run_notebook.server_extension"],
license="Apache License 2.0",
classifiers=[
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Framework :: Jupyter",
],
python_requires=">=3.6",
install_requires=required_packages,
extras_require={
"dev": [
"python-minifier",
"black",
"pytest",
"sphinx",
"sphinx_rtd_theme",
"autodocsumm",
"sphinx-argparse",
"build",
"jupyterlab~=3.0",
]
},
entry_points={
"console_scripts": [
"run-notebook=sagemaker_run_notebook.cli:main",
]
},
include_package_data=True,
package_data={"sagemaker_run_notebook": ["cloudformation.yml", "container/**"]},
)