Litestar

Litestar(이전 명칭: Starlite)는 파이썬(Python) 기반의 고성능 ASGI(Asynchronous Server Gateway Interface) 웹 프레임워크이다. 주로 RESTful API 및 GraphQL 서비스 구축에 설계되었으며, 엄격한 타입 힌팅(Type hinting)과 객체 지향적인 아키텍처를 제공하도록 구성되어 있다.

Litestar는 초기부터 대규모 엔터프라이즈 환경에서의 사용을 염두에 두고 설계되었다. 따라서 의존성 주입(Dependency Injection), 클래스 기반 컨트롤러(Class-based controllers), 그리고 플러그인 아키텍처 등 구조화된 코드 작성을 돕는 패턴들을 프레임워크 코어에 내장하고 있다. 특히 데이터 직렬화(Serialization) 및 역직렬화 과정에서 고속 라이브러리인 msgspec을 적극 활용하여 높은 I/O 처리 성능을 보장한다.

파이썬 생태계에서 동일하게 비동기 API 구축 용도로 널리 사용되는 대표적인 프레임워크인 FastAPI와 Litestar의 구조적 차이는 다음과 같다.

특징LitestarFastAPI
라우팅 아키텍처객체 지향적인 클래스 기반 컨트롤러(Controller) 형식을 기본으로 권장함함수 기반 데코레이터(@app.get)를 활용한 라우팅이 주된 방식임
데이터 검증 및 직렬화msgspec, attrs, Dataclasses, Pydantic 등 다양한 데이터 검증 라이브러리를 다중 지원함프레임워크 내부부터 Pydantic에 매우 강하게 결합되어 의존함
의존성 주입(DI)애플리케이션, 라우터, 컨트롤러 등 사전 정의된 계층(Layer) 수준에서 명시적이고 분리된 형태의 주입을 지원함라우트 함수의 매개변수 내에 Depends()를 호출하여 인라인으로 주입함
생태계 및 통합SQLAlchemy, 피코(Piccolo), Vite 등의 외부 기술 적용을 위한 공식 플러그인 인터페이스를 제공함코어 기능에 집중하며 필요시 개발자가 자유롭게 서드파티 라이브러리를 결합하도록 방치함

출처 (Sources):

Entities