모델, 웹 프런트엔드, CLI, 음성 인터페이스와 내구성 있는 백그라운드 워크플로에서 실행되는 타입 지정 에이전트를 만드는 Python AI SDK입니다.
dropseed/plain
Django에서 포크한 Python 웹 프레임워크로, 타입이 지정된 모델, 클래스 기반 뷰, Postgres 전용 ORM, AI 코딩 에이전트를 위한 기본 도구를 제공합니다.
대체할 수 있는 제품:Django
- 스타
- 1,044
- 포크
- 28
- 열린 이슈
- 16
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
Plain은 웹 애플리케이션을 만들기 위한 Python 웹 프레임워크입니다. Django에서 포크한 뒤 명시적이고 타입이 지정된 코드를 중심으로 재구성되었습니다. 모델은 어노테이션이 적용된 속성으로 필드를 선언하며, 해당 타입은 뷰, 폼, URL 라우팅까지 이어집니다. 모델은 Postgres만 지원하고, 스택은 템플릿에 Jinja2를 사용하며 프런트엔드에는 htmx와 Tailwind CSS를, Python 도구에는 uv, ruff, ty를 사용합니다.
프레임워크에는 OpenTelemetry 트레이싱과 느린 쿼리 감지가 기본 포함되어 있어, 별도의 설정 없이 N+1 쿼리 문제를 찾아낼 수 있습니다. 에이전트용 기능도 제공하며, 여기에는 프로젝트 규칙 파일, 검색 및 타입이 지정된 시그니처 보기 기능을 갖춘 명령줄 문서 브라우저, 패키지 설치, 버전 업그레이드, 성능 최적화, 버그 신고를 위한 슬래시 명령 스킬이 포함됩니다.
Plain은 인증, 세션, REST API, MCP 서버, 백그라운드 작업, 이메일, 캐싱, 관리자 기능, 기능 플래그, OAuth 또는 매직 링크 로그인을 다루는 31개의 자사 패키지로 구성되어 있습니다. Python 3.14 이상이 필요합니다.
핵심 기능
- 01모델은 어노테이션이 적용된 타입 지정 필드를 사용하며, 이 타입은 뷰, 폼, URL까지 이어집니다.
- 02모델 옵션에서 제약 조건을 선언하는 Postgres 전용 ORM입니다.
- 03OpenTelemetry 트레이싱과 느린 쿼리 감지가 기본 제공됩니다.
- 04에이전트가 사용할 수 있도록 검색 및 타입이 지정된 시그니처 출력을 지원하는 명령줄 문서를 제공합니다.
- 05인증, 작업, API, 관리자 기능 등을 다루는 31개의 자사 패키지를 제공합니다.
- 06템플릿에는 Jinja2를 사용하고 프런트엔드에는 htmx와 Tailwind CSS를 사용합니다.
활용 사례
- Python으로 서버 렌더링 방식의 Postgres 기반 웹 앱을 구축하는 경우.
- 하나의 프레임워크에서 유지 관리하는 타입이 명확히 지정된 명시적인 Django 스타일 코드를 원하는 팀.
- AI 코딩 에이전트가 타입이 지정된 시그니처와 기본 제공 문서를 활용하기를 원하는 프로젝트.
- 하나의 생태계에서 백그라운드 작업, 이메일, OAuth 로그인이 필요한 앱.
빠른 시작
- 1
uv로 프로젝트 시작하기
uvx plain-start my-app - 2
공식 사이트에서 전체 안내를 따라하기
사용 전 알아둘 점
- 모델은 Postgres 전용이므로 PostgreSQL 데이터베이스가 필요합니다.
- Python 3.14 이상이 필요합니다.
- 프로젝트 메타데이터에 라이선스가 표시되어 있지 않아 사용 권한이 불분명합니다.
토픽
자주 묻는 질문
- plain은(는) 무엇인가요?
- Django에서 포크한 Python 웹 프레임워크로, 타입이 지정된 모델, 클래스 기반 뷰, Postgres 전용 ORM, AI 코딩 에이전트를 위한 기본 도구를 제공합니다. Plain은 웹 애플리케이션을 만들기 위한 Python 웹 프레임워크입니다. Django에서 포크한 뒤 명시적이고 타입이 지정된 코드를 중심으로 재구성되었습니다. 모델은 어노테이션이 적용된 속성으로 필드를 선언하며, 해당 타입은 뷰, 폼, URL 라우팅까지 이어집니다. 모델은 Postgres만 지원하고, 스택은 템플릿에 Jinja2를 사용하며 프런트엔드에는 htmx와 Tailwind CSS를, Python 도구에는 uv, ruff, ty를 사용합니다.
- plain은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- plain에는 명시된 라이선스가 없습니다. 코드는 공개되어 있지만 라이선스가 없으면 재사용 허가가 명확하지 않으므로, 사용 전에 작성자에게 문의하는 것이 좋습니다.
- plain은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. plain의 마지막 커밋은 2026년 10월 20일입니다.
- plain은(는) 어디에 사용할 수 있나요?
- Python으로 서버 렌더링 방식의 Postgres 기반 웹 앱을 구축하는 경우. 하나의 프레임워크에서 유지 관리하는 타입이 명확히 지정된 명시적인 Django 스타일 코드를 원하는 팀. AI 코딩 에이전트가 타입이 지정된 시그니처와 기본 제공 문서를 활용하기를 원하는 프로젝트. 하나의 생태계에서 백그라운드 작업, 이메일, OAuth 로그인이 필요한 앱.
- plain는 어떻게 설치하나요?
- uv로 프로젝트 시작하기: uvx plain-start my-app 공식 사이트에서 전체 안내를 따라하기
- plain은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/dropseed/plain
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
빠른 개발과 깔끔하고 실용적인 설계를 지원하는 고수준 Python 웹 프레임워크입니다.
프론트엔드와 백엔드를 모두 Python으로 작성해 풀스택 웹 앱을 만드는 라이브러리입니다.
Martini와 비슷한 API를 제공하며 REST API, 웹 앱, 마이크로서비스 구축에 적합한 고성능 Go HTTP 웹 프레임워크입니다.
라우팅, ORM, 마이그레이션, 큐, 실시간 브로드캐스팅을 지원하는 표현력 있는 문법의 PHP 웹 애플리케이션 프레임워크입니다.
최소한의 설정으로 운영 환경에 적합한 Spring 기반 애플리케이션과 서비스를 만들 수 있는, 기본 설정이 잘 갖춰진 Java 프레임워크입니다.