A hatch plugin to help build Jupyter packages
Project description
hatch-jupyter-builder
This provides a build hook plugin for Hatch that adds a build step for use with Jupyter packages.
Table of Contents
Installation
pip install hatch-jupyter-builder
License
hatch-jupyter-builder
is distributed under the terms of the MIT license.
Usage and Configuration
The build hook plugin name is jupyter-builder
.
-
pyproject.toml
[tool.hatch.build.hooks.jupyter-builder] dependencies = ["hatch-jupyter-builder"] build-function = "hatch_jupyter_builder.npm_builder" ensured-targets = ["foo/generated.txt"] install-pre-commit-hook = true [tool.hatch.build.hooks.jupyter-builder.build-kwargs] build_cmd = "build:src"
Options
The only required fields are dependencies
and build-function
.
The build function is defined as an importable string with a module and a function name, separated by a period. The function must accept a
target_name
(either "wheel" or "sdist"), and a version
(either "standard" or "editable") as its only positional arguments. E.g.
-
builder.py
def build_func(target_name, version): ...
Would be defined as build-function = "builder.build_func"
The optional ensured-targets
is a list of expected file paths after building a
"standard" version sdist or wheel.
The optional skip-if-exists
is a list of paths whose presence would cause
the build step to be skipped. This option is ignored in editable
mode.
The ensured-targets
will still be checked, if given.
The optional build-kwargs
is a set of keyword arguments to pass to the build
function.
You can also use editable-build-kwargs
if the parameters should differ
in editable mode. If only the build command is different, you can use
editable_build_cmd
in build-kwargs
instead.
The optional install-pre-commit-hook
boolean causes a pre-commit
hook to be installed during an editable install.
Npm Builder Function
This library provides a convenenice npm_builder
function which can be
used to build npm
assets as part of the build.
Migration
This library can be used to migrate from a setuptools
based package to
use hatch_jupyter_builder
. It will attempt to migrate jupyter-packaging
config as well, if present.
To migrate, run the following:
python -m hatch_jupyter_builder.migration .
The migration script will do most of the migration automatically, but will prompt you for anything it cannot do itself.
To compare dist files with a reference checkout, run the following:
python -m hatch_jupyter_builder.migration.compare <source_dir> <target_dir> sdist
Use wheel
to compare wheel file contents.
Local Development
To test this package locally with another package, use the following:
[tool.hatch.build.hooks.jupyter-builder]
dependencies = ["hatch-jupyter-builder@file://<path_to_this_repo>"]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hatch_jupyter_builder-0.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 339d05e03090ddc03252760fdb8e13337aba8d2b81b98cfcd026d8b46120dcd2 |
|
MD5 | 9c76f3d8bd255aa4a80a8bde53858cc6 |
|
BLAKE2b-256 | b14f4e1453ed72f5f460a58909309d4dc6ee09ab83525fdc3324bf1a364b41af |
Hashes for hatch_jupyter_builder-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5aedcdf568302fffe9df7d79bb74a49d9af40fd4fb8718f16ec75c01ab938f |
|
MD5 | 95813bb410c771bace8f9b2b12643e80 |
|
BLAKE2b-256 | 8258e7b650b24815c0000ce624332e613d22af43ae152ab85377672688822308 |