$ pip install cookiecutter
$ cookiecutter https://github.com/rainist/python
project_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
νμΌμ μμ±ν΄μΌν©λλ€.