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

Custom output format using the {} expansion

--value=VALUES

Values for the custom formatting string

See online documentation for details about custom format.

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, Jakub Krysl, Jan Ščotka, Alois Mahdal and Cleber Rosa.

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 Distributions

fmf-0.4.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

fmf-0.4.1-py2-none-any.whl (16.7 kB view details)

Uploaded Python 2

File details

Details for the file fmf-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fmf-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 24c04b9f25449ecdd08641e2a181e44236e51a600b4f23b3ee5825193c1faae9
MD5 ec89924ee51400b7903a917f5c131ade
BLAKE2b-256 e33ba0a6adf5283dcc2907e45204613113140198c59d8944add84df8720a55aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fmf-0.4.1-py2-none-any.whl
Algorithm Hash digest
SHA256 47572d5c21fa354b427f6b844029bb718106baa2ef9aca303969a1ec94987f02
MD5 bb368c256844237fe384f9facd8ab68b
BLAKE2b-256 6477d52bf18011d53b5b16132c525d7533a6be16cdb042f40f1d636270b600bc

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