Skip to main content

FaMaPy is a Python-based AAFM framework that takes into consideration previous AAFM tool designs and enables multi-solver and multi-metamodel support for the integration of AAFM tooling on the Python ecosystem.

Project description

core

FaMaPy is a Python-based AAFM framework that takes into consideration previous AAFM tool designs and enables multi-solver and multi-metamodel support for the integration of AAFM tooling on the Python ecosystem.

The main features of the framework are:

  • Easy to extend by enabling the creation of new plugins following a semi-automatic generator approach.
  • Support multiple variability models. Currently, it provides support for cardinality-based feature models. However, it is easy to integrate others such as attributed feature models
  • Support multiple solvers. Currently, it provides support for the PySAT metasolver, which enables more than ten different solvers.
  • Support multiple operations. It is developed, having in mind multi-model operations such as those depicted by Familiar and single-model operations.

Install development

Create virtualenv and install setup.py:

python3 -m venv env .
source env/bin/activate
pip install -e .  # Install package in development mode

IMPORTANT NOTE: this repository not work without metamodels, you need to install some metamodels

Execute tests

After you install the module, you can execute:

pytest

Install metamodels

There is at the moment two separate metamodels repository:

git clone git@github.com:diverso-lab/fm_metamodel.git
git clone git@github.com:diverso-lab/pysat_metamodel.git

You can install it inside the same virtualenv environment with:

pip install -e .

Review code quality and styles error

prospector

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

famapy-0.0.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

famapy-0.0.1-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page