{"id":15002609,"url":"https://github.com/litestar-org/advanced-alchemy","last_synced_at":"2026-04-03T22:05:15.255Z","repository":{"id":194851414,"uuid":"687666119","full_name":"litestar-org/advanced-alchemy","owner":"litestar-org","description":"A carefully crafted, thoroughly tested, optimized companion library for SQLAlchemy","archived":false,"fork":false,"pushed_at":"2025-05-12T18:36:15.000Z","size":6160,"stargazers_count":536,"open_issues_count":25,"forks_count":47,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-14T18:02:19.319Z","etag":null,"topics":["alembic","cockroachdb","duckdb","fastapi","flask","litestar","litestar-org","mssql","mysql","oracle-db","postgresql","repository-pattern","sanic","spanner","sqlalchemy","sqlite","starlette"],"latest_commit_sha":null,"homepage":"http://docs.advanced-alchemy.litestar.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/litestar-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["litestar-org"],"open_collective":"litestar","polar":"litestar-org"}},"created_at":"2023-09-05T18:45:18.000Z","updated_at":"2025-05-14T17:05:04.000Z","dependencies_parsed_at":"2024-01-21T04:24:07.924Z","dependency_job_id":"55ad0177-5151-4560-b0af-c745171904b8","html_url":"https://github.com/litestar-org/advanced-alchemy","commit_stats":{"total_commits":290,"total_committers":27,"mean_commits":10.74074074074074,"dds":0.3413793103448276,"last_synced_commit":"95492689c24886c873ae8cfb0349c35d44a2be5d"},"previous_names":["jolt-org/advanced-alchemy","litestar-org/advanced-alchemy"],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Fadvanced-alchemy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Fadvanced-alchemy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Fadvanced-alchemy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litestar-org%2Fadvanced-alchemy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/litestar-org","download_url":"https://codeload.github.com/litestar-org/advanced-alchemy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198452,"owners_count":22030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alembic","cockroachdb","duckdb","fastapi","flask","litestar","litestar-org","mssql","mysql","oracle-db","postgresql","repository-pattern","sanic","spanner","sqlalchemy","sqlite","starlette"],"created_at":"2024-09-24T18:51:29.181Z","updated_at":"2026-03-09T02:09:55.831Z","avatar_url":"https://github.com/litestar-org.png","language":"Python","funding_links":["https://github.com/sponsors/litestar-org","https://opencollective.com/litestar","https://polar.sh/litestar-org"],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable --\u003e\n\u003cp align=\"center\"\u003e\n  \u003c!-- github-banner-start --\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/AA%20-%20Banner%20-%20Inline%20-%20Dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/AA%20-%20Banner%20-%20Inline%20-%20Light.svg\"\u003e\n    \u003cimg alt=\"Advanced Alchemy Logo\" src=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/AA%20-%20Banner%20-%20Inline%20-%20Light.svg\" width=\"100%\" height=\"auto\" /\u003e\n  \u003c/picture\u003e\n  \u003c!-- github-banner-end --\u003e\n\u003c/p\u003e\n\u003cdiv align=\"center\"\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n\n| Project   | Status                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| CI/CD     | [![Latest Release](https://github.com/litestar-org/advanced-alchemy/actions/workflows/publish.yml/badge.svg)](https://github.com/litestar-org/advanced-alchemy/actions/workflows/publish.yml) [![ci](https://github.com/litestar-org/advanced-alchemy/actions/workflows/ci.yml/badge.svg)](https://github.com/litestar-org/advanced-alchemy/actions/workflows/ci.yml) [![Documentation Building](https://github.com/litestar-org/advanced-alchemy/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/litestar-org/advanced-alchemy/actions/workflows/docs.yml)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |\n| Quality   | [![Coverage](https://codecov.io/github/litestar-org/advanced-alchemy/graph/badge.svg?token=vKez4Pycrc)](https://codecov.io/github/litestar-org/advanced-alchemy) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=litestar-org_advanced-alchemy\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=litestar-org_advanced-alchemy) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=litestar-org_advanced-alchemy\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=litestar-org_advanced-alchemy) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=litestar-org_advanced-alchemy\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=litestar-org_advanced-alchemy) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=litestar-org_advanced-alchemy\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=litestar-org_advanced-alchemy)                                                                                                    |\n| Package   | [![PyPI - Version](https://img.shields.io/pypi/v/advanced-alchemy?labelColor=202235\u0026color=edb641\u0026logo=python\u0026logoColor=edb641)](https://badge.fury.io/py/advanced-alchemy) ![PyPI - Support Python Versions](https://img.shields.io/pypi/pyversions/advanced-alchemy?labelColor=202235\u0026color=edb641\u0026logo=python\u0026logoColor=edb641) ![Advanced Alchemy PyPI - Downloads](https://img.shields.io/pypi/dm/advanced-alchemy?logo=python\u0026label=package%20downloads\u0026labelColor=202235\u0026color=edb641\u0026logoColor=edb641)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\n| Community | [![Discord](https://img.shields.io/discord/919193495116337154?labelColor=202235\u0026color=edb641\u0026label=chat%20on%20discord\u0026logo=discord\u0026logoColor=edb641)](https://discord.gg/litestar) [![Matrix](https://img.shields.io/badge/chat%20on%20Matrix-bridged-202235?labelColor=202235\u0026color=edb641\u0026logo=matrix\u0026logoColor=edb641)](https://matrix.to/#/#litestar:matrix.org) |\n| Meta      | [![Litestar Project](https://img.shields.io/badge/Litestar%20Org-%E2%AD%90%20Advanced%20Alchemy-202235.svg?logo=python\u0026labelColor=202235\u0026color=edb641\u0026logoColor=edb641)](https://github.com/litestar-org/advanced-alchemy) [![types - Mypy](https://img.shields.io/badge/types-Mypy-202235.svg?logo=python\u0026labelColor=202235\u0026color=edb641\u0026logoColor=edb641)](https://github.com/python/mypy) [![License - MIT](https://img.shields.io/badge/license-MIT-202235.svg?logo=python\u0026labelColor=202235\u0026color=edb641\u0026logoColor=edb641)](https://spdx.org/licenses/) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json\u0026labelColor=202235)](https://github.com/astral-sh/ruff) |\n\n\u003c/div\u003e\n\n# Advanced Alchemy\n\nCheck out the [project documentation][project-docs] 📚 for more information.\n\n## About\n\nA carefully crafted, thoroughly tested, optimized companion library for SQLAlchemy,\noffering:\n\n- Sync and async repositories, featuring common CRUD and highly optimized bulk operations\n- Integration with major web frameworks including Litestar, Starlette, FastAPI, Sanic\n- Custom-built alembic configuration and CLI with optional framework integration\n- Utility base classes with audit columns, primary keys and utility functions\n- [SQLModel](https://sqlmodel.tiangolo.com/) compatibility — use `SQLModel` `table=True` models directly with repositories and services\n- Composite primary key support — work with multi-column primary keys across repositories, services, and bulk operations\n- Read/write replica routing with automatic query routing, round-robin/random replica selection, and sticky-primary mode\n- Dogpile caching integration for query result caching\n- Built in `File Object` data type for storing objects:\n    - Unified interface for various storage backends ([`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/) and [`obstore`](https://developmentseed.org/obstore/latest/))\n    - Optional lifecycle event hooks integrated with SQLAlchemy's event system to automatically save and delete files as records are inserted, updated, or deleted.\n- Optimized JSON types including a custom JSON type for Oracle\n- Integrated support for UUID6 and UUID7 using [`uuid-utils`](https://github.com/aminalaee/uuid-utils) (install with the `uuid` extra)\n- Integrated support for Nano ID using [`fastnanoid`](https://github.com/oliverlambson/fastnanoid) (install with the `nanoid` extra)\n- Custom encrypted text type with multiple backend support including [`pgcrypto`](https://www.postgresql.org/docs/current/pgcrypto.html) for PostgreSQL and the Fernet implementation from [`cryptography`](https://cryptography.io/en/latest/) for other databases\n- Custom password hashing type with multiple backend support including [`Argon2`](https://github.com/P-H-C/phc-winner-argon2), [`Passlib`](https://passlib.readthedocs.io/en/stable/), and [`Pwdlib`](https://pwdlib.readthedocs.io/en/stable/) with automatic salt generation\n- Pre-configured base classes with audit columns UUID or Big Integer primary keys and\n  a [sentinel column](https://docs.sqlalchemy.org/en/20/core/connections.html#configuring-sentinel-columns).\n- Synchronous and asynchronous repositories featuring:\n    - Common CRUD operations for SQLAlchemy models\n    - Bulk inserts, updates, upserts, and deletes with dialect-specific enhancements\n    - Integrated counts, pagination, sorting, filtering with `LIKE`, `IN`, `IS NULL`/`IS NOT NULL`, and dates before and/or after.\n- Tested support for multiple database backends including:\n    - SQLite via [aiosqlite](https://aiosqlite.omnilib.dev/en/stable/) or [sqlite](https://docs.python.org/3/library/sqlite3.html)\n    - Postgres via [asyncpg](https://magicstack.github.io/asyncpg/current/) or [psycopg3 (async or sync)](https://www.psycopg.org/psycopg3/)\n    - MySQL via [asyncmy](https://github.com/long2ice/asyncmy)\n    - Oracle via [oracledb (async or sync)](https://oracle.github.io/python-oracledb/) (tested on 18c and 23c)\n    - Google Spanner via [spanner-sqlalchemy](https://github.com/googleapis/python-spanner-sqlalchemy/)\n    - DuckDB via [duckdb_engine](https://github.com/Mause/duckdb_engine)\n    - Microsoft SQL Server via [pyodbc](https://github.com/mkleehammer/pyodbc) or [aioodbc](https://github.com/aio-libs/aioodbc)\n    - CockroachDB via [sqlalchemy-cockroachdb (async or sync)](https://github.com/cockroachdb/sqlalchemy-cockroachdb)\n- ...and much more\n\n## Usage\n\n### Installation\n\n```shell\npip install advanced-alchemy\n```\n\n\u003e [!IMPORTANT]\\\n\u003e Check out [the installation guide][install-guide] in our official documentation!\n\n### Repositories\n\nAdvanced Alchemy includes a set of asynchronous and synchronous repository classes for easy CRUD\noperations on your SQLAlchemy models.\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand the example\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom advanced_alchemy import base, repository, config\nfrom sqlalchemy import create_engine\nfrom sqlalchemy.orm import Mapped, sessionmaker\n\n\nclass User(base.UUIDBase):\n    # you can optionally override the generated table name by manually setting it.\n    __tablename__ = \"user_account\"  # type: ignore[assignment]\n    email: Mapped[str]\n    name: Mapped[str]\n\n\nclass UserRepository(repository.SQLAlchemySyncRepository[User]):\n    \"\"\"User repository.\"\"\"\n\n    model_type = User\n\n\ndb = config.SQLAlchemySyncConfig(connection_string=\"duckdb:///:memory:\", session_config=config.SyncSessionConfig(expire_on_commit=False))\n\n# Initializes the database.\nwith db.get_engine().begin() as conn:\n    User.metadata.create_all(conn)\n\nwith db.get_session() as db_session:\n    repo = UserRepository(session=db_session)\n    # 1) Create multiple users with `add_many`\n    bulk_users = [\n        {\"email\": 'cody@litestar.dev', 'name': 'Cody'},\n        {\"email\": 'janek@litestar.dev', 'name': 'Janek'},\n        {\"email\": 'peter@litestar.dev', 'name': 'Peter'},\n        {\"email\": 'jacob@litestar.dev', 'name': 'Jacob'}\n    ]\n    objs = repo.add_many([User(**raw_user) for raw_user in bulk_users])\n    db_session.commit()\n    print(f\"Created {len(objs)} new objects.\")\n\n    # 2) Select paginated data and total row count.  Pass additional filters as kwargs\n    created_objs, total_objs = repo.list_and_count(LimitOffset(limit=10, offset=0), name=\"Cody\")\n    print(f\"Selected {len(created_objs)} records out of a total of {total_objs}.\")\n\n    # 3) Let's remove the batch of records selected.\n    deleted_objs = repo.delete_many([new_obj.id for new_obj in created_objs])\n    print(f\"Removed {len(deleted_objs)} records out of a total of {total_objs}.\")\n\n    # 4) Let's count the remaining rows\n    remaining_count = repo.count()\n    print(f\"Found {remaining_count} remaining records after delete.\")\n```\n\n\u003c/details\u003e\n\nFor a full standalone example, see the sample [here][standalone-example]\n\n### Services\n\nAdvanced Alchemy includes an additional service class to make working with a repository easier.\nThis class is designed to accept data as a dictionary or SQLAlchemy model,\nand it will handle the type conversions for you.\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003eHere's the same example from above but using a service to create the data:\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom advanced_alchemy import base, repository, filters, service, config\nfrom sqlalchemy import create_engine\nfrom sqlalchemy.orm import Mapped, sessionmaker\n\n\nclass User(base.UUIDBase):\n    # you can optionally override the generated table name by manually setting it.\n    __tablename__ = \"user_account\"  # type: ignore[assignment]\n    email: Mapped[str]\n    name: Mapped[str]\n\nclass UserService(service.SQLAlchemySyncRepositoryService[User]):\n    \"\"\"User repository.\"\"\"\n    class Repo(repository.SQLAlchemySyncRepository[User]):\n        \"\"\"User repository.\"\"\"\n\n        model_type = User\n\n    repository_type = Repo\n\ndb = config.SQLAlchemySyncConfig(connection_string=\"duckdb:///:memory:\", session_config=config.SyncSessionConfig(expire_on_commit=False))\n\n# Initializes the database.\nwith db.get_engine().begin() as conn:\n    User.metadata.create_all(conn)\n\nwith db.get_session() as db_session:\n    service = UserService(session=db_session)\n    # 1) Create multiple users with `add_many`\n    objs = service.create_many([\n        {\"email\": 'cody@litestar.dev', 'name': 'Cody'},\n        {\"email\": 'janek@litestar.dev', 'name': 'Janek'},\n        {\"email\": 'peter@litestar.dev', 'name': 'Peter'},\n        {\"email\": 'jacob@litestar.dev', 'name': 'Jacob'}\n    ])\n    print(objs)\n    print(f\"Created {len(objs)} new objects.\")\n\n    # 2) Select paginated data and total row count.  Pass additional filters as kwargs\n    created_objs, total_objs = service.list_and_count(LimitOffset(limit=10, offset=0), name=\"Cody\")\n    print(f\"Selected {len(created_objs)} records out of a total of {total_objs}.\")\n\n    # 3) Let's remove the batch of records selected.\n    deleted_objs = service.delete_many([new_obj.id for new_obj in created_objs])\n    print(f\"Removed {len(deleted_objs)} records out of a total of {total_objs}.\")\n\n    # 4) Let's count the remaining rows\n    remaining_count = service.count()\n    print(f\"Found {remaining_count} remaining records after delete.\")\n```\n\n\u003c/details\u003e\n\n### Web Frameworks\n\nAdvanced Alchemy works with nearly all Python web frameworks.\nSeveral helpers for popular libraries are included, and additional PRs to support others are welcomed.\n\n#### Litestar\n\nAdvanced Alchemy is the official SQLAlchemy integration for Litestar.\n\nIn addition to installing with `pip install advanced-alchemy`,\nit can also be installed as a Litestar extra with `pip install litestar[sqlalchemy]`.\n\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003eLitestar Example\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom litestar import Litestar\nfrom litestar.plugins.sqlalchemy import SQLAlchemyPlugin, SQLAlchemyAsyncConfig\n# alternately...\n# from advanced_alchemy.extensions.litestar import SQLAlchemyAsyncConfig, SQLAlchemyPlugin\n\nalchemy = SQLAlchemyPlugin(\n  config=SQLAlchemyAsyncConfig(connection_string=\"sqlite+aiosqlite:///test.sqlite\"),\n)\napp = Litestar(plugins=[alchemy])\n```\n\n\u003c/details\u003e\n\nFor a full Litestar example, check [here][litestar-example]\n\n#### Flask\n\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003eFlask Example\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom flask import Flask\nfrom advanced_alchemy.extensions.flask import AdvancedAlchemy, SQLAlchemySyncConfig\n\napp = Flask(__name__)\nalchemy = AdvancedAlchemy(\n    config=SQLAlchemySyncConfig(connection_string=\"duckdb:///:memory:\"), app=app,\n)\n```\n\n\u003c/details\u003e\n\nFor a full Flask example, see [here][flask-example]\n\n#### FastAPI\n\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003eFastAPI Example\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom advanced_alchemy.extensions.fastapi import AdvancedAlchemy, SQLAlchemyAsyncConfig\nfrom fastapi import FastAPI\n\napp = FastAPI()\nalchemy = AdvancedAlchemy(\n    config=SQLAlchemyAsyncConfig(connection_string=\"sqlite+aiosqlite:///test.sqlite\"), app=app,\n)\n```\n\n\u003c/details\u003e\n\nFor a full FastAPI example with optional CLI integration, see [here][fastapi-example]\n\n#### Starlette\n\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003ePre-built Example Apps\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom advanced_alchemy.extensions.starlette import AdvancedAlchemy, SQLAlchemyAsyncConfig\nfrom starlette.applications import Starlette\n\napp = Starlette()\nalchemy = AdvancedAlchemy(\n    config=SQLAlchemyAsyncConfig(connection_string=\"sqlite+aiosqlite:///test.sqlite\"), app=app,\n)\n```\n\n\u003c/details\u003e\n\n#### Sanic\n\n\u003c!-- markdownlint-disable --\u003e\n\u003cdetails\u003e\n\u003csummary\u003ePre-built Example Apps\u003c/summary\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n```python\nfrom sanic import Sanic\nfrom sanic_ext import Extend\n\nfrom advanced_alchemy.extensions.sanic import AdvancedAlchemy, SQLAlchemyAsyncConfig\n\napp = Sanic(\"AlchemySanicApp\")\nalchemy = AdvancedAlchemy(\n    sqlalchemy_config=SQLAlchemyAsyncConfig(connection_string=\"sqlite+aiosqlite:///test.sqlite\"),\n)\nExtend.register(alchemy)\n```\n\n\u003c/details\u003e\n\n## Contributing\n\nAll [Litestar Organization][litestar-org] projects will always be a community-centered, available for contributions of any size.\n\nBefore contributing, please review the [contribution guide][contributing].\n\nIf you have any questions, reach out to us on [Discord][discord], our org-wide [GitHub discussions][litestar-discussions] page,\nor the [project-specific GitHub discussions page][project-discussions].\n\n\u003c!-- markdownlint-disable --\u003e\n\u003chr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003c!-- github-banner-start --\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Organization%20Project%20-%20Banner%20-%20Inline%20-%20Dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Organization%20Project%20-%20Banner%20-%20Inline%20-%20Light.svg\"\u003e\n    \u003cimg alt=\"Litestar Organization Project\" src=\"https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Organization%20Project%20-%20Banner%20-%20Inline%20-%20Light.svg\" width=\"40%\" height=\"auto\" /\u003e\n  \u003c/picture\u003e\n  \u003cbr\u003eAn official \u003ca href=\"https://github.com/litestar-org\"\u003eLitestar Organization\u003c/a\u003e Project\n  \u003c!-- github-banner-end --\u003e\n\u003c/p\u003e\n\n[litestar-org]: https://github.com/litestar-org\n[contributing]: https://advanced-alchemy.litestar.dev/latest/contribution-guide.html\n[discord]: https://discord.gg/litestar\n[litestar-discussions]: https://github.com/orgs/litestar-org/discussions\n[project-discussions]: https://github.com/litestar-org/advanced-alchemy/discussions\n[project-docs]: https://advanced-alchemy.litestar.dev\n[install-guide]: https://advanced-alchemy.litestar.dev/latest/#installation\n[fastapi-example]: https://github.com/litestar-org/advanced-alchemy/blob/main/examples/fastapi/fastapi_service.py\n[flask-example]: https://github.com/litestar-org/advanced-alchemy/blob/main/examples/flask/flask_services.py\n[litestar-example]: https://github.com/litestar-org/advanced-alchemy/blob/main/examples/litestar/litestar_service.py\n[standalone-example]: https://github.com/litestar-org/advanced-alchemy/blob/main/examples/standalone.py\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitestar-org%2Fadvanced-alchemy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flitestar-org%2Fadvanced-alchemy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitestar-org%2Fadvanced-alchemy/lists"}