|
1 | | -#!/usr/bin/env python |
2 | | -# coding: utf-8 |
3 | | - |
4 | | -# Copyright (c) Jupyter Development Team. |
5 | | -# Distributed under the terms of the Modified BSD License. |
6 | | - |
7 | | -from __future__ import print_function |
8 | | -from glob import glob |
9 | | -import os |
10 | | -from os.path import join as pjoin |
11 | | -from setuptools import setup, find_packages |
12 | | - |
13 | | - |
14 | | -from jupyter_packaging import ( |
15 | | - create_cmdclass, |
16 | | - install_npm, |
17 | | - ensure_targets, |
18 | | - combine_commands, |
19 | | - get_version, |
20 | | - skip_if_exists |
21 | | -) |
22 | | - |
23 | | -HERE = os.path.dirname(os.path.abspath(__file__)) |
24 | | - |
25 | | - |
26 | | - |
27 | | - |
28 | | -# The name of the project |
29 | | -name = 'widget_code_input' |
30 | | - |
31 | | -# Get the version |
32 | | -version = get_version(pjoin(name, '_version.py')) |
33 | | - |
34 | | - |
35 | | -# Representative files that should exist after a successful build |
36 | | -jstargets = [ |
37 | | - pjoin(HERE, name, 'nbextension', 'index.js'), |
38 | | - pjoin(HERE, name, 'labextension', 'package.json'), |
39 | | -] |
40 | | - |
41 | | - |
42 | | -package_data_spec = { |
43 | | - name: [ |
44 | | - 'nbextension/**js*', |
45 | | - 'labextension/**' |
46 | | - ] |
47 | | -} |
48 | | - |
49 | | - |
50 | | -data_files_spec = [ |
51 | | - ('share/jupyter/nbextensions/widget_code_input', 'widget_code_input/nbextension', '**'), |
52 | | - ('share/jupyter/labextensions/widget-code-input', 'widget_code_input/labextension', '**'), |
53 | | - ('share/jupyter/labextensions/widget-code-input', '.', 'install.json'), |
54 | | - ('etc/jupyter/nbconfig/notebook.d', '.', 'widget_code_input.json'), |
55 | | -] |
56 | | - |
57 | | - |
58 | | -cmdclass = create_cmdclass('jsdeps', package_data_spec=package_data_spec, |
59 | | - data_files_spec=data_files_spec) |
60 | | -npm_install = combine_commands( |
61 | | - install_npm(HERE, build_cmd='build:prod'), |
62 | | - ensure_targets(jstargets), |
63 | | -) |
64 | | -cmdclass['jsdeps'] = skip_if_exists(jstargets, npm_install) |
65 | | - |
66 | | - |
67 | | -setup_args = dict( |
68 | | - name = name, |
69 | | - description = 'A Jupyter widget to allow input of a python function, with syntax highlighting.', |
70 | | - version = version, |
71 | | - scripts = glob(pjoin('scripts', '*')), |
72 | | - cmdclass = cmdclass, |
73 | | - packages = find_packages(), |
74 | | - author = 'Dou Du', |
75 | | - author_email = '[email protected]', |
76 | | - url = 'https://github.com/osscar-org/widget-code-input', |
77 | | - license = 'BSD', |
78 | | - platforms = "Linux, Mac OS X, Windows", |
79 | | - keywords = ['Jupyter', 'Widgets', 'IPython'], |
80 | | - classifiers = [ |
81 | | - 'Intended Audience :: Developers', |
82 | | - 'Intended Audience :: Science/Research', |
83 | | - 'License :: OSI Approved :: BSD License', |
84 | | - 'Programming Language :: Python', |
85 | | - 'Programming Language :: Python :: 3', |
86 | | - 'Programming Language :: Python :: 3.4', |
87 | | - 'Programming Language :: Python :: 3.5', |
88 | | - 'Programming Language :: Python :: 3.6', |
89 | | - 'Programming Language :: Python :: 3.7', |
90 | | - 'Framework :: Jupyter', |
91 | | - ], |
92 | | - include_package_data = True, |
93 | | - python_requires=">=3.6", |
94 | | - install_requires = [ |
95 | | - 'ipywidgets>=7.0.0', |
96 | | - ], |
97 | | - extras_require = { |
98 | | - 'test': [ |
99 | | - 'pytest>=4.6', |
100 | | - 'pytest-cov', |
101 | | - 'nbval', |
102 | | - ], |
103 | | - 'examples': [ |
104 | | - # Any requirements for the examples to run |
105 | | - ], |
106 | | - 'docs': [ |
107 | | - 'jupyter_sphinx', |
108 | | - 'nbsphinx', |
109 | | - 'nbsphinx-link', |
110 | | - 'pytest_check_links', |
111 | | - 'pypandoc', |
112 | | - 'recommonmark', |
113 | | - 'sphinx>=1.5', |
114 | | - 'sphinx_rtd_theme', |
115 | | - ], |
116 | | - }, |
117 | | - entry_points = { |
118 | | - }, |
119 | | -) |
120 | | - |
121 | | -if __name__ == '__main__': |
122 | | - setup(**setup_args) |
| 1 | +# setup.py shim for use with applications that require it. |
| 2 | +__import__("setuptools").setup() |
0 commit comments