규도자 개발 블로그

FastAPI contributor가 되다 본문

Python/FastAPI

FastAPI contributor가 되다

규도자 (gyudoza) 2022. 5. 11. 00:56

닿진 않겠지만 I love you tiangolo.

 

https://this-programmer.tistory.com/469

예전에 이런 글도 썼었다.

 

FastAPI에 총 3개의 PR을 날려놨었는데 그 내용인 즉슨 

1. openAPI docs로 endpoint들을 조회할 때 schema형태로 parameter를 등록해놔도 description이 누락되지 않게 하는 PR

https://github.com/tiangolo/fastapi/pull/4573

-> 이건 schema를 이용해서 엔드포인트를 만들 때 해당 필드가 갖고 있는 description이라는 클래스 멤버를 누락시켜버려서 openAPI docs에 명세가 되지 않아 불편함을 느껴 제작하였고

 

2. allow_rough_response_model이라는 새로운 parameter를 만들어 endpoint에 response_model과 다른 schema가 return되어도 오류가 나지 않게 하는 PR

https://github.com/tiangolo/fastapi/pull/4758

-> 이건 설정해놓은 response_model과 실제 response_model의 괴리가 발생하는 경우가 있어서 만든 기능이다. 이건... 굳이 말하자면 잘못된 설계에 의한 것이기도 한데 모든 실무가 이상을 지향하면서도 현실에 타협할 수밖에 없듯이 같은 key임에도 불구하고 다른 종류의 데이터 타입이 response로 담겨지는 경우가 왕왕 있어서 제작하였다.

엔드포인트 response_model에 등록을 해놔야 openAPI docs에 response_model이 response example로 명세가 되는데 때때로 그것과 다른 메시지가 return되면 pydantic에서 타입이 안맞다고 땡깡부리면서 오류를 뱉어버리니 그게 너무 싫어서 제작했다.

 

3. 그리고 오늘 드디어 check된 문서 번역 PR

https://github.com/tiangolo/fastapi/pull/4561

-> 사실 이걸 맨 처음 PR날렸다. 확인해보니 2월 13일에 날렸다. 약 3개월만에 PR이 tiangolo에게 체크되었다. tiangolo가 항상 sqlmodel(https://github.com/tiangolo/sqlmodel)만 작업하고 있고 fastAPI release가 뜨면 항상 sponsor update여서 요즘은 관심을 껐나 싶었는데 아니었다. 문서 리뷰해주신분께도 이자리를 빌어 감사... 뭔가 헛수고하는 게 아닐까 싶어서 가장 짧은 글을 찾아서 번역했는데 뭔가 창피하다 ㅋㅋㅋ 나중에 더 긴거 해야지..

 

 

사실 PR을 여러 번 날리면서 몇개월이 지나도 감감무소식인 탓에 뭔가 다음날이면 답장이 와있을까 일방적으로 썸타는 느낌이 들다가도 일이개월이 지나면 무던해져서 그냥 무관심하게 있었는데 이렇게 실제로 PR이 merge되어가는 걸 보니 뭔가 재밌고 설렌다. 그래서 다른 개선사항 & 필요사항도 적어두기만 하고 작성해두진 않았는데 한번 다시 또 차례대로 PR을 날려봐야겠다. +로 번역작업도 꾸준히 해야겠다!

 

사실 위에 사진을 보면 알겠지만 아직 merge된 건 아니다(open상태). 들뜬 마음을 뒤로 하고 현재 tiangolo가 하고 있는 것을 보니 i18n에 대한 PR들을 전부 태깅해놓고 다음 버전에 한번에 같이 릴리즈시키려는 것 같다. 그때가 되면 또 다시 기념으로 포스트 하나 해야겠다.

Comments