Gearbox Command Line Toolkit 은 python 기반 웹 프레임워크 이다.
Python 의 웹 개발을 위한 Utility 세트이며 WSGI 미들웨어 구현을 돕는 Python 모듈이 포함되어 있다.
CLIFF란?
앞서 간략히 소개하였듯, Command Line Interface Formulation Framework 의 약자로 Command Line 프로그램을 빌드하기 위한 프레임워크 이다.
플러그인을 사용하면 Sub-Commnad, 출력 포멧터 및 기타 확장을 정의한다.
Cliff 프레임워크는 하위 버전 및 Git 과 같은 여러 수준의 명령을 만드는것을 목적으로 사용되도록 제작되었는데, 여기서 메인 프로그램은 일부 기본 Arguments 분석을 처리하고 수행하기 위해 하위 commnad를 호출한다.
Gearbox는 TurboGears 2의 Paster Commnad를 대체하는 Tool Kit이다.
기존 TurboGears 프로젝트와 역 호환성을 유지하면서 TurboGears 2 웹 프레임워크에 Pyhton3.x 버전을 지원하기 위한 과정에서 만들어졌다.
Gearbox 는 CLIFF(Command Line Interface Formulation Framework)의 간소화된 버전을 기반으로 하며, 고급 사용 및 커스텀 지정 명령 인터프리터의 사용을 고려하는 경우엔 CLIFF를 고려하기를 기대한다.
Windows 10 의 경우 Powershell 및 터미널에서 관리자 권한으로 실행해야 모든 명령어를 문제없이 사용할 수 있습니다.
Unix 기반의 운영체제에서 또한 관리자 권한으로 실행하기를 권장합니다.
기존의 Django, Rails, TurboGears1 등 웹 프레임워크의 경험을 바탕으로 제작된 프레임워크 입니다. 이러한 프레임워크들의 불편한점을 개선하였습니다.
$ pip install TurboGears2
$ pip install gearbox
$ pip install cliff
$ pip install tg.devtools
from wsgiref.simple_server import make_server
from tg import MinimalApplicationConfigurator
from tg import expose, TGController
# RootController of our web app, in charge of serving content for /
class RootController(TGController):
@expose(content_type="text/plain")
def index(self):
return 'Hello World'
# Configure a new minimal application with our root controller.
config = MinimalApplicationConfigurator()
config.update_blueprint({
'root_controller': RootController()
})
# Serve the newly configured web application.
print("Serving on port 8080...")
httpd = make_server('', 8080, config.make_wsgi_app())
httpd.serve_forever()
$ python myapp.py
$ gearbox quickstart myproj
$ cd myproj
$ pip install -e .
$ gearbox serve
위의 명령어를 모두 성공적으로 실행하면 로컬에서 서버의 동작을 확인할 수 있다.
127.0.0.1:8000