나도 할 수 있다 오픈 소스! — setup.py에서 PyPI까지
- Python Library
- Difficulty Beginner
- 2018-08-18 (토요일) 13:00 - 13:25
- 한국어
- 101
- Photography and recording is allowed
Slide
https://www.slideshare.net/kanghyojun/ss-110767619
Video
https://www.youtube.com/watch?v=4wEFo7L2zRc
Description
오픈 소스로 라이브러리를 처음 만들어서 PyPI에 올리려 하다 보면 어려움을 느낄 수 있습니다. setup.py를 작성하는 방법부터 PyPI에 라이브러리를 올리는 법까지 소개합니다. 각 절차에서 참고하면 좋을 법한 팁도 공유합니다.
그리고 오픈 소스로 라이브러리를 만들다 보면 여러 사람과 같이 협업할 일도 생기는데, 이럴 때 도움이 될 만한 부분도 소개합니다.
더욱 구체적으로 다음 나열한 내용을 공유합니다.
- setup.py를 작성할 때 메타데이터 작성하기
- Wheel 업로드하기
- Wheel은 eggs 포맷을 대체하기 위해 만들어진 새로운 표준 배포 포맷입니다.
- CI 서비스(CircleCI 혹은 TravisCI)에서 git 태그를 이용해서 PyPI에 자동으로 릴리스 하기
- 린터(lint)를 적용하여 협업 시 일관된 코드 스타일 유지하기
- 변경 기록을 항상 적도록 CI에서 검사하기
- README에 배지 달기 (CI, readthedocs, code coverage)
- readthedocs는 기술 문서를 쉽게 관리하고 볼 수 있는 서비스입니다.
많은 오픈 소스 라이브러리의 문서를 readthedocs에서 볼 수 있습니다.
- Github으로 코드 관리하기
- PR 가이드라인 자동으로 제시하기
- 커밋에서 이슈 자동으로 닫기
- 브랜치 관리하기
- 오픈 소스 라이센스 고르기
관련 링크
- https://circleci.com/
- https://travis-ci.org/
- https://pythonwheels.com/
- https://readthedocs.org/
- https://codecov.io/
- https://en.wikipedia.org/wiki/Lint_(software)
- https://pypi.org