Quick Start - flarchitect
Description: This guide walks you through building a minimal API with flarchitect. You’ll define your models, configure a Flask application, spin up the server, and test the endpoints. Installation: Install the...

Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# Quick Start

This guide walks you through building a minimal API with flarchitect. You’ll define your models, configure a Flask application, spin up the server, and test the endpoints.

## Installation

Install the package via pip.

    pip install flarchitect

## Define your models

Define your models using SQLAlchemy. `flarchitect` automatically resolves the active database session, whether you’re using Flask-SQLAlchemy or plain SQLAlchemy, so no special `get_session` method is required.

    from flask_sqlalchemy import SQLAlchemy
    from sqlalchemy.orm import DeclarativeBase

    class BaseModel(DeclarativeBase):
        pass

    db = SQLAlchemy(model_class=BaseModel)

    class Author(db.Model):
        __tablename__ = "author"

        class Meta:
            tag = "Author"
            tag_group = "People/Companies"

This setup gives flarchitect access to your models. The library automatically locates the active SQLAlchemy session. For non-Flask setups, a custom session resolver can be supplied via `API_SESSION_GETTER` in the Flask config.

## Configure Flask

Register the extension with a Flask app and supply configuration values.

    from flask import Flask
    from flarchitect import Architect

    app = Flask(__name__)

    app.config["API_TITLE"] = "My API"
    app.config["API_VERSION"] = "1.0"
    app.config["API_BASE_MODEL"] = db.Model

    architect = Architect(app)

These settings tell flarchitect how to build the API and where to find your models.

## Spin up the app

Run the development server to expose the generated routes.

    if __name__ == "__main__":
        app.run(debug=True)

Launching the server makes the automatically generated API available.

## Test the endpoints

Use `curl` to call an endpoint and view the response.

    curl http://localhost:5000/api/author

Example response:

    [
      {"id": 1, "name": "Test Author"}
    ]

A JSON array confirms the API is up and responding as expected.