DEV Community

Developer's Hub
Developer's Hub

Posted on

Installation Steps for creating Async APIs using FastAPI

To create a backend with FastAPI using asynchronous APIs and PostgreSQL, you will need a set of libraries that support the Python asyncio event loop. 

For a modern 2026 stack, the following libraries are recommended: 

1. Core Framework & Server 

  • FastAPI: The web framework for building your APIs.
  • Uvicorn: An ASGI server required to run your FastAPI application. Use the [standard] extra for high-performance dependencies like uvloop.

    bash

    pip install fastapi "uvicorn[standard]"
    

    Use code with caution.

     

2. Database Driver (Async) 

For PostgreSQL specifically, you need an asynchronous driver. 

  • asyncpg: Widely regarded as the fastest asynchronous PostgreSQL client library for Python.
  • psycopg (v3): A modern alternative that supports both sync and async operations natively.

    bash

    pip install asyncpg
    # OR
    pip install "psycopg[binary]"
    

    Use code with caution.

     

3. ORM & Data Models 

You can use SQLAlchemy 2.0+ directly or SQLModel, which combines SQLAlchemy and Pydantic. 

  • SQLAlchemy: Ensure you use the [asyncio] extra for built-in async support.
  • SQLModel: A wrapper that simplifies using SQLAlchemy with Pydantic, designed specifically for FastAPI.

    bash

    pip install "sqlalchemy[asyncio]"
    # OR
    pip install sqlmodel
    

    Use code with caution.

     

4. Database Migrations 

  • Alembic: The standard tool for handling database schema migrations. While it runs synchronously, it can be configured to work with async drivers in your env.py file.

    bash

    pip install alembic
    

    Use code with caution.

     

5. Utility & Configuration 

  • pydantic-settings: For managing environment variables and application configurations.
  • python-dotenv: To load configuration from .env files.

    bash

    pip install pydantic-settings python-dotenv
    

    Use code with caution.

     

Summary Installation Command 

You can install the primary "async stack" with this single command: 

bash

pip install fastapi "uvicorn[standard]" "sqlalchemy[asyncio]" asyncpg sqlmodel alembic pydantic-settings
Enter fullscreen mode Exit fullscreen mode

Use code with caution.

Note on Connection Strings: When using these libraries, ensure your database URL starts with postgresql+asyncpg:// instead of the standard postgresql:// to trigger the asynchronous engine.

Top comments (0)