반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- opensearch
- kubernetes operator
- Kopf
- Argo
- serving
- blue/green
- knative
- nginx ingress
- CI/CD
- 카오스 엔지니어링
- keda
- Pulumi
- 오퍼레이터
- Kubernetes 인증
- Litmus
- MLflow
- Kubernetes
- CANARY
- Model Serving
- opentelemetry
- gitops
- argo rollout
- tekton
- argocd
- seldon core
- Continuous Deployment
- Kubeflow
- mlops
- gitea
- operator
Archives
- Today
- Total
Kubernetes 이야기
fastapi 개발 환경 구성 본문
반응형
FastAPI는 표준 Python 유형 힌트를 기반으로 Python 3.7+로 API를 구축하기 위한 현대적이고 빠른(고성능) 웹 프레임워크이다.
주요기능
- 빠름 : NodeJS 및 Go 와 동등한 매우 높은 성능 (Starlette 및 Pydantic 덕분에). 가장 빠른 Python 프레임워크 중 하나.
- Fast to code : 개발 속도가 약 200% ~ 300% 향상.
- 버그 감소 : 사람(개발자)이 유발한 오류를 약 40% 감소시킴.
- 직관적 : 뛰어난 편집기 지원. 디버깅 시간 단축.
- Easy : 쉽게 사용하고 배울 수 있도록 설계.
- Short : 코드 중복을 최소화.
- 표준 기반 : OpenAPI (이전에는 Swagger라고 함) 및 JSON Schema 와 같은 API용 공개 표준을 기반으로 함.
설치
1) 가상환경 구성
pipenv --python 3.11
2) fastapi 패키지 설치
pipenv install fastapi
테스트
main.py
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
실행
uvicorn main:app --reload # ( listen할 host를 지정할 경우에는 --host=0.0.0.0 )
INFO: Will watch for changes in these directories: ['D:\\develop\\test']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [19288] using WatchFiles
INFO: Started server process [3580]
INFO: Waiting for application startup.
INFO: Application startup complete.
브라우저에서 호출해 보자.
127.0.0.1:8000/docs 를 호출하면 swagger문서가 보인다.
127.0.0.1:8000/redoc 을 호출하면 읽기 전용인 rest api 문서 redoc이 보인다.
반응형
'개발 > python' 카테고리의 다른 글
Loguru (0) | 2023.01.24 |
---|---|
Fastapi 모범 사례 (0) | 2023.01.22 |
Pipenv로 Python 가상환경 구성 및 패키지 관리하기 (0) | 2023.01.22 |
centos7 python 3.8 설치 (0) | 2022.05.03 |
Pod에서 python code 실행하기 (0) | 2022.03.27 |
Comments