Skip to main content

Flexible Metadata Format

Project description

Flexible Metadata Format

Description

The fmf Python module and command line tool implement a flexible format for defining metadata in plain text files which can be stored close to the source code and structured in a hierarchical way with support for inheritance.

Although the proposal initially originated from user stories centered around test execution, the format is general and thus can be used in broader scenarios, e.g. test coverage mapping.

Using this approach it’s also possible to combine both test execution metadata and test coverage information. Thanks to elasticity and hierarchy it provides ability to organize data into well-sized text documents while preventing duplication.

Synopsis

Command line usage is straightforward:

fmf [path...] [options]

Examples

List all metadata stored in the current directory:

fmf

Show all test metadata (with ‘test’ attribute defined):

fmf --key test

List test names only:

fmf --key test --brief

Show metddata for all tree nodes (not only leaves):

fmf --key test --whole --brief

List all attributes for the wget/recursion tests:

fmf --key test --name wget/recursion

Show all covered requirements:

fmf --key requirement --key coverage

Search for all tests with the Tier1 tag defined and show a brief summary of what was found:

fmf --key test --filter tags:Tier1 --verbose

See fmf --help for complete list of available options.

Options

Here is the list of the most frequently used options.

Select

Limit which metadata should be listed.

--key=KEYS

Key content definition (required attributes)

--name=NAMES

List objects with name matching regular expression

--filter=FLTRS

Apply advanced filter when selecting objects

--whole

Consider the whole tree (leaves only by default)

Format

Choose the best format for showing the metadata.

--brief

Show object names only (no attributes)

--format=FMT

Output format (now: text, future: json, yaml)

Utils

Various utility options.

--verbose

Print additional information standard error output

--debug

Turn on debugging output, do not catch exceptions

See fmf --help for complete list of available options.

Install

Install from the Copr repository:

dnf copr enable psss/fmf
dnf install fmf

or use PIP (sudo required if not in a virtualenv):

pip install fmf

See documentation for more details about installation options.

Authors

Petr Šplíchal and Jakub Krysl.

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

fmf-0.2.1-py2-none-any.whl (15.2 kB view details)

Uploaded Python 2

File details

Details for the file fmf-0.2.1-py2-none-any.whl.

File metadata

File hashes

Hashes for fmf-0.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 b81f5637c0a97dca6a156d8816517af483e7c61e9effa384b6233cd2bd1f7186
MD5 455323578d03aec61d25146688d97f38
BLAKE2b-256 df99a6242d3fed6d4d27f1bbd9d3b8a3cc36318907a9ba0b7f21120d1815a630

See more details on using hashes here.

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