Skip to main content

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-bdd compiles to OBDD (exact, but can explode on large models).
  • flamapy-sharpsat gives an approximate count (ApproxMC) for very large models.
  • flamapy-sdd gives 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)

Source distribution for flamapy-sdd 2.6.0
File Size Uploaded Provenance
flamapy_sdd-2.6.0.tar.gz 9.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for flamapy-sdd 2.6.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page