Hatch plugin for building Apache NiFi NAR bundles
Project description
hatch-datavolo-nar
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.
Integrating
This project requires the Hatch project manager for Python with a working pyproject.toml configuration.
Build System
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"
Build Packages
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"]
Build Command
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.
Developing
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
Coding Conventions
This project uses the following tools to evaluate adherence to coding conventions:
- Coverage.py for code coverage
- mypy for typing
- Ruff for formatting
Versioning
This project follows the Semantic Versioning Specification 2.0.0.
Licensing
This project is distributed under the terms of the Apache License 2.0.
Project details
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_datavolo_nar-1.0.1.tar.gz
.
File metadata
- Download URL: hatch_datavolo_nar-1.0.1.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11a050c8a11c1481612061583ecb32e3d0f95bbfb3889f6159f593c77b58332a |
|
MD5 | 40c3df667f32f0b23d4d38fd063f69a7 |
|
BLAKE2b-256 | a8c490a48df03af89c3fcbf332864e3cbc2fa8ed941471dc5a31bb9e2cd5b253 |
File details
Details for the file hatch_datavolo_nar-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: hatch_datavolo_nar-1.0.1-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f6ecf2261dbf9b3b89c8e3dd33108e0f5f353a9d506e31ac051ec1d8a756925 |
|
MD5 | 7435cd35fd153fbcbefac43e8c3969e4 |
|
BLAKE2b-256 | 88ddb449627271a78fbb4a0b3ddb397bc6772f39f0264ed93e248ab5211e97e0 |