$ pip install cookiecutter
$ cookiecutter https://github.com/rainist/pythonproject_name [Python Project]: My Python Project
프로젝트 이름을 설정할 수 있습니다. 보통의 이름을 적듯 - 와 _ 없이 설정합니다.
project_slug [my-python-project]: sample-python
프로젝트 폴더 이름을 설정할 수 있습니다. 보통 GitHub Repository로 쓰이는 이름과 같게 설정합니다.
package_name [samplepython]: app
프로젝트 폴더 안에 파이썬 코드가 담길 패키지 폴더 이름을 설정할 수 있습니다. 이 패키지 이름을 기반으로 pylint, 커버리지 측정, Dockerfile 설정이 이루어집니다.
Select python_version:
1 - 3.7
2 - 3.6
Choose from 1, 2 [1]:
사용할 파이썬 런타임 버전을 설정할 수 있습니다. Dockerfile, mypy 등의 파이썬 버전을 설정하는 데 사용됩니다.
use_travis [y]:
Travis-CI 사용 여부를 설정할 수 있습니다.
- 설정 시
codecov를 사용한 커버리지 측정 관련 내용도 자동으로 추가 된 상태입니다. 커버리지 측정을 원하지 않는다면.travis.yml과README.md에서 관련 내용을 삭제해야합니다. README.md에 포함된 travis, codecov 뱃지의 URL을 적절하게 수정해야합니다.- Private project를 생성한다면
README.md의 travis, codecov 뱃지,.travis.yml의 codecov 부분에 토큰을 추가해야합니다.
use_docker [y]:
Dockerfile 사용 여부를 설정할 수 있습니다.
- 설정시
Dockerfile이 생성됩니다.
Select use_mypy:
1 - do not use
2 - beginner
3 - expert
Choose from 1, 2, 3 [1]: 3
mypy 사용 여부를 설정할 수 있습니다. 설정 시 pre-push hook과 make check 과정에 mypy 가 추가됩니다.
beginner: 타입 힌팅이 있는 함수들만 가지고 타입 검사를 수행합니다.expert: 타입 힌팅이 없는 함수까지 경고를 발생시킵니다.
use_black [n]: y
black 사용 여부를 설정할 수 있습니다. 설정 시 pre-push hook과 make check, make format 과정에 black 이 추가됩니다.
use_pipenv [n]: y
pipenv 사용 여부를 설정할 수 있습니다.
black과pipenv를 같이 사용할 경우,black이 현재 프리릴리즈 상태이므로pipenv lock --pre명령어로Pipfile.lock파일을 생성해야합니다.