|
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 = '{{ cookiecutter.python_package_name }}' |
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/{{ cookiecutter.python_package_name }}', '{{ cookiecutter.python_package_name }}/nbextension', '**'), |
52 |
| - ('share/jupyter/labextensions/{{ cookiecutter.npm_package_name }}', '{{ cookiecutter.python_package_name }}/labextension', '**'), |
53 |
| - ('share/jupyter/labextensions/{{ cookiecutter.npm_package_name }}', '.', 'install.json'), |
54 |
| - ('etc/jupyter/nbconfig/notebook.d', '.', '{{ cookiecutter.python_package_name }}.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 = '{{ cookiecutter.project_short_description }}', |
70 |
| - version = version, |
71 |
| - scripts = glob(pjoin('scripts', '*')), |
72 |
| - cmdclass = cmdclass, |
73 |
| - packages = find_packages(), |
74 |
| - author = '{{ cookiecutter.author_name }}', |
75 |
| - author_email = '{{ cookiecutter.author_email }}', |
76 |
| - url = 'https://github.com/{{ cookiecutter.github_organization_name }}/{{ cookiecutter.github_project_name }}', |
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