flamapy-sdd
flamapy-sdd is a flamapy plugin that compiles a feature model
into a Sentential Decision Diagram (SDD) for exact analysis.
SDD is a knowledge-compilation language (a subset of d-DNNF, strictly more succinct than OBDD in cases), so it supports exact, polytime queries — model counting, consistency, conditioning — and can stay compact on models where a BDD blows up. It complements the ecosystem:
flamapy-bddcompiles to OBDD (exact, but can explode on large models).flamapy-sharpsatgives an approximate count (ApproxMC) for very large models.flamapy-sddgives an exact count via a more succinct compilation, on top of the SAT CNF.
It uses PySDD.
Installation
pip install flamapy-sdd
Operations
| Operation | Class |
|---|---|
| Exact number of configurations | SDDConfigurationsNumber |
| Satisfiable (non-void) | SDDSatisfiable |
| Core features | SDDCoreFeatures |
| Dead features | SDDDeadFeatures |
Usage
from flamapy.metamodels.fm_metamodel.transformations import UVLReader
from flamapy.metamodels.sdd_metamodel.transformations import FmToSDD
from flamapy.metamodels.sdd_metamodel.operations import SDDConfigurationsNumber
fm = UVLReader('model.uvl').transform()
sdd_model = FmToSDD(fm).transform()
count = SDDConfigurationsNumber().execute(sdd_model).get_result()
License
GPL-3.0-or-later.
Metadata
Release files for flamapy-sdd 2.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| flamapy_sdd-2.6.0.tar.gz | 9.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flamapy_sdd-2.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.6 kB
Release files / flamapy_sdd-2.6.0.tar.gz
| Download URL | flamapy_sdd-2.6.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7953f4f48838659d095a1f1840cfcc20c9f67bab532fe19a96e2121e64365b5e
|
|
BLAKE2b-256 checksum How to use checksums |
a3a133c5d3dc0bc57a72c5ffb4bfc7a462b3044082ee4edb95668e3d2f41701e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / flamapy_sdd-2.6.0-py3-none-any.whl
| Download URL | flamapy_sdd-2.6.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c425d277bfad6d6e6a210fbc25dbd0da8e3458e452ea3394390ad34a9642785
|
|
BLAKE2b-256 checksum How to use checksums |
e02758f3a493d2de5a94b846cf4897ce570dada92c57247c2d5b34f4eb3054aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for flamapy-sdd 2.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.