Exemple #1
0
                           data_files_spec=[
                               ("share/jupyter/labextensions/" + ext_name,
                                lab_path, "**"),
                               ('etc/jupyter/jupyter_notebook_config.d', name,
                                'jupyter_ros_server.json')
                           ])

cmdclass['js'] = combine_commands(
    install_npm(path=ext_path,
                npm=["jlpm"],
                build_cmd="build:labextension",
                build_dir=path.join(ext_path, 'build'),
                source_dir=path.join(ext_path, 'src')),
    # Representative files that should exist after a successful build
    ensure_targets([
        path.join(lab_path, 'package.json'),
    ]),
)

setup_args = {
    'name':
    name,
    'version':
    version,
    'description':
    "Jupyterlab server extension for ROS.",
    'author':
    "QuantStack",
    'license':
    "BSD-3-Clause",
    'url':
Exemple #2
0
    ("share/jupyter/nbextensions/jupyter_cadquery", str(py_path / "nbextension"), "**/*.js.map"),
]

cmdclass = create_cmdclass(
    "jsdeps", package_data_spec=package_data_spec, data_files_spec=data_files_spec
)

cmdclass["jsdeps"] = combine_commands(
    install_npm(
        path=str(js_path),
        npm=["yarn"],
        build_cmd="build:prod",
    ),
    ensure_targets(
        [
            str(py_path / "nbextension" / "extension.js"),
            str(py_path / "nbextension" / "index.js"),
        ]
    ),
)

long_description = (HERE / "README.md").read_text()

# Get the package info from package.json
pkg_json = json.loads((HERE / "package.json").read_bytes())

setup_args = dict(
    name=name,
    version=pkg_json["version"],
    url=pkg_json["homepage"],
    author=pkg_json["author"]["name"],
    author_email=pkg_json["author"]["email"],
Exemple #3
0
js_dir = os.path.join(here, 'js')

# Representative files that should exist after a successful build
jstargets = [
    os.path.join(js_dir, 'dist', 'index.js'),
]

data_files_spec = [
    ('share/jupyter/nbextensions/jupyter-leaflet', 'ipyleaflet/nbextension', '*.*'),
    ('share/jupyter/labextensions/jupyter-leaflet', 'ipyleaflet/labextension', "**"),
    ('etc/jupyter/nbconfig/notebook.d', '.', 'jupyter-leaflet.json'),
]

cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec)
cmdclass['jsdeps'] = combine_commands(
    install_npm(js_dir, build_cmd='build'), ensure_targets(jstargets),
)


setup_args = dict(
    name=name,
    version=version,
    description='A Jupyter widget for dynamic Leaflet maps',
    long_description=long_description,
    license='MIT License',
    include_package_data=True,
    install_requires=[
        'ipywidgets>=7.6.0,<8',
        'traittypes>=0.2.1,<3',
        'branca>=0.3.1,<0.5',
        'shapely',
        "etc/jupyter/nbconfig/notebook.d",
        HERE,
        "{{ cookiecutter.python_package_name }}.json",
    ),
]

if os.environ.get("READTHEDOCS", None) == "True":
    # On RTD, skip JS build to save resources
    import jupyter_packaging
    jupyter_packaging.skip_npm = True

cmdclass = create_cmdclass("jsdeps",
                           package_data_spec=package_data_spec,
                           data_files_spec=data_files_spec)
cmdclass["jsdeps"] = combine_commands(
    install_npm(js_path, build_cmd="build:all"), ensure_targets(jstargets))

setup_args = dict(
    name=name,
    description="{{ cookiecutter.project_short_description }}",
    version=version,
    scripts=glob(pjoin("scripts", "*")),
    cmdclass=cmdclass,
    packages=find_packages(HERE),
    author="{{ cookiecutter.author_name }}",
    author_email="{{ cookiecutter.author_email }}",
    url=
    "https://github.com/{{ cookiecutter.github_organization_name }}/{{ cookiecutter.github_project_name }}",
    license="BSD",
    platforms="Linux, Mac OS X, Windows",
    keywords=["Jupyter", "Widgets", "IPython"],
Exemple #5
0
data_files_spec = [
    ('share/jupyter/nbextensions/ipysheet', str(nb_path), '**'),
    ("share/jupyter/labextensions/ipysheet", str(lab_path), "**"),
    ("share/jupyter/labextensions/ipysheet", str(HERE), "install.json"),
    ('etc/jupyter/nbconfig/notebook.d', str(HERE), 'ipysheet.json')
]

long_description = (HERE / "README.md").read_text()

# Get the package info from package.json
pkg_json = json.loads((HERE / "package.json").read_bytes())

cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec)
js_command = combine_commands(
    install_npm(str(HERE), npm=["yarn"], build_cmd='build:extensions'),
    ensure_targets(ensured_targets),
)

