All Projects → psss → fmf

psss / fmf

Licence: GPL-2.0 License
Flexible Metadata Format

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to fmf

idr-metadata
Curated metadata for all studies published in the Image Data Resource
Stars: ✭ 12 (-25%)
Mutual labels:  yaml, metadata
Ruby Advisory Db
A database of vulnerable Ruby Gems
Stars: ✭ 821 (+5031.25%)
Mutual labels:  yaml, metadata
ide-yaml
Atom-IDE support for YAML language
Stars: ✭ 16 (+0%)
Mutual labels:  yaml
parse-md
Parse Markdown file's metadata from its content
Stars: ✭ 15 (-6.25%)
Mutual labels:  metadata
yorm
Automatic object-YAML mapping for Python.
Stars: ✭ 23 (+43.75%)
Mutual labels:  yaml
StackMob-3
A plugin designed for bukkit servers, aiming to reduce the lag that both the server and players experience.
Stars: ✭ 23 (+43.75%)
Mutual labels:  yaml
Simple-YAML
A Java API that provides an easy-to-use way to store data using the YAML format.
Stars: ✭ 68 (+325%)
Mutual labels:  yaml
postcss-font-grabber
A postcss plugin, it grabs remote font files and update your CSS, just like that.
Stars: ✭ 26 (+62.5%)
Mutual labels:  metadata
Azure-AKS-ApplicationGateway-WAF
No description or website provided.
Stars: ✭ 16 (+0%)
Mutual labels:  yaml
home assistant config
HomeAssistant.io Configuration Files
Stars: ✭ 110 (+587.5%)
Mutual labels:  yaml
hitchstory
Type-safe, StrictYAML based BDD framework for python.
Stars: ✭ 24 (+50%)
Mutual labels:  yaml
isogeo-plugin-qgis
Isogeo plugin for QGIS
Stars: ✭ 13 (-18.75%)
Mutual labels:  metadata
169254
📟 A simple API that simulate AWS EC2's metadata endpoint
Stars: ✭ 15 (-6.25%)
Mutual labels:  metadata
pollly
The simplest editor to translate apps & sites for YML files. Fast and Simple. Try now!
Stars: ✭ 32 (+100%)
Mutual labels:  yaml
nft.storage
😋 Free decentralized storage and bandwidth for NFTs on IPFS and Filecoin.
Stars: ✭ 309 (+1831.25%)
Mutual labels:  metadata
config
Simple configuration management for PHP
Stars: ✭ 15 (-6.25%)
Mutual labels:  yaml
HomeAssistant
My Home Assistant Configuration
Stars: ✭ 71 (+343.75%)
Mutual labels:  yaml
QueryArrow
A semantically unified SQL and NoSQL query and update system
Stars: ✭ 17 (+6.25%)
Mutual labels:  metadata
feast-java
Feast Java Components
Stars: ✭ 12 (-25%)
Mutual labels:  metadata
fluidpatcher
A performance-oriented patch interface for FluidSynth
Stars: ✭ 41 (+156.25%)
Mutual labels:  yaml

fmf

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 command [options]

There are following commands available:

fmf ls      List identifiers of available objects
fmf show    Show metadata of available objects
fmf init    Initialize a new metadata tree
fmf clean   Remove cache directory and its content

Examples

List names of all objects stored in the metadata tree:

fmf ls

Show all test metadata (with 'test' attribute defined):

fmf show --key test

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

fmf show --key test --whole

List all attributes for the /recursion tests:

fmf show --key test --name /recursion

Show all covered requirements:

fmf show --key requirement --key coverage

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

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

Use arbitrary Python expressions to access deeper objects and create more complex conditions:

fmf show --condition "execute['how'] == 'shell'"

Initialize a new metadata tree in the current directory:

fmf init

Check help message of individual commands for the full 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
--condition=EXPR
 Use arbitrary Python expression for filtering
--whole Consider the whole tree (leaves only by default)

For filtering regular expressions can be used as well. See pydoc fmf.filter for advanced filtering options.

Format

Choose the best format for showing the metadata.

--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.

--path PATHS Path to the metadata tree (default: current directory)
--verbose Print additional information standard error output
--debug Turn on debugging output, do not catch exceptions

Check help message of individual commands for the full list of available options.

Install

The fmf package is available in Fedora and EPEL:

dnf install fmf

Install the latest version from the Copr repository:

dnf copr enable psss/fmf
dnf install fmf

or use PIP:

pip install fmf

See documentation for more details about installation options.

Variables

Here is the list of environment variables understood by fmf:

FMF_CACHE_DIRECTORY
Directory used to cache git clone calls for fmf identifiers.

Links

Git: https://github.com/psss/fmf

Docs: http://fmf.readthedocs.io/

Issues: https://github.com/psss/fmf/issues

Releases: https://github.com/psss/fmf/releases

Copr: http://copr.fedoraproject.org/coprs/psss/fmf

PIP: https://pypi.org/project/fmf/

Travis: https://travis-ci.org/psss/fmf

Coveralls: https://coveralls.io/github/psss/fmf

Authors

Petr Šplíchal, Miro Hrončok, Jakub Krysl, Jan Ščotka, Alois Mahdal, Cleber Rosa, Miroslav Vadkerti, Lukáš Zachar and František Nečas.

Copyright

Copyright (c) 2018-2021 Red Hat, Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].