"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)
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)
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)
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)
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), )
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',
# 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,
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"), ]