flamapy-bdd 2.1.0.dev0__tar.gz → 2.1.0.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/PKG-INFO +21 -6
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/models/bdd_model.py +2 -27
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_configurations.py +6 -3
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_configurations_number.py +1 -1
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_feature_inclusion_probability.py +6 -3
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_homogeneity.py +2 -1
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_sampling.py +4 -2
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_unique_features.py +2 -1
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/__init__.py +1 -1
- flamapy-bdd-2.1.0.dev0/flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd_pl.py → flamapy_bdd-2.1.0.dev1/flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd.py +7 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy_bdd.egg-info/PKG-INFO +21 -6
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy_bdd.egg-info/SOURCES.txt +2 -4
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy_bdd.egg-info/requires.txt +2 -2
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/setup.py +1 -1
- flamapy_bdd-2.1.0.dev1/tests/test_bdd_metamodel.py +616 -0
- flamapy-bdd-2.1.0.dev0/flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd.py +0 -28
- flamapy-bdd-2.1.0.dev0/flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd_cnf.py +0 -193
- flamapy-bdd-2.1.0.dev0/flamapy/metamodels/bdd_metamodel/transformations/sat_to_bdd.py +0 -51
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/README.md +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/__init__.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/models/__init__.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/models/utils/__init__.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/models/utils/txtcnf.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/__init__.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_commonality_factor.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_core_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_dead_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_metrics.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_product_distribution.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_pure_optional_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_satisfiable.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_satisfiable_configuration.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_variability.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/bdd_variant_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/__init__.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/commonality_factor.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/feature_inclusion_probability.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/homogeneity.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/product_distribution.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/pure_optional_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/unique_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/variability.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/operations/interfaces/variant_features.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/_bdd_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/dddmp_reader.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/dddmp_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/json_reader.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/json_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/pdf_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/pickle_reader.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/pickle_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/png_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy/metamodels/bdd_metamodel/transformations/svg_writer.py +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy_bdd.egg-info/dependency_links.txt +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/flamapy_bdd.egg-info/top_level.txt +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/pyproject.toml +0 -0
- {flamapy-bdd-2.1.0.dev0 → flamapy_bdd-2.1.0.dev1}/setup.cfg +0 -0
|
@@ -1,18 +1,35 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: flamapy-bdd
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev1
|
|
4
4
|
Summary: bdd-plugin for the automated analysis of feature models
|
|
5
5
|
Home-page: https://github.com/flamapy/bdd_metamodel
|
|
6
6
|
Author: Flamapy
|
|
7
7
|
Author-email: flamapy@us.es
|
|
8
|
-
License: UNKNOWN
|
|
9
|
-
Platform: UNKNOWN
|
|
10
8
|
Classifier: Programming Language :: Python :: 3
|
|
11
9
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
12
10
|
Classifier: Operating System :: OS Independent
|
|
13
11
|
Requires-Python: >=3.9
|
|
14
12
|
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: flamapy-fw~=2.1.0.dev1
|
|
14
|
+
Requires-Dist: flamapy-fm~=2.1.0.dev1
|
|
15
|
+
Requires-Dist: dd~=0.5.7
|
|
16
|
+
Requires-Dist: graphviz~=0.20
|
|
15
17
|
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: pytest; extra == "dev"
|
|
19
|
+
Requires-Dist: pytest-mock; extra == "dev"
|
|
20
|
+
Requires-Dist: prospector; extra == "dev"
|
|
21
|
+
Requires-Dist: mypy; extra == "dev"
|
|
22
|
+
Requires-Dist: coverage; extra == "dev"
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: author-email
|
|
25
|
+
Dynamic: classifier
|
|
26
|
+
Dynamic: description
|
|
27
|
+
Dynamic: description-content-type
|
|
28
|
+
Dynamic: home-page
|
|
29
|
+
Dynamic: provides-extra
|
|
30
|
+
Dynamic: requires-dist
|
|
31
|
+
Dynamic: requires-python
|
|
32
|
+
Dynamic: summary
|
|
16
33
|
|
|
17
34
|
# BDD plugin for flamapy
|
|
18
35
|
- [BDD plugin for flamapy](#bdd-plugin-for-flamapy)
|
|
@@ -212,5 +229,3 @@ Please try to follow the standards code quality to contribute to this plugin bef
|
|
|
212
229
|
|
|
213
230
|
`make mypy`
|
|
214
231
|
|
|
215
|
-
|
|
216
|
-
|
|
@@ -39,6 +39,8 @@ class BDDModel(VariabilityModel):
|
|
|
39
39
|
self.variables_features: dict[Any, Any] = {}
|
|
40
40
|
self._levels_variables: dict[int, Any] = {}
|
|
41
41
|
self._formula: Any = None
|
|
42
|
+
self.mapping_secure_names: dict[str, str] = {}
|
|
43
|
+
self.mapping_secure_names_inverted: dict[str, str] = {}
|
|
42
44
|
|
|
43
45
|
def build_bdd(self, expression: str) -> None:
|
|
44
46
|
"""Built a BDD from an expression representing a logical formula.
|
|
@@ -79,33 +81,6 @@ class BDDModel(VariabilityModel):
|
|
|
79
81
|
self.variables_features = dict(self.features_variables)
|
|
80
82
|
self._levels_variables = {level: var for var, level in self._bdd.var_levels.items()}
|
|
81
83
|
|
|
82
|
-
# @classmethod
|
|
83
|
-
# def from_logic_formula(cls,
|
|
84
|
-
# formula: str,
|
|
85
|
-
# variables: list[Any]) -> 'BDDModel':
|
|
86
|
-
# """Build the BDD from a logic formula, and the list of variables.
|
|
87
|
-
|
|
88
|
-
# The logic formula can be a CNF formula or a propositional logic formula.
|
|
89
|
-
# An optional features_variables and variables_features mapping can be provided
|
|
90
|
-
# to track safe features' and variables' names.
|
|
91
|
-
# """
|
|
92
|
-
# bdd_model = cls()
|
|
93
|
-
# # Store variables
|
|
94
|
-
# bdd_model._variables = variables
|
|
95
|
-
# # Declare variables
|
|
96
|
-
# bdd_model._bdd.declare(*variables)
|
|
97
|
-
# # Build the BDD
|
|
98
|
-
# bdd_model._root = bdd_model._bdd.add_expr(formula)
|
|
99
|
-
|
|
100
|
-
# # Reorder for optimization
|
|
101
|
-
# # Warning! Reordering may make the root starting to level > 0, and thus,
|
|
102
|
-
# # operations won't work correctly.
|
|
103
|
-
# #bdd_model._bdd.reorder()
|
|
104
|
-
|
|
105
|
-
# # Levels and variables (dict for optimization)
|
|
106
|
-
# bdd_model._levels_variables = {l: v for v, l in bdd_model._bdd.var_levels.items()}
|
|
107
|
-
# return bdd_model
|
|
108
|
-
|
|
109
84
|
def level_of_var(self, var: Any) -> Optional[int]:
|
|
110
85
|
"""Return the level of a given variable."""
|
|
111
86
|
return self._bdd.var_levels.get(var, None)
|
|
@@ -39,10 +39,12 @@ def configurations(
|
|
|
39
39
|
care_vars = set(bdd_model.variables_features)
|
|
40
40
|
elements = {}
|
|
41
41
|
else:
|
|
42
|
-
values =
|
|
42
|
+
values = {bdd_model.mapping_secure_names[f]: selected
|
|
43
|
+
for f, selected in partial_config.elements.items()}
|
|
43
44
|
u_func = bdd_model.bdd.let(values, bdd_model.root)
|
|
44
45
|
care_vars = set(bdd_model.variables_features) - set(values.keys())
|
|
45
|
-
elements =
|
|
46
|
+
elements = {bdd_model.mapping_secure_names[f]: selected
|
|
47
|
+
for f, selected in partial_config.elements.items()}
|
|
46
48
|
|
|
47
49
|
configs = []
|
|
48
50
|
for assignment in bdd_model.bdd.pick_iter(u_func, care_vars=care_vars):
|
|
@@ -50,5 +52,6 @@ def configurations(
|
|
|
50
52
|
bdd_model.variables_features[f]: True for f in assignment.keys() if assignment[f]
|
|
51
53
|
}
|
|
52
54
|
features = features | elements
|
|
53
|
-
|
|
55
|
+
new_features = {bdd_model.mapping_secure_names_inverted[f]: v for f, v in features.items()}
|
|
56
|
+
configs.append(Configuration(new_features))
|
|
54
57
|
return configs
|
|
@@ -39,7 +39,7 @@ def configurations_number(
|
|
|
39
39
|
n_vars = len(bdd_model.variables_features)
|
|
40
40
|
else:
|
|
41
41
|
values = {
|
|
42
|
-
bdd_model.features_variables[f]: selected
|
|
42
|
+
bdd_model.features_variables[bdd_model.mapping_secure_names[f]]: selected
|
|
43
43
|
for f, selected in partial_configuration.elements.items()
|
|
44
44
|
}
|
|
45
45
|
u_func = bdd_model.bdd.let(values, bdd_model.root)
|
|
@@ -51,17 +51,20 @@ def feature_inclusion_probability(
|
|
|
51
51
|
values = {variable: True}
|
|
52
52
|
u_func = bdd_model.bdd.let(values, bdd_model.root)
|
|
53
53
|
n_vars = len(bdd_model.variables_features) - len(values)
|
|
54
|
-
|
|
54
|
+
feature_real_name = bdd_model.mapping_secure_names_inverted[feature]
|
|
55
|
+
prob[feature_real_name] = bdd_model.bdd.count(u_func, nvars=n_vars) / total_configs
|
|
55
56
|
else:
|
|
56
57
|
values = {
|
|
57
|
-
bdd_model.features_variables[f]: selected
|
|
58
|
+
bdd_model.features_variables[bdd_model.mapping_secure_names[f]]: selected
|
|
59
|
+
for f, selected in config.elements.items()
|
|
58
60
|
}
|
|
59
61
|
for variable, feature in bdd_model.variables_features.items():
|
|
60
62
|
feature_selected = values.get(variable, None)
|
|
61
63
|
values = {variable: True}
|
|
62
64
|
u_func = bdd_model.bdd.let(values, bdd_model.root)
|
|
63
65
|
n_vars = len(bdd_model.variables_features) - len(values)
|
|
64
|
-
|
|
66
|
+
feature_real_name = bdd_model.mapping_secure_names_inverted[feature]
|
|
67
|
+
prob[feature_real_name] = bdd_model.bdd.count(u_func, nvars=n_vars) / total_configs
|
|
65
68
|
if feature_selected is None:
|
|
66
69
|
values.pop(variable)
|
|
67
70
|
else:
|
|
@@ -28,7 +28,8 @@ def homogeneity(bdd_model: BDDModel) -> float:
|
|
|
28
28
|
commonality_op = BDDCommonalityFactor()
|
|
29
29
|
|
|
30
30
|
for feature in bdd_model.features_variables:
|
|
31
|
-
|
|
31
|
+
feature_real_name = bdd_model.mapping_secure_names_inverted[feature]
|
|
32
|
+
config = Configuration(elements={feature_real_name: True})
|
|
32
33
|
commonality_op.set_configuration(config)
|
|
33
34
|
commonality_sum += commonality_op.execute(bdd_model).get_result()
|
|
34
35
|
return commonality_sum / len(bdd_model.variables_features)
|
|
@@ -80,7 +80,8 @@ def random_configuration(
|
|
|
80
80
|
values = {}
|
|
81
81
|
else:
|
|
82
82
|
values = {
|
|
83
|
-
bdd_model.features_variables[f]: selected
|
|
83
|
+
bdd_model.features_variables[bdd_model.mapping_secure_names[f]]: selected
|
|
84
|
+
for f, selected in p_config.elements.items()
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
# Set the BDD nodes with the already known features values
|
|
@@ -107,5 +108,6 @@ def random_configuration(
|
|
|
107
108
|
|
|
108
109
|
n_vars -= 1
|
|
109
110
|
return Configuration(
|
|
110
|
-
{bdd_model.variables_features[v]: selected
|
|
111
|
+
{bdd_model.mapping_secure_names_inverted[bdd_model.variables_features[v]]: selected
|
|
112
|
+
for v, selected in values.items()}
|
|
111
113
|
)
|
|
@@ -38,7 +38,8 @@ def unique_features(bdd_model: BDDModel, config: Optional[Configuration] = None)
|
|
|
38
38
|
unique_features_list.append(feature)
|
|
39
39
|
else:
|
|
40
40
|
values = {
|
|
41
|
-
bdd_model.features_variables[f]: selected
|
|
41
|
+
bdd_model.features_variables[bdd_model.mapping_secure_names[f]]: selected
|
|
42
|
+
for f, selected in config.elements.items()
|
|
42
43
|
}
|
|
43
44
|
for variable, feature in bdd_model.variables_features.items():
|
|
44
45
|
feature_selected = values.get(variable, None)
|
|
@@ -6,6 +6,7 @@ from flamapy.core.models.ast import ASTOperation
|
|
|
6
6
|
from flamapy.core.transformations import ModelToModel
|
|
7
7
|
from flamapy.metamodels.fm_metamodel.models import FeatureModel, Feature, Relation, Constraint
|
|
8
8
|
from flamapy.metamodels.bdd_metamodel.models import BDDModel
|
|
9
|
+
from flamapy.metamodels.fm_metamodel.transformations import FMSecureFeaturesNames
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class FmToBDD(ModelToModel):
|
|
@@ -23,11 +24,17 @@ class FmToBDD(ModelToModel):
|
|
|
23
24
|
self._counter: int = 0
|
|
24
25
|
|
|
25
26
|
def transform(self) -> BDDModel:
|
|
27
|
+
fm_secure_names_op = FMSecureFeaturesNames(self.source_model)
|
|
28
|
+
self.source_model = fm_secure_names_op.transform()
|
|
26
29
|
self.destination_model = BDDModel()
|
|
27
30
|
for feature in self.source_model.get_features():
|
|
28
31
|
self._add_feature(feature)
|
|
29
32
|
formula = self._traverse_feature_tree()
|
|
30
33
|
self.destination_model.build_bdd(formula)
|
|
34
|
+
|
|
35
|
+
self.destination_model.mapping_secure_names = fm_secure_names_op.mapping_names
|
|
36
|
+
msn_inverted = {val: key for key, val in fm_secure_names_op.mapping_names.items()}
|
|
37
|
+
self.destination_model.mapping_secure_names_inverted = msn_inverted
|
|
31
38
|
return self.destination_model
|
|
32
39
|
|
|
33
40
|
def _add_feature(self, feature: Feature) -> str:
|
|
@@ -1,18 +1,35 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: flamapy-bdd
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev1
|
|
4
4
|
Summary: bdd-plugin for the automated analysis of feature models
|
|
5
5
|
Home-page: https://github.com/flamapy/bdd_metamodel
|
|
6
6
|
Author: Flamapy
|
|
7
7
|
Author-email: flamapy@us.es
|
|
8
|
-
License: UNKNOWN
|
|
9
|
-
Platform: UNKNOWN
|
|
10
8
|
Classifier: Programming Language :: Python :: 3
|
|
11
9
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
12
10
|
Classifier: Operating System :: OS Independent
|
|
13
11
|
Requires-Python: >=3.9
|
|
14
12
|
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: flamapy-fw~=2.1.0.dev1
|
|
14
|
+
Requires-Dist: flamapy-fm~=2.1.0.dev1
|
|
15
|
+
Requires-Dist: dd~=0.5.7
|
|
16
|
+
Requires-Dist: graphviz~=0.20
|
|
15
17
|
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: pytest; extra == "dev"
|
|
19
|
+
Requires-Dist: pytest-mock; extra == "dev"
|
|
20
|
+
Requires-Dist: prospector; extra == "dev"
|
|
21
|
+
Requires-Dist: mypy; extra == "dev"
|
|
22
|
+
Requires-Dist: coverage; extra == "dev"
|
|
23
|
+
Dynamic: author
|
|
24
|
+
Dynamic: author-email
|
|
25
|
+
Dynamic: classifier
|
|
26
|
+
Dynamic: description
|
|
27
|
+
Dynamic: description-content-type
|
|
28
|
+
Dynamic: home-page
|
|
29
|
+
Dynamic: provides-extra
|
|
30
|
+
Dynamic: requires-dist
|
|
31
|
+
Dynamic: requires-python
|
|
32
|
+
Dynamic: summary
|
|
16
33
|
|
|
17
34
|
# BDD plugin for flamapy
|
|
18
35
|
- [BDD plugin for flamapy](#bdd-plugin-for-flamapy)
|
|
@@ -212,5 +229,3 @@ Please try to follow the standards code quality to contribute to this plugin bef
|
|
|
212
229
|
|
|
213
230
|
`make mypy`
|
|
214
231
|
|
|
215
|
-
|
|
216
|
-
|
|
@@ -37,18 +37,16 @@ flamapy/metamodels/bdd_metamodel/transformations/_bdd_writer.py
|
|
|
37
37
|
flamapy/metamodels/bdd_metamodel/transformations/dddmp_reader.py
|
|
38
38
|
flamapy/metamodels/bdd_metamodel/transformations/dddmp_writer.py
|
|
39
39
|
flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd.py
|
|
40
|
-
flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd_cnf.py
|
|
41
|
-
flamapy/metamodels/bdd_metamodel/transformations/fm_to_bdd_pl.py
|
|
42
40
|
flamapy/metamodels/bdd_metamodel/transformations/json_reader.py
|
|
43
41
|
flamapy/metamodels/bdd_metamodel/transformations/json_writer.py
|
|
44
42
|
flamapy/metamodels/bdd_metamodel/transformations/pdf_writer.py
|
|
45
43
|
flamapy/metamodels/bdd_metamodel/transformations/pickle_reader.py
|
|
46
44
|
flamapy/metamodels/bdd_metamodel/transformations/pickle_writer.py
|
|
47
45
|
flamapy/metamodels/bdd_metamodel/transformations/png_writer.py
|
|
48
|
-
flamapy/metamodels/bdd_metamodel/transformations/sat_to_bdd.py
|
|
49
46
|
flamapy/metamodels/bdd_metamodel/transformations/svg_writer.py
|
|
50
47
|
flamapy_bdd.egg-info/PKG-INFO
|
|
51
48
|
flamapy_bdd.egg-info/SOURCES.txt
|
|
52
49
|
flamapy_bdd.egg-info/dependency_links.txt
|
|
53
50
|
flamapy_bdd.egg-info/requires.txt
|
|
54
|
-
flamapy_bdd.egg-info/top_level.txt
|
|
51
|
+
flamapy_bdd.egg-info/top_level.txt
|
|
52
|
+
tests/test_bdd_metamodel.py
|
|
@@ -18,7 +18,7 @@ dev_requirements = read_requirements("requirements-dev.txt")
|
|
|
18
18
|
|
|
19
19
|
setuptools.setup(
|
|
20
20
|
name="flamapy-bdd",
|
|
21
|
-
version="2.1.0.
|
|
21
|
+
version="2.1.0.dev1",
|
|
22
22
|
author="Flamapy",
|
|
23
23
|
author_email="flamapy@us.es",
|
|
24
24
|
description="bdd-plugin for the automated analysis of feature models",
|