This project provides a Builder plugin for the Hatch Python project manager that enables building packaged archives for Apache NiFi. The NAR format uses the ZIP file structure, containing a manifest and NiFi components with dependencies.
This project requires the Hatch project manager for Python with a working pyproject.toml configuration.
The hatch-datavolo-nar
library must be added to the build-system.requires
field in a
pyproject.toml configuration
for Hatch to load the plugin.
[build-system]
requires = ["hatchling", "hatch-datavolo-nar"]
build-backend = "hatchling.build"
The hatch-datavolo-nar
plugin reads the Hatch
build configuration to select files for packaging.
The nar
build target should be configured with a packages
field that identifies the directory
containing Python files to be included.
The following configuration section provides an example for a project containing a processors
package
using the src layout
for directory organization:
[tool.hatch.build.targets.nar]
packages = ["src/processors"]
The hatch-datavolo-nar
plugin provides the nar
build target, which can be invoked using the Hatch build command.
hatch build -t nar
A Python NAR with platform-specific dependencies requires building on a machine with the same architecture as the runtime system.
Run the following Hatch command to build the project:
hatch build
The Python wheel can be referenced using a file URI in a project build system.
[build-system]
requires = ["hatchling", "hatch-datavolo-nar@file:///dist/hatch_datavolo_nar-0.1.0-py3-none-any.whl"]
build-backend = "hatchling.build"
The Hatch build environment caches build plugins, which requires pruning existing environments to use a new version of the plugin.
hatch env prune
This project uses the following tools to evaluate adherence to coding conventions:
This project follows the Semantic Versioning Specification 2.0.0.
This project is distributed under the terms of the Apache License 2.0.