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
File details
Details for the file hatch_jupyter_builder-0.5.3.tar.gz
.
File metadata
- Download URL: hatch_jupyter_builder-0.5.3.tar.gz
- Upload date:
- Size: 50.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28cb0b23bc4e0f845199ad649b0fb46d3393a650d4e8e3ac758a505790d8dd0 |
|
MD5 | 009dc973f09f60878b1ac2a2fb834598 |
|
BLAKE2b-256 | 5129a8d332376128a72ed2d9738acdf760db8d039c5f95d8899123c2531487d4 |
File details
Details for the file hatch_jupyter_builder-0.5.3-py3-none-any.whl
.
File metadata
- Download URL: hatch_jupyter_builder-0.5.3-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28a3b9a10c04e233f5b2306728f6c92392ad5b1ba1887ae636519cb9cd2ee072 |
|
MD5 | 83fc0783ebc4069352de233bbdbc7f1d |
|
BLAKE2b-256 | a496d894d1be7c29deabdf3f559a34d67bceb6abac251ffc90e52713fca235b0 |