Skip to main content

Tools for extending Safe Software's FME using Python.

Project description

fmetools: helpers for FME Python

fmetools is a Python library that streamlines the development of Python-based formats and transformers that can be shared as FME Packages on FME Hub. It provides base classes and utilities that make it easy to get started.

This library is built on top of the Python fmeobjects API that's included with FME.

Installation

Developers of FME Packages use fmetools by including a private copy it in their FME Package. This process is called vendorization, and can be done using the vendorize tool on PyPI.

This library is distributed as a wheel, but it should not be installed with pip install.

For maintainers of fmetools

  1. Start with a clean environment
  2. Install dev requirements using pip install -r requirements.txt
  3. Do a dev install using pip install --editable .
  4. Run tests using pytest
  5. Build wheel using python -m build --wheel

fmetools changes

0.6.0

  • Rename fmetools.plugins.FMETransformer to FMEBaseTransformer to avoid potential confusion with fmeobjects.FMETransformer. Instantiating fmetools.plugins.FMETransformer now emits a warning, and will be removed in a future release.
  • fmetools.paramparsing.TransformerParameterParser: Support FME >= b23264.

0.5.1

  • Add fmetools.paramparsing.TransformerParameterParser: a class for parsing internal attribute values from transformer parameters. Requires FME 2023.
  • Require Python 3.7+.

0.4.4

  • Fixed error when parsing custom proxy URLs starting with 'http'

0.4.3

  • Support new GUI types CHECKBOX and CHOICE.

0.4.2

  • Prepare for PyPI release.

0.4.0

  • Support new GUI types ACTIVECHOICE_LOOKUP and NAMED_CONNECTION.
  • Int and float GUI types: parse empty string to None instead of raising ValueError.

0.3.1

  • Fix FMESession leak in parsers.parse_def_line().

0.3.0

  • Add guiparams module, for parsing GUI parameter values. This initial implementation supports just a small subset of GUI types.

0.2.0

  • Remove FMEEnhancedTransformer.keyword and replace its usages with FMETransformer.factory_name.
  • Use relative imports, to support copy-paste vendorization.

0.1.4

  • Add hasSupportFor() to plugins.FMESimplifiedReader to allow for reader bulk mode support.

0.1.3

  • Add webservices.set_session_auth_from_named_connection() to honour SSL verification settings on Named Connections.

0.1.2

  • Add has_support_for() to plugins.FMETransformer to enable transformer bulk mode support.

0.1.1

  • Maintain Python 2.7 support.

0.1.0

  • Respect web connection token placement settings.

0.0.2

  • Added localization utilities.
  • Updated logging infrastructure.

0.0.1

  • Initial packaging of utility functions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fmetools-0.6.0-py2.py3-none-any.whl (32.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page