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.migrate .
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.compare_migration <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.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28cb0b23bc4e0f845199ad649b0fb46d3393a650d4e8e3ac758a505790d8dd0 |
|
MD5 | 009dc973f09f60878b1ac2a2fb834598 |
|
BLAKE2b-256 | 5129a8d332376128a72ed2d9738acdf760db8d039c5f95d8899123c2531487d4 |
Hashes for hatch_jupyter_builder-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28a3b9a10c04e233f5b2306728f6c92392ad5b1ba1887ae636519cb9cd2ee072 |
|
MD5 | 83fc0783ebc4069352de233bbdbc7f1d |
|
BLAKE2b-256 | a496d894d1be7c29deabdf3f559a34d67bceb6abac251ffc90e52713fca235b0 |