Scallpy (beta): Vite처럼 FastAPI 프로젝트를 스캐폴드 – 몇 초 만에

발행: (2025년 12월 14일 오전 10:49 GMT+9)
6 min read
원문: Dev.to

Source: Dev.to

🤯 생산성 딜레마: 느리게 혹은 무겁게?

FastAPI는 엄청나게 빠르지만, 그 스캐폴딩 생태계는 항상 그렇지는 않습니다.

대부분의 사람들처럼 프로젝트를 시작할 때 다음 두 가지 고통스러운 경로 중 하나를 경험했을 것입니다:

  • 수동 경로 (느린 길) 🐌 – 폴더 구조 설정, 테스트, 초기 DB 연결, Pydantic, 환경 변수 등을 직접 설정하는 데 몇 시간을 소비합니다. 이 시간은 비즈니스 로직에 할애해야 할 시간입니다.
  • 템플릿 경로 (부피감) 🐘 – 무거운 템플릿을 사용하면 필요 없는 복잡성과 사용하지 않을 기능이 강제로 포함되어 코드가 부풀어 오르고, 결국 이를 제거하게 됩니다.

핵심 문제: 현대 CLI 프레임워크의 빠른 시작 속도는 필요하지만, FastAPI의 자유로움과 최소주의는 유지하고 싶다는 점입니다.

💡 차이점: 강요가 아닌 인터랙티브

여기서 게임 체인저가 등장합니다. 모든 것을 제공하는 보일러플레이트 대신, Scallpy라는 CLI 도구를 만들었습니다 – 요청한 것만 제공하는 도구입니다. 인터랙티브하고 유연하며, 최소한의 구성을 유지합니다.

구분다른 도구들Scallpy
의존성필요하지 않을 수도 있는 많은 의존성을 설치합니다설치할 항목을 직접 선택합니다 (ORM 및 데이터베이스 옵션만 제공)
설치 과정긴 설치 과정을 요구합니다pip install scallpy==0.1.2scallpy create 실행만 하면 됩니다
프로젝트 구조고정된 구조를 제공합니다깔끔한 구조와 구조화된 프로젝트 중 선택 가능 (기본 구조)

🛠 내부 구성? 선택은 여러분의 손에

결과물은 파이썬 커뮤니티 표준을 따르는 깔끔한 구조이며, 가독성을 최우선으로 합니다.

깔끔한 프로젝트

myproject/
├── src/
│   └── myproject/
│       ├── __init__.py
│       └── main.py
├── tests/
│   └── test_basic.py
├── .gitignore
├── pyproject.toml
└── README.md

구조화된 프로젝트

myproject/
├── src/
│   └── myproject/
│       ├── __init__.py
│       ├── api/
│       │   ├── __init__.py
│       │   └── routes.py
│       ├── core/
│       │   ├── __init__.py
│       │   └── config.py
│       ├── main.py
│       └── models/
│           └── __init__.py
├── tests/
│   └── test_basic.py
├── .env
├── .gitignore
├── pyproject.toml
├── README.md
└── requirements.txt

데이터베이스 지원이 필요하면 --use-db, ORM 모델이 필요하면 --use-orm 옵션을 추가하세요. 이렇게 하면 규모가 큰 앱에서도 더 잘 확장됩니다.

🧠 스마트 디자인: 주석 처리된 DB

왜 데이터베이스 코드를 주석 처리했을까요? 유연성을 유지하기 위해서입니다. 모든 프로젝트가 처음부터 DB가 필요한 것은 아니므로, import와 시작 이벤트를 주석 처리해 두었습니다. 데이터베이스 지원을 추가하고 싶을 때 주석을 해제하면 됩니다—그만큼 간단합니다. 이렇게 하면 불필요한 의존성을 강제로 끌어들이지 않으면서 템플릿을 깔끔하고 최소하게 유지할 수 있습니다.

⚠️ 베타 상태

Scallpy는 현재 베타 버전입니다. 도구가 아직 완전히 성숙하지 않았기 때문에 사소한 버그나 예상치 못한 동작을 마주할 수 있습니다. 문제가 발견되면 GitHub에 보고해 주세요—빠르게 수정하겠습니다. 여러분의 피드백이 안정적인 릴리스를 향한 개선에 큰 도움이 됩니다!

🤝 사용해보고 기여하기

Scallpy를 사용해보고 싶나요? 다음 명령으로 설치하세요:

pip install scallpy

그리고 몇 초 만에 첫 프로젝트를 생성해 보세요:

scallpy create

마음에 드신다면 GitHub에서 별을 눌러 주세요. 이슈 보고, 기능 제안, 풀 리퀘스트 제출 등으로 기여할 수 있습니다.

Back to Blog

관련 글

더 보기 »

Python과 측량공학 결합

소개 안녕하세요, 측량 및 GIS 애호가 여러분! 저는 Python이 일상적인 측량 엔지니어링 작업을 어떻게 크게 향상시킬 수 있는지 깊이 탐구하고 있었고, 그리고 저는…