예제 #1
0
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Framework :: Jupyter",
        "Framework :: Jupyter :: JupyterLab",
        "Framework :: Jupyter :: JupyterLab :: 3",
        "Framework :: Jupyter :: JupyterLab :: Extensions",
        "Framework :: Jupyter :: JupyterLab :: Extensions :: Prebuilt",
    ],
)

try:
    from jupyter_packaging import (wrap_installers, npm_builder,
                                   get_data_files)
    post_develop = npm_builder(build_cmd="install:extension",
                               source_dir="src",
                               build_dir=lab_path)
    setup_args["cmdclass"] = wrap_installers(post_develop=post_develop,
                                             ensured_targets=ensured_targets)
    setup_args["data_files"] = get_data_files(data_files_spec)
except ImportError as e:
    import logging
    logging.basicConfig(format="%(levelname)s: %(message)s")
    logging.warning(
        "Build tool `jupyter-packaging` is missing. Install it with pip or conda."
    )
    if not ("--name" in sys.argv or "--version" in sys.argv):
        raise e

if __name__ == "__main__":
    setuptools.setup(**setup_args)
예제 #2
0
def download_css_first(command):
    class CSSFirst(command):
        def run(self):
            self.distribution.run_command("download_css")
            return command.run(self)

    return CSSFirst


try:
    from jupyter_packaging import wrap_installers, npm_builder, get_data_files

    # In develop mode, just run yarn
    builder = npm_builder(build_cmd="build", npm="jlpm", force=True)
    cmdclass = wrap_installers(post_develop=builder,
                               ensured_targets=ensured_targets)

    cmdclass["download_css"] = FetchCSS
    cmdclass["develop"] = download_css_first(cmdclass["develop"])
    cmdclass["sdist"] = download_css_first(cmdclass["sdist"])
    cmdclass["bdist_wheel"] = download_css_first(cmdclass["bdist_wheel"])

    setup_args = dict(cmdclass=cmdclass,
                      data_files=get_data_files(data_files_spec))
except ImportError:
    setup_args = dict()

if __name__ == "__main__":
    setuptools.setup(**setup_args)
예제 #3
0
    data_files=get_data_files(data_files_spec),
    author=pkg_json["author"]["name"],
    author_email=pkg_json["author"]["email"],
    url=pkg_json["homepage"],
    license=pkg_json["license"],
    long_description=long_description,
    long_description_content_type="text/markdown",
    zip_safe=False,
    include_package_data=True,
    keywords=['Jupyter', 'JupyterLab', 'LaTeX'],
    python_requires='>=3.6',
    classifiers=[
        'Intended Audience :: Developers',
        'Intended Audience :: System Administrators',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: BSD License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Framework :: Jupyter',
    ],
    install_requires=['jupyterlab>=3,<4', 'jupyter_server>=1.6,<2'],
    cmdclass=wrap_installers(post_develop=post_develop,
                             ensured_targets=ensured_targets))

if __name__ == "__main__":
    setuptools.setup(**setup_dict)
예제 #4
0
from setuptools import setup

try:
    from jupyter_packaging import wrap_installers, npm_builder

    ensured_targets = ["jupyter_server/static/style/bootstrap.min.css"]
    cmdclass = wrap_installers(pre_develop=npm_builder(), ensured_targets=ensured_targets)
except ImportError:
    cmdclass = {}

