REST / SWAGGER
Using the flamapy-rest plugin
REST (Representational State Transfer) is an architectural style for designing networked applications. It relies on a stateless, client-server communication protocol, usually HTTP. RESTful services allow resources, identified by URIs (Uniform Resource Identifiers), to be manipulated using a standard set of HTTP methods such as GET, POST, PUT, DELETE. This approach simplifies interactions between clients and servers, making it easier to build scalable and flexible web services.
Swagger, now part of the OpenAPI Initiative, is a powerful toolset for developing and documenting RESTful APIs. It provides a standard way to describe the structure of your APIs, enabling both humans and computers to understand the capabilities of the service without direct access to the source code or documentation. Swagger includes an intuitive user interface that allows developers to interact with the API endpoints, try out various requests, and visualize responses. This makes it an invaluable resource for both creating and consuming APIs, ensuring consistency, and improving the overall developer experience.
flamapy offers a package that enable REST/SWAGGER access to the flamapy facade. To use it, it is mandatoy to install this plugin appart. Take into account that it will add several dependencies.
pip install flamapy-rest
Later, you should run the server within.
gunicorn --bind 0.0.0.0:8000 app:app
Also a working version is available on onRender HERE
Swagger operations
Currently the SWAGGER documents the following operations
- 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