|
1 | 1 | # -*- coding: utf-8 -*-
|
2 |
| - |
3 |
| -from __future__ import print_function |
4 |
| -import os |
5 |
| -import sys |
| 2 | +from pathlib import Path |
6 | 3 |
|
7 | 4 | from setupbase import (
|
8 | 5 | log,
|
|
12 | 9 | ensure_targets,
|
13 | 10 | get_version,
|
14 | 11 | )
|
15 |
| - |
16 |
| -from setuptools import setup |
| 12 | +import setuptools |
17 | 13 |
|
18 | 14 |
|
19 | 15 | # due to https://github.com/jupyterlab/jupyterlab/blob/136d2ec216ebfc429a696e6ee75fee5f8ead73e2/jupyterlab/federated_labextensions.py#L347
|
|
24 | 20 |
|
25 | 21 | LONG_DESCRIPTION = 'A Python/ThreeJS bridge utilizing the Jupyter widget infrastructure.'
|
26 | 22 |
|
27 |
| -here = os.path.dirname(os.path.abspath(__file__)) |
| 23 | +HERE = Path(__file__).parent.resolve() |
28 | 24 | name = 'pythreejs'
|
29 |
| -version = get_version(os.path.join(here, name, '_version.py')) |
| 25 | +lab_path = (HERE / name / "labextension") |
30 | 26 |
|
| 27 | +version = get_version(HERE / name / '_version.py') |
31 | 28 |
|
32 | 29 | cmdclass = create_cmdclass(
|
33 | 30 | 'js',
|
34 | 31 | data_files_spec=[
|
35 |
| - ('share/jupyter/nbextensions/jupyter-threejs', |
36 |
| - name + '/static', |
37 |
| - '*.js'), |
38 |
| - ('share/jupyter/nbextensions/jupyter-threejs', |
39 |
| - name + '/static', |
40 |
| - '*.js.map'), |
41 |
| - ('share/jupyter/lab/extensions', |
42 |
| - 'js/lab-dist', |
43 |
| - 'jupyter-threejs-*.tgz'), |
44 |
| - ('share/jupyter/labextensions/jupyter-threejs/', |
45 |
| - 'share/jupyter/labextensions/jupyter-threejs/', |
46 |
| - '*.*'), |
47 |
| - ('share/jupyter/labextensions/jupyter-threejs/static', |
48 |
| - 'share/jupyter/labextensions/jupyter-threejs/static/', |
49 |
| - '*.*'), |
50 |
| - ('etc/jupyter/nbconfig', |
51 |
| - 'jupyter-config', |
52 |
| - '**/*.json'), |
| 32 | + # Support JupyterLab 3.x prebuilt extension |
| 33 | + ("share/jupyter/labextensions/jupyter-threejs", str(lab_path), "**"), |
| 34 | + ("share/jupyter/labextensions/jupyter-threejs", str(HERE), "install.json"), |
| 35 | + # Support JupyterLab 2.x |
| 36 | + ('share/jupyter/lab/extensions', str(HERE/'js'/'lab-dist'), 'jupyter-threejs-*.tgz'), |
| 37 | + # Support Jupyter Notebook |
| 38 | + ('etc/jupyter/nbconfig', str(HERE/'jupyter-config'), '**/*.json') |
53 | 39 | ],
|
54 | 40 | )
|
55 | 41 | cmdclass['js'] = combine_commands(
|
56 | 42 | install_npm(
|
57 |
| - path=os.path.join(here, 'js'), |
58 |
| - build_dir=os.path.join(here, name, 'static'), |
59 |
| - source_dir=os.path.join(here, 'js'), |
| 43 | + path=HERE/'js', |
| 44 | + build_dir=HERE/'name'/'static', |
| 45 | + source_dir=HERE/'js', |
60 | 46 | build_cmd='build:all'
|
61 | 47 | ),
|
62 | 48 | ensure_targets([
|
|
117 | 103 | ],
|
118 | 104 | }
|
119 | 105 |
|
120 |
| -setup(**setup_args) |
| 106 | + |
| 107 | +if __name__ == "__main__": |
| 108 | + setuptools.setup(**setup_args) |
0 commit comments