Tool for creating FME Packages.
Project description
fme-packager: FME Package Creator
fme-packager
is a Python command-line tool for validating and creating FME Packages.
Give it the path to an FME Package directory, and it'll do some quick checks
and build an .fpkg
file out of it.
The validations done by fme-packager
will catch common mistakes in package development,
but is still very basic. The FME Packages it creates will be
validly formed according to the FME Packages Specification,
but whether the installed components function correctly within FME is not in its scope.
Install
Download the latest whl distribution from the releases page. Then install it:
$ pip install [fme-packager].whl
Once installed, the fme-packager
command is available on your system.
fme-packager --help
shows an overview of commands.
What it does
- Validate package.yml against the FME Packages Specification.
- Verifies that components listed in package.yml are present.
- Checks that transformer and format names are valid and well-formed.
- Verifies that the transformer version in the package.yml is included in the FMX.
- Requires that Custom Transformers be Linked Always, declare Python 3 support, and authored with a sufficiently recent version of FME Workbench.
- Excludes components that are present in directories, but not listed in package.yml.
- Cleans and rebuilds wheels for Python packages that are subdirectories of
python/
. - Copies wheels from
python/*/dist
intopython/
. - Enforces required package icon dimensions.
These steps are done while copying files into a temporary build directory, so existing files are not modified.
Get started with a template
fme-packager init [template name]
helps you get started with developing FME Packages by
using Cookiecutter templates.
Available templates:
transformer
: Transformer template for FME Packages
These templates are not currently bundled with fme-packager.
Make an fpkg distribution
Call fme-packager pack
with the path to your package directory (it contains package.yml):
$ fme-packager pack my-package
If everything went well, the fpkg will be in my-package/dist/
.
Development
Setup and Testing
To set up a development environment, clone this repository and install the dependencies:
$ pip install ".[dev]"
Install the pre-commit hooks:
$ pre-commit install
To run the tests:
$ pytest
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 fme_packager-1.9.0.tar.gz
.
File metadata
- Download URL: fme_packager-1.9.0.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad49e348529f50d75ddb767c85c8726f0b31d4a58745672abc3841f573fa0bc9 |
|
MD5 | 5bbd6b25dea2cf02bbe884b528d8d4c6 |
|
BLAKE2b-256 | 19efc147b2a960f34ad1fb3ecba3807c58171706a2d70c8320232f01afb434be |
File details
Details for the file fme_packager-1.9.0-py3-none-any.whl
.
File metadata
- Download URL: fme_packager-1.9.0-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 175757c8da86cab312b721a7bc45ea3f236e9829adf5e7d22137ded9782fcd47 |
|
MD5 | 7497ff6df1c52be32ab64176bb83edd4 |
|
BLAKE2b-256 | 96956ba83c2adc4df6261498f4baff20ab8578b49a787b49af78894324d7ec4a |