is_repo = os.path.exists(str(HERE / '.git'))
if is_repo:
    cmdclass['jsdeps'] = js_command
else:
    cmdclass['jsdeps'] = skip_if_exists(ensured_targets, js_command)

setup_args = dict(
    name=name,
    version=pkg_json["version"],
    url=pkg_json["homepage"],
    author=pkg_json["author"]["name"],
    author_email=pkg_json["author"]["email"],
    description=pkg_json["description"],
Exemple #6
0
    # Lab extension installed by default:
    (
        "share/jupyter/labextensions/jupyterlab_commands",
        "jupyterlab_commands/labextension",
        "**",
    ),
    # Config to enable server extension by default:
    ("etc/jupyter/jupyter_server_config.d", "jupyter-config", "*.json"),
]

cmdclass = create_cmdclass("js", data_files_spec=data_spec)
cmdclass["js"] = combine_commands(
    install_npm(jshere, build_cmd="build:all"),
    ensure_targets([
        pjoin(jshere, "lib", "index.js"),
        pjoin(jshere, "style", "index.css"),
        pjoin(here, "jupyterlab_commands", "labextension", "package.json"),
    ]),
)

setup(
    name=name,
    version=version,
    description="Arbitrary python commands for notebooks in JupyterLab",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/timkpaine/jupyterlab_commands",
    author="Tim Paine",
    author_email="*****@*****.**",
    license="Apache 2.0",
    classifiers=[
Exemple #7
0
    'mock'
]

data_spec = [
    # Lab extension installed by default:
    ('share/jupyter/lab/extensions', 'lab-dist', 'jupyterlab_powerpoint-*.tgz'
     ),
    # Config to enable server extension by default:
    ('etc/jupyter', 'jupyter-config', '**/*.json'),
]

cmdclass = create_cmdclass('js', data_files_spec=data_spec)
cmdclass['js'] = combine_commands(
    install_npm(jshere, build_cmd='build:all'),
    ensure_targets([
        pjoin(jshere, 'lib', 'index.js'),
        pjoin(jshere, 'style', 'index.css')
    ]),
)

setup(
    name=name,
    version=version,
    description='Create powerpoints from jupyter notebooks',
    long_description=long_description,
    long_description_content_type='text/markdown',
    url='https://github.com/timkpaine/jupyterlab_powerpoint',
    author='Tim Paine',
    author_email='*****@*****.**',
    license='Apache 2.0',
    classifiers=[
        'Development Status :: 3 - Alpha',
Exemple #8
0
data_files_spec = [
    ("share/jupyter/lab/extensions", lab_path, "*.tgz"),
    ("etc/jupyter/jupyter_notebook_config.d", "jupyter-config",
     "sparkmonitor.json"),
]

cmdclass = create_cmdclass("deps",
                           package_data_spec=package_data_spec,
                           data_files_spec=data_files_spec)

cmdclass["deps"] = combine_commands(
    install_npm(HERE, build_cmd="build:labextension", npm=["jlpm"]),
    install_npm(NBEXTENSION, build_cmd="webpack"),
    install_npm(HERE, build_cmd="build:scalalistener", npm=["jlpm"]),
    ensure_targets(targets),
)

with open("README.md", "r") as fh:
    long_description = fh.read()

setup_args = dict(
    name=name,
    version=version,
    url="https://github.com/swan-cern/jupyter-extensions",
    author="SWAN Admins",
    description="Helper to connect to CERN's Spark Clusters",
    long_description=long_description,
    long_description_content_type="text/markdown",
    cmdclass=cmdclass,
    packages=setuptools.find_packages(),
Exemple #9
0
LAB_PATH = os.path.join(HERE, "conda_store", "labextension")

cmdclass = create_cmdclass(
    "jsdeps",
    package_data_spec={"conda_store": ["*"]},
    data_files_spec=[
        ("share/jupyter/labextensions/%s" % "@Quansight/conda-store", LAB_PATH,
         "**"),
        ("share/jupyter/labextensions/%s" % "@Quansight/conda-store", HERE,
         "install.json"),
    ])

js_command = combine_commands(
    install_npm(HERE, build_cmd="build:prod", npm=["jlpm"]),
    ensure_targets([
        os.path.join(LAB_PATH, "package.json"),
    ]),
)

if os.path.exists(os.path.join(HERE, ".git")):
    cmdclass["jsdeps"] = js_command
else:
    cmdclass["jsdeps"] = skip_if_exists([
        os.path.join(LAB_PATH, "package.json"),
    ], js_command)

with open("README.md", "r") as fh:
    long_description = fh.read()

setup_args = dict(
    name="conda_store",
Exemple #10
0
    data_files_spec=[
        ('share/jupyter/nbextensions/' + nb_ext_name, nb_path, '**'),
        ('etc/jupyter/nbconfig/notebook.d', name, 'jupyter-ros.json'),
        ("share/jupyter/labextensions/" + ext_name, lab_path, "**"),
        ('etc/jupyter/jupyter_notebook_config.d', name,
         'jupyros_server_extension.json')
    ])

cmdclass['js'] = combine_commands(
    install_npm(path=ext_path,
                npm=["jlpm"],
                build_cmd="build:labextension",
                source_dir=path.join(ext_path, 'lib')),
    # Representative files that should exist after a successful build
    ensure_targets([
        path.join(nb_path, 'index.js'),
        path.join(lab_path, 'package.json'),
    ]),
)

setup_args = {
    'name':
    name,
    'version':
    version,
    'description':
    'ROS 3D Jupyter widget',
    'long_description':
    'ROS 3D Jupyter widget',
    'author':
    'Wolf Vollprecht',
    'author_email':
js_dir = pjoin(here, 'js')

# Representative files that should exist after a successful build
jstargets = [
    pjoin('share', 'jupyter', 'nbextensions', 'bqplot', 'index.js'),
    pjoin('share', 'jupyter', 'labextensions', 'bqplot', 'package.json'),
]

data_files_spec = [
    ('share/jupyter/nbextensions/bqplot', 'share/jupyter/nbextensions/bqplot', '*.js'),
    ('share/jupyter/labextensions/bqplot/', 'share/jupyter/labextensions/bqplot/', '**'),
    ('share/jupyter/labextensions/bqplot/', here, 'install.json'),
    ('etc/jupyter/nbconfig/notebook.d', 'etc/jupyter/nbconfig/notebook.d', 'bqplot.json'),
]

js_command = combine_commands(
    install_npm(js_dir, build_dir='share/jupyter/', source_dir='js/src', build_cmd='build'), ensure_targets(jstargets),
)

# Adding "map_data" as package_data manually, this should not be needed because it's already
# specified in MANIFEST and include_package_data=True. This might be a bug in jupyter-packaging?
cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec, package_data_spec={"bqplot": ["map_data/*.json"]})
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(version=version, cmdclass=cmdclass)
Exemple #12
0
with open('README.md', encoding='utf-8') as f:
    long_description = f.read()


data_files_spec = [
    # lab extension installed by default:
    ('share/jupyter/lab/extensions', str(pkg/'labdist'), '*.tgz'),
    # config to enable server extension by default:
    ('etc/jupyter', 'jupyter-config', '**/*.json'),
]

cmdclass = create_cmdclass('pack_labext', data_files_spec=data_files_spec)
cmdclass['pack_labext'] = combine_commands(
    command_for_func(run_pack_labextension),
    ensure_targets([
        'lib/index.js',
        'style/index.css'
    ]),
)
cmdclass.pop('develop')


requires = [
    'fs>=2.4.11',
    'fs-s3fs>=1.1.1',
    'fs.smbfs @ git+https://github.com/telamonian/fs.smbfs.git@dont_assume_everyone_ace_exists#egg=fs.smbfs',
    'jupyterlab>=2.0.0',
    'notebook>=5.7.0',
]

test_requires = [
    'boto3',
Exemple #13
0
]


def runPackLabextension():
    if Path('package.json').is_file():
        try:
            run(['jlpm', 'build:all'])
        except CalledProcessError:
            pass


cmdclass = create_cmdclass('pack_labext', data_files_spec=data_files_spec)
cmdclass['pack_labext'] = combine_commands(
    command_for_func(runPackLabextension),
    ensure_targets([
        path.join(here, 'lib', 'index.js'),
        path.join(here, 'style', 'index.css')
    ]),
)
cmdclass.pop('develop')

setup(
    name=name,
    version=version,
    description='A Filesystem-like mult-contents manager backend for Jupyter',
    long_description=long_description,
    long_description_content_type='text/markdown',
    url='https://github.com/jpmorganchase/jupyter-fs',
    author='jupyter-fs authors',
    license='Apache 2.0',
    classifiers=[
        'Development Status :: 3 - Alpha',
Exemple #14
0
        "share/jupyter/nbextensions/algorithmx-jupyter",
        pjoin(HERE, name, "nbextension"),
        "*.js*",
    ),
    ("share/jupyter/lab/extensions", pjoin(HERE, name,
                                           "labextension"), "*.tgz"),
    ("etc/jupyter/nbconfig/notebook.d", HERE, "algorithmx-jupyter.json"),
]

cmdclass = create_cmdclass(None,
                           package_data_spec=package_data_spec,
                           data_files_spec=data_files_spec)

cmdclass["jsdeps"] = combine_commands(
    install_npm(HERE, build_cmd="build", npm=["jlpm"]),
    ensure_targets(pjoin(HERE, name, "nbextension", "index.js")),
)

with open(pjoin(HERE, "README.md"), "r") as f:
    long_description = f.read()

setup_args = dict(
    name=name,
    description="A library for network visualization and algorithm simulation.",
    version=version,
    cmdclass=cmdclass,
    packages=find_packages(),
    author="Alex Socha",
    author_email="*****@*****.**",
    long_description=long_description,
    long_description_content_type="text/markdown",
Exemple #15
0
    os.path.join(HERE, "lib", "jupyter-project.js"),
]

package_data_spec = {name: ["*"]}

data_files_spec = [
    ("share/jupyter/lab/extensions", lab_path, "*.tgz"),
    ("etc/jupyter/jupyter_notebook_config.d", "jupyter-config", "jupyter_project.json"),
]

cmdclass = create_cmdclass(
    "jsdeps", package_data_spec=package_data_spec, data_files_spec=data_files_spec
)

cmdclass["jsdeps"] = combine_commands(
    install_npm(HERE, build_cmd="build:all", npm=["jlpm"]), ensure_targets(jstargets),
)

with open("README.md", "r") as fh:
    long_description = fh.read()

setup_args = dict(
    name=name,
    version=version,
    url="https://github.com/fcollonval/jupyter-project",
    author="Frederic Collonval",
    description="An JupyterLab extension to handle project and files templates.",
    long_description=long_description,
    long_description_content_type="text/markdown",
    cmdclass=cmdclass,
    packages=setuptools.find_packages(),
Exemple #16
0
labext_name = "@jupyterlab-ipython/KernelSpec-Manager"

data_files_spec = [
    ("share/jupyter/labextensions/%s" % labext_name, str(lab_path), "**"),
    ("share/jupyter/labextensions/%s" % labext_name, str(HERE),
     "install.json"),
]

cmdclass = jupyter_packaging.create_cmdclass(
    "jsdeps",
    package_data_spec=package_data_spec,
    data_files_spec=data_files_spec)

js_command = jupyter_packaging.combine_commands(
    jupyter_packaging.install_npm(HERE, build_cmd="build:prod", npm=["jlpm"]),
    jupyter_packaging.ensure_targets(jstargets),
)

is_repo = (HERE / ".git").exists()
if is_repo:
    cmdclass["jsdeps"] = js_command
else:
    cmdclass["jsdeps"] = skip_if_exists(jstargets, js_command)

setup_args = dict(
    name='ksmm',
    version=VERSION,
    description='Jupyter Server Extension for IPython KernelSpec Manager',
    cmdclass=cmdclass,
    python_requires='>=3.8',
    packages=setuptools.find_packages(),
Exemple #17
0
version = get_version(str(py_pkg / '_version.py'))

with open('README.md', encoding='utf-8') as f:
    long_description = f.read()

data_files_spec = [
    # lab extension installed by default:
    ('share/jupyter/lab/extensions', str(py_pkg / 'labdist'), '*.tgz'),
    # config to enable server extension by default:
    ('etc/jupyter', 'jupyter-config', '**/*.json'),
]

cmdclass = create_cmdclass('pack_labext', data_files_spec=data_files_spec)
cmdclass['pack_labext'] = combine_commands(
    install_npm(js_pkg, build_cmd='build:labdist', npm=['jlpm']),
    ensure_targets(
        [js_pkg / 'lib' / 'index.js', js_pkg / 'style' / 'index.css']),
)

cmdclass.pop('develop')

requires = [
    'fs>=2.4.11',
    'fs-s3fs>=1.1.1',
    'fs.smbfs>=0.6.3',
    'jupyterlab>=2.0.0',
    'notebook>=5.7.0',
]

test_requires = [
    'boto3',
    'docker',
Exemple #18
0
    "sphinx-markdown-builder>=0.5.2",
]

data_spec = [
    # Lab extension installed by default:
    ("share/jupyter/lab/extensions", "js/lab-dist",
     "jupyterlab_celltests-*.tgz"),
    # Config to enable server extension by default:
    ("etc/jupyter", "jupyter-config", "**/*.json"),
]

cmdclass = create_cmdclass("js", data_files_spec=data_spec)
cmdclass["js"] = combine_commands(
    install_npm(jshere, build_cmd="build:all"),
    ensure_targets([
        pjoin(jshere, "lib", "index.js"),
        pjoin(jshere, "style", "index.css")
    ]),
)

setup(
    name=name,
    version=version,
    description="Cell-by-cell tests for JupyterLab",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/jpmorganchase/nbcelltests",
    author="The nbcelltests authors",
    license="Apache 2.0",
    classifiers=[
        "Development Status :: 3 - Alpha",
        "Programming Language :: Python :: 3",
Exemple #19
0
]
data_files_spec = [
    ('share/jupyter/nbextensions/ipyspeck', 'ipyspeck/static', '*.*'),
    ('etc/jupyter/nbconfig/notebook.d', '.', 'ipyspeck.json'),
    ('share/streamlit/component/stspeck', 'ipyspeck/stspeck/frontend/build',
     '*.*'),
    ('share/streamlit/component/stspeck/static',
     'ipyspeck/stspeck/frontend/build/static', '*.*'),
    ('share/streamlit/component/stspeck/static/js',
     'ipyspeck/stspeck/frontend/build/static/js', '*.*'),
]

cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec)
cmdclass['jsdeps'] = combine_commands(
    install_npm(js_dir, build_cmd='build'),
    ensure_targets(jstargets),
    install_npm(js_dir2, build_cmd='build'),
    ensure_targets(jstargets2),
)

LONG_DESCRIPTION = ""
with open("README.md", "r") as fh:
    LONG_DESCRIPTION = fh.read()

setup_args = dict(
    name=name,
    version=version,
    description='Speck Jupyter Widget',
    long_description=LONG_DESCRIPTION,
    long_description_content_type="text/markdown",
    include_package_data=True,
Exemple #20
0
# Representative files that should exist after a successful build
jstargets = [
    pjoin(js_dir, 'dist', 'index.js'),
]

data_files_spec = [
    ('share/jupyter/nbextensions/ipyvue-flatsurf', 'ipyvue_flatsurf/nbextension', '*.*'),
    ('share/jupyter/labextensions/ipyvue-flatsurf', 'ipyvue_flatsurf/labextension', "**"),
    ("share/jupyter/labextensions/ipyvue-flatsurf", '.', "install.json"),
    ('etc/jupyter/nbconfig/notebook.d', '.', 'ipyvue-flatsurf.json'),
]

cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec)
cmdclass['jsdeps'] = combine_commands(
    install_npm(js_dir, npm=['yarn'], build_cmd='build:prod'), ensure_targets(jstargets),
)

setup_args = dict(
    name='ipyvue-flatsurf',
    version="0.5.5",
    description='Visualizations for Translations Surfaces in Jupyter Notebooks and JupyterLab',
    long_description='Visualizations for sage-flatsurf and pyflatsurf.',
    include_package_data=True,
    install_requires=[
        'ruamel.yaml>=0.17.10,<0.18',
        'sage-flatsurf>=0.4.4,<0.5',
        'pyflatsurf>=3.9.0,<4',
        'ipyvue-async>=0.1.0,<0.2',
        'jupyter-ui-poll>=0.2.1,<0.3',
        # We can only use versions of ipyvue that bundle the version of vue that
Exemple #21
0
# Representative files that should exist after a successful build
jstargets = [
    os.path.join('ipytree/nbextension', 'index.js'),
    os.path.join('ipytree/labextension', 'package.json'),
]

data_files_spec = [
    ('share/jupyter/nbextensions/ipytree', 'ipytree/nbextension', '**'),
    ('share/jupyter/labextensions/ipytree', 'ipytree/labextension', "**"),
    ('etc/jupyter/nbconfig/notebook.d', '.', 'ipytree.json'),
]

cmdclass = create_cmdclass('jsdeps', data_files_spec=data_files_spec)
js_command = combine_commands(
    install_npm(js_dir, npm=["yarn"], build_cmd='build'), ensure_targets(jstargets),
)

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_args = {
    'name': name,
    'version': version,
    'license': 'MIT License',
    'description': 'A Tree Widget using jsTree',
    'long_description': long_description,
    'include_package_data': True,
Exemple #22
0
    long_description = f.read()

requires = ["ipywidgets>=7.5.1"]

data_spec = [
    # Lab extension installed by default:
    ('share/jupyter/lab/extensions', 'lab-dist', 'ipydagred3-*.tgz'),
    # Config to enable server extension by default:
    ('etc/jupyter', 'jupyter-config', '**/*.json'),
]

cmdclass = create_cmdclass('js', data_files_spec=data_spec)
cmdclass['js'] = combine_commands(
    install_npm(here, build_cmd='build:all'),
    ensure_targets(
        [pjoin(here, 'lib', 'index.js'),
         pjoin(here, 'css', 'widget.css')]),
)

setup(
    name=name,
    version=version,
    description='ipywidgets wrapper around dagre-d3',
    long_description=long_description,
    long_description_content_type='text/markdown',
    url='https://github.com/timkpaine/ipydagred3',
    author='Tim Paine',
    author_email='*****@*****.**',
    license='Apache 2.0',
    classifiers=[
        'Development Status :: 3 - Alpha',
Exemple #23
0
}

data_files_spec = [
    ("share/jupyter/lab/extensions", lab_path, "*.tgz"),
    ("etc/jupyter/jupyter_notebook_config.d",
     "jupyter-config", "rucio_jupyterlab.json"),
]

cmdclass = create_cmdclass("jsdeps",
                           package_data_spec=package_data_spec,
                           data_files_spec=data_files_spec
                           )

cmdclass["jsdeps"] = combine_commands(
    install_npm(HERE, build_cmd="build:all", npm=["jlpm"]),
    ensure_targets(jstargets),
)

with open("README.md", "r") as fh:
    long_description = fh.read()

setup_args = dict(
    name=name,
    version=version,
    url="https://github.com/rucio/jupyterlab-extension",
    author="Muhammad Aditya Hilmy",
    description="JupyterLab extension for integrating Rucio",
    long_description=long_description,
    long_description_content_type="text/markdown",
    cmdclass=cmdclass,
    packages=setuptools.find_packages(),
Exemple #24
0
data_files_spec = [
    ("share/jupyter/labextensions/%s" % labext_name, lab_path, "**"),
    ("share/jupyter/labextensions/%s" % labext_name, HERE, "install.json"),
]

cmdclass = create_cmdclass("jsdeps",
                           package_data_spec=package_data_spec,
                           data_files_spec=data_files_spec)

# if the static assets already exist, do not invoke npm so we can make a wheel
# from the sdist package, since the npm build really only works from this
# repo.
jsbuild = []
if all(os.path.exists(f) for f in jstargets):
    jsbuild.append(install_npm(HERE, build_cmd="build:prod", npm=["jlpm"]))
jsbuild.append(ensure_targets(jstargets))

cmdclass["jsdeps"] = combine_commands(*jsbuild)

with open("README.md", "r") as fh:
    long_description = fh.read()

setup_args = dict(
    name=name,
    version=version,
    url="https://github.com/jupyter-widgets/ipywidgets",
    author="Jupyter Development Team",
    description="A JupyterLab extension.",
    long_description=long_description,
    long_description_content_type="text/markdown",
    cmdclass=cmdclass,