이제 Vercel에서 Python을 정식으로 지원합니다. 익숙한 프레임워크와 도구를 그대로 사용해 기존 애플리케이션을 배포할 수 있으며, Fluid compute 기반의 자동 확장도 제공됩니다.
이제 Vercel에서 Python을 정식으로 지원합니다. 이미 사용 중인 프레임워크, 라이브러리, 도구로 Python 애플리케이션을 빌드하고 실행할 수 있습니다.
Vercel은 지원되는 프레임워크를 자동으로 감지해 빌드와 배포를 구성합니다. 애플리케이션은 Fluid compute에서 실행되며, 동시 요청을 처리하고 트래픽에 맞춰 확장됩니다. Python다운(idiomatic) SDK를 사용하면 스토리지, 큐, durable workflow, AI 모델을 Python에서 바로 다룰 수 있습니다. 풀스택 프로젝트라면 Python 백엔드와 프론트엔드가 로컬 개발, 프리뷰 배포, 프로덕션 릴리스까지 같은 워크플로를 공유합니다.
10개월 전, 저희는 Vercel을 Python 애플리케이션을 빌드하고 실행하기에 가장 좋은 곳으로 만들겠다는 목표를 세웠습니다. Python 개발자가 일하는 방식에 자연스럽게 맞는 경험을 만들고자 했고, 다음 세 가지 목표를 기준으로 의사결정을 내렸습니다.
Python다운 SDK. Vercel 인프라를 쓰는 일이 Python 개발자에게 익숙하게 느껴져야 합니다. 그래서 타입 어노테이션, async/await, 컨텍스트 매니저를 활용하는 API를 제공합니다.
프론트엔드와 백엔드가 함께 쓰는 워크플로. Python 애플리케이션에는 JavaScript 프론트엔드가 함께 있는 경우가 많습니다. 따라서 두 부분을 로컬에서 같이 실행하고, 같은 프리뷰 배포에서 함께 검토하며, 릴리스와 롤백도 함께 할 수 있어야 합니다.
Python 생태계와의 호환성. Python 개발자가 이미 의존하는 패키지와 도구를 그대로 쓸 수 있도록, 런타임은 Linux에서 표준 Python 인터프리터인 CPython을 사용해야 합니다.
이 목표를 처음 확인하게 되는 순간은 Vercel에 Python 애플리케이션을 배포할 때입니다. 프레임워크, 의존성, 프로젝트 구조에 따라 빌드와 실행 방식이 자연스럽게 정해져야 합니다.
저희는 Vercel에서 Python이 기본 지원 언어처럼 느껴지도록 만들었습니다. Vercel은 uv로 관리하는 파일을 포함해 프로젝트의 의존성 파일을 읽고, FastAPI, Flask, Django, FastHTML 같은 프레임워크를 자동으로 감지합니다. 프레임워크 정의 인프라(Framework defined infrastructure)가 빌드와 요청 라우팅을 구성하며, 프레임워크별로 CDN을 통한 정적 에셋 제공도 지원합니다.
프론트엔드가 있는 애플리케이션이라면 Vercel Services로 두 부분을 하나의 프로젝트로 묶을 수 있습니다. vercel dev를 실행하면 둘이 함께 시작되고, 공유 프리뷰에서는 백엔드 변경 사항을 이를 사용하는 프론트엔드와 함께 테스트할 수 있습니다.
큐나 데이터베이스에서 작업을 가져오는 장기 실행 워커에는 Vercel Daemons를 사용할 수 있습니다. Python 코드와 필요한 패키지, 시스템 의존성을 담은 컨테이너를 계속 실행해 줍니다.
Python 백엔드에서는 파일을 저장하거나, 메시지를 보내거나, durable workflow를 실행하거나, AI 모델을 호출해야 할 수 있습니다. 저희는 이런 작업을 위한 Python SDK를 만들었고, API는 Python의 관례를 따릅니다.
이 SDK들은 사용 중인 프레임워크, 라이브러리와 함께 동작합니다. 아래 예제에서 풀스택 애플리케이션 안에서 SDK가 어떻게 연결되는지 볼 수 있습니다.
새 프로젝트를 시작하든 기존 코드를 배포하든, 프레임워크 가이드에서 Vercel 설정과 배포 방법을 확인할 수 있습니다. 풀스택 프로젝트를 따라 하며 배우고 싶다면 Python on Vercel 강의에서 FastAPI 백엔드와 Next.js 프론트엔드를 만들고 Services로 함께 배포하는 과정을 다룹니다.
이 기능들이 어떻게 맞물려 동작하는지 보여드리기 위해, Python 노트북을 만들고 둘러볼 수 있는 협업 웹 애플리케이션을 만들었습니다. 사용자는 자신의 노트북을 만들고, 다른 사람이 보거나 포크할 수 있도록 게시할 수 있으며, AI 어시스턴트와 함께 Python 코드를 작성하고 실행할 수 있습니다.
이 애플리케이션은 Vite 프론트엔드와 FastAPI 백엔드를 함께 사용하고, 노트북 소스와 채팅 기록은 PostgreSQL에 저장합니다. Services 덕분에 프론트엔드와 백엔드가 하나의 배포로 관리되며, 프론트엔드는 CDN을 통해 제공됩니다.
주요 구성 요소는 다음과 같이 연결됩니다.
코드 편집과 실행: 로그인한 사용자가 에디터에서 자신의 노트북을 열면, FastAPI가 Jupyter가 실행되는 Vercel Sandbox를 생성하거나 재사용합니다. 덕분에 사용자 코드는 애플리케이션 백엔드와 분리됩니다. 브라우저는 Jupyter에 직접 연결되고, 마운트된 Drive가 Python 의존성과 작업 공간 파일을 제공합니다.
저장과 게시: 브라우저가 현재 노트북을 주기적으로 FastAPI에 보내면, FastAPI가 소스를 PostgreSQL에 저장하고 변경 내용을 HTML로 렌더링해 Blob에 업로드합니다. 덕분에 사용자는 Python 커널을 띄우지 않고도 CDN을 통해 게시된 노트북을 읽을 수 있습니다.
업데이트 공유: 변경 사항을 게시하면 FastAPI가 Vercel Queues로 메시지를 보냅니다. 브라우저가 연결된 각 백엔드 인스턴스는 이 알림을 받아 WebSocket으로 갱신된 노트북 목록을 전송하므로, 사용자는 새로고침하지 않아도 변경 사항을 볼 수 있습니다.
코드 작성 지원: 에이전트는 AI SDK for Python을 사용하며 Vercel Workflows 안에서 실행됩니다. Workflows는 실행 상태를 저장하고 실패한 단계를 재시도합니다. 채팅 기록은 PostgreSQL에 보관하고, 노트북 편집과 실행 도구는 연결된 브라우저를 통해 동작합니다. 브라우저가 결과를 FastAPI로 돌려보내면 워크플로가 재개됩니다.
GitHub 소스 코드에는 전체 애플리케이션과 배포 설정이 들어 있습니다. 이 통합 방식을 살펴보거나, 직접 만들 Python 애플리케이션의 출발점으로 활용해 보세요.
지난 12월, 저와 Elvis Pranskevichus가 이끄는 Gel Data 팀은 Python 지원을 구축하고 오픈 소스 활동을 이어가기 위해 Vercel에 합류했습니다.
같은 시기에 저희는 Python Software Foundation 후원을 발표하고, 재단을 통해 Serhiy Storchaka의 CPython 유지 보수 활동을 1년간 지원하기로 약속했습니다. Serhiy는 2026년 현재까지 CPython 메인 브랜치에 600개가 넘는 커밋을 작성했습니다.
올해는 PyCon US와 EuroPython도 후원했습니다. 그곳에서 팀원들과 저는 Python 개발자들을 만나 어디서 막히는지 들었습니다. 이런 대화는 다음에 무엇을 고쳐야 할지 판단하는 데 도움이 됩니다.
저희는 PEP 827도 발표했습니다. 이 제안이 채택되면 타입 조작 기능이 추가되어, FastAPI 같은 프레임워크가 보일러플레이트는 줄이고 타입 검사는 더 정밀하게 하는 더 간단한 API를 제공할 수 있습니다.
저희는 Python SDK, 런타임 성능, 그리고 사람과 코딩 에이전트 모두를 위한 개발 워크플로를 계속 개선하고 있습니다. 배포 중 문제가 생기거나 Python SDK에 부족한 부분이 있다면 Vercel Community에 의견을 남겨 주세요. 팀이 개선 방향을 정하는 데 참고하겠습니다.
에이전트가 Knowledge Base의 Python 가이드를 참고하게 해 보세요
eve 에이전트를 Python으로 원클릭으로 배포하기