setup(cmdclass=cmdclass)
예제 #5
0
jupyterlab_widgets setup
"""
from jupyter_packaging import (wrap_installers, npm_builder, get_data_files)
from pathlib import Path
from setuptools import setup

HERE = Path(__file__).parent.resolve()
IS_REPO = (HERE.parent / '.git').exists()
LAB_PATH = HERE / "jupyterlab_widgets" / "labextension"

# The name of the project
name = "jupyterlab_widgets"
labext_name = "@jupyter-widgets/jupyterlab-manager"

data_files_spec = [
    (f"share/jupyter/labextensions/{labext_name}", LAB_PATH, "**"),
    (f"share/jupyter/labextensions/{labext_name}", HERE, "install.json"),
]

post_develop = npm_builder(build_cmd="install:extension",
                           source_dir="src",
                           build_dir=LAB_PATH)

cmdclass = wrap_installers(post_develop=post_develop)

if __name__ == "__main__":
    setup(
        cmdclass=cmdclass,
        data_files=get_data_files(data_files_spec),
    )
예제 #6
0
파일: setup.py 프로젝트: manics/nbgitpuller
from jupyter_packaging import wrap_installers, npm_builder
from setuptools import find_packages, setup
from distutils.util import convert_path
import os.path

HERE = os.path.abspath(os.path.dirname(__file__))

# Representative files that should exist after a successful build
jstargets = [
    os.path.join(HERE, "nbgitpuller", "static", "dist", "bundle.js"),
]

# https://github.com/jupyter/jupyter-packaging/blob/0.10.4/README.md#as-a-build-requirement
jsdeps = npm_builder(build_cmd="webpack")
cmdclass = wrap_installers(
    pre_develop=jsdeps, pre_dist=jsdeps,
    ensured_targets=jstargets, skip_if_exists=jstargets)

# Imports __version__, reference: https://stackoverflow.com/a/24517154/2220152
ns = {}
ver_path = convert_path('nbgitpuller/version.py')
with open(ver_path) as ver_file:
    exec(ver_file.read(), ns)
__version__ = ns['__version__']

setup(
    name='nbgitpuller',
    version=__version__,
    url='https://github.com/jupyterhub/nbgitpuller',
    license='3-clause BSD',
    author='Peter Veerman, YuviPanda',
예제 #7
0
# Get the version
version = get_version(pjoin(name, "_version.py"))

HERE = os.path.abspath(os.path.dirname(__file__))

builder = npm_builder(path="js")

# Representative files that should exist after a successful build
jstargets = [
    pjoin(HERE, name, "nbextension", "index.js"),
    pjoin(HERE, "js", "lib", "plugin.js"),
]

cmdclass = wrap_installers(pre_develop=builder,
                           pre_dist=builder,
                           ensured_targets=jstargets)

# package_data_spec = {name: ["nbextension/**js*", "labextension/**"]}
# data_files_spec = [
#     ("share/jupyter/nbextensions/jupyter_jsmol", "jupyter_jsmol/nbextension", "**"),
#     ("share/jupyter/labextensions/jupyter_jsmol", "jupyter_jsmol/labextension", "**"),
#     ("etc/jupyter/nbconfig/notebook.d", ".", "jupyter_jsmol.json"),
# ]
# get_data_files(data_files_spec)

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

setup_args = dict(
    name=name,
예제 #8
0
HERE = os.path.dirname(os.path.abspath(__file__))

# The name of the project
namepy = "qsl"
namejs = "qslwidgets"

# Representative files that should exist after a successful build
jstargets = [
    os.path.join(HERE, namepy, "ui", "nbextension", "index.js"),
    os.path.join(HERE, namepy, "ui", "labextension", "package.json"),
]

builder = jp.npm_builder(os.path.join(HERE, namejs), build_cmd="build:prod")
cmdclass = jp.wrap_installers(
    pre_develop=builder,
    pre_dist=builder,
    ensured_targets=jstargets,
    skip_if_exists=jstargets,
)
setup_args = dict(
    name=namepy,
    description="A package for labeling image data quickly",
    version=jp.get_version(os.path.join(namepy, "version.py")),
    scripts=glob.glob(os.path.join("scripts", "*")),
    cmdclass=cmdclass,
    data_files=jp.get_data_files(
        data_specs=[
            ("share/jupyter/nbextensions/qslwidgets", "qsl/ui/nbextension", "**"),
            ("share/jupyter/labextensions/qslwidgets", "qsl/ui/labextension", "**"),
            ("share/jupyter/labextensions/qslwidgets", "qsl/ui/assets", "install.json"),
            ("etc/jupyter/nbconfig/notebook.d", "qsl/ui/assets", "qsl.json"),
        ]