Python facade
Easy to use python facade
Using Python as a scripting language can be highly convenient for developing scripts and integrating our analysis into other processes. However, learning a framework as complex as flamapy can initially seem overwhelming. To alleviate this, flamapy provides a straightforward method for executing the most common operations in Python.
After installing flamapy we can use the tool as easy as
from flamapy.interfaces.python.flamapy_feature_model import FLAMAFeatureModel
# Load the feature model
fm = FLAMAFeatureModel("path/to/feature/model")
# This method could be called with the param with_sat: bool = True if you want to force pysat (useful for WASM enviroments)
result = fm.satisfiable()
print(result)
As you might notice, this interface is heavily inspired in the way FAMILIAR worked in the java 6 years
Supported operations
You can find a comprehensive list of the supported operations for the command line and code snipets if you want to run them:
- Atomic Sets
- Average Branching Factor
- Commonality
- Configurations
- Number of Configurations
- Conflict Detection
- Core Features
- Count Leafs
- Dead Features
- Estimated Number of Configurations
- False Optional Features
- Feature Ancestors
- Filter
- Leaf Features
- Max Depth
- Satisfiable
- Satisfiable Configuration
- Unique Features