Query a program for supported features
The feature_check library obtains the list of supported features from a program via various methods and allows programs to check for the presence and, possibly, versions of specific features.
The feature_check library is fully typed.
Obtaining the features supported by a program
The obtain_features() function in the feature_check module runs a program with the appropriate option to obtain its list of features; the default is to pass the –features option, but this may be overridden. The obtain_features() function then examines the output to find a line that matches the specified prefix (or the default Features: ` prefix) and expects the rest of the line to be a whitespace-separated list of either feature names or `name=version pairs. It returns a dictionary of the features obtained with their versions (or 1.0 if only a feature name was found in the program’s output).
data = feature_check.obtain_features(“timelimit”) print(data.get(“subsecond”, “not supported”))
For programs that need a different command-line option to list features:
print(“SSL” in feature_check.obtain_features(“curl”, option=”–version”))
Testing for feature versions
The feature_check library also provides a simple expression evaluation mechanism for examining feature versions - the expr module defines several Expr and Result classes and also provides the parse_simple() function (also exported by feature_check() itself) for creating simple version comparisons:
data = feature_check.obtain_features(“timelimit”) expr = feature_check.parse_simple(“subsecond >= 1”) print(expr.evaluate(data).value)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size feature_check-0.2.1-py2.py3-none-any.whl (16.6 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size feature_check-0.2.1.tar.gz (9.7 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for feature_check-0.2.1-py2.py3-none-any.whl