===============
Getting Started
===============

Advanced Alchemy is a carefully crafted, thoroughly tested, optimized companion library for SQLAlchemy,
offering useful and easy-to-use features for your database projects.

.. seealso:: It is built on:

    * `SQLAlchemy <https://www.sqlalchemy.org/>`_
    * `Alembic <https://alembic.sqlalchemy.org/en/latest/>`_
    * `Typing Extensions <https://typing-extensions.readthedocs.io/en/latest/>`_

It's designed to work on it's own, but it equally as well when integrated with your favorite web framework.

We've built extensions for some of the most popular frameworks, so you can get the most out of Advanced Alchemy with minimal effort.

* `Litestar <https://docs.litestar.dev/>`_
* `FastAPI <https://fastapi.tiangolo.com/>`_
* `Starlette <https://www.starlette.io/>`_
* `Flask <https://flask.palletsprojects.com/>`_
* `Sanic <https://sanicframework.org/>`_

If your framework is not listed, don't worry! Advanced Alchemy is designed to be modular and easily integrated with any Python web framework.  Join our discord and we'll help you get started.

Installation
------------

Installing ``advanced-alchemy`` is as easy as calling your favorite Python package manager:

.. tab-set::

    .. tab-item:: pip
        :sync: key1

        .. code-block:: bash
            :caption: Using pip

            python3 -m pip install advanced-alchemy

    .. tab-item:: uv

        .. code-block:: bash
            :caption: Using `UV <https://docs.astral.sh/uv/>`_

            uv add advanced-alchemy

    .. tab-item:: pipx
        :sync: key2

        .. code-block:: bash
            :caption: Using `pipx <https://pypa.github.io/pipx/>`_

            pipx install advanced-alchemy


    .. tab-item:: pdm

        .. code-block:: bash
            :caption: Using `PDM <https://pdm.fming.dev/>`_

            pdm add advanced-alchemy

    .. tab-item:: Poetry

        .. code-block:: bash
            :caption: Using `Poetry <https://python-poetry.org/>`_

            poetry add advanced-alchemy
