Skip to content

Commit

Permalink
Add hatch custom plugin to download the CSS
Browse files Browse the repository at this point in the history
  • Loading branch information
jtpio committed Sep 29, 2022
1 parent 9bee54f commit 2657172
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
51 changes: 51 additions & 0 deletions hatch_build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import os
import sys

from hatchling.builders.hooks.plugin.interface import BuildHookInterface
from urllib.request import urlopen


JUPYTERLAB_APPUTILS_VERSION = "3.2.8"
JUPYTERLAB_THEME_LIGHT_VERSION = "3.2.8"

CSS_FILES = [
(
f"https://unpkg.com/@jupyterlab/apputils@{JUPYTERLAB_APPUTILS_VERSION}/style/materialcolors.css",
"materialcolors.css",
),
(
f"https://unpkg.com/@jupyterlab/theme-light-extension@{JUPYTERLAB_THEME_LIGHT_VERSION}/style/variables.css",
"labvariables.css",
),
]


class CustomBuildHook(BuildHookInterface):
def initialize(self, version, build_data):
for template_name in ["classic", "reveal"]:
for url, filename in CSS_FILES:
directory = os.path.join(
"share", "jupyter", "voila", "templates", template_name, "static"
)
dest = os.path.join(directory, filename)
if not os.path.exists(directory):
os.makedirs(directory)
if not os.path.exists(".git") and os.path.exists(dest):
# not running from git, nothing to do
return
print("Downloading CSS: %s" % url)
try:
css = urlopen(url).read()
except Exception as e:
msg = "Failed to download css from %s: %s" % (url, e)
print(msg, file=sys.stderr)

if os.path.exists(dest):
print("Already have CSS: %s, moving on." % dest)
else:
raise OSError("Need CSS to proceed.")
return

with open(dest, "wb") as f:
f.write(css)
print("Downloaded Notebook CSS to %s" % dest)
11 changes: 11 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ artifacts = [
"share/jupyter/voila/templates"
]

[tool.hatch.build.hooks.custom]
path = "hatch_build.py"

[tool.hatch.build.targets.wheel.shared-data]
"etc/jupyter" = "etc/jupyter"
"voila/static" = "share/jupyter/nbextensions/voila"
Expand All @@ -102,9 +105,17 @@ dependencies = [
build-function = "hatch_jupyter_builder.npm_builder"
ensured-targets = [
"voila/labextension/static/style.js",
"share/jupyter/voila/templates/classic/static/materialcolors.css",
"share/jupyter/voila/templates/classic/static/labvariables.css",
"share/jupyter/voila/templates/reveal/static/materialcolors.css",
"share/jupyter/voila/templates/reveal/static/labvariables.css",
]
skip-if-exists = [
"voila/labextension/static/style.js",
"share/jupyter/voila/templates/classic/static/materialcolors.css",
"share/jupyter/voila/templates/classic/static/labvariables.css",
"share/jupyter/voila/templates/reveal/static/materialcolors.css",
"share/jupyter/voila/templates/reveal/static/labvariables.css",
]

[tool.hatch.build.hooks.jupyter-builder.editable-build-kwargs]
Expand Down

0 comments on commit 2657172

Please sign in to comment.