Pygithub: mypy(๋“ฑ)์— ๋Œ€ํ•œ ์œ ํ˜• ์ฃผ์„ ์ถ”๊ฐ€

์— ๋งŒ๋“  2019๋…„ 09์›” 08์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PyGithub/PyGithub

PyGithub ์— ํ•ด๋‹น ์œ ํ˜•์— ๋Œ€ํ•œ ์œ ํ˜• ์ฃผ์„์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์ฃผ๋ณ€์— ๋” ์•ˆ์ „ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŽธ์ง‘๊ธฐ ์ œ์•ˆ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PyGithub ์—๋Š” ์ด๋ฏธ ์ž˜ ์ •์˜๋œ ์œ ํ˜• ๊ณ„์ธต์ด ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํ˜•์ด ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค.

(์‚ฌ์‹ค ์›๋ž˜ ์„ค๋ช…์—์„œ PyGithub ์— ์ฃผ์„์ด ๋‹ฌ๋ ค ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ๋Š”๋ฐ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ์— ๋†€๋ž์Šต๋‹ˆ๋‹ค.)

์ด๊ฒƒ์ด ๋‹น์‹ ์ด ๊ณ ๋ คํ–ˆ๊ฑฐ๋‚˜ ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ?

feature request improvement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

https://github.com/Instagram/MonkeyType ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ… ํŒŒ์ผ์—์„œ ์ธ๋ผ์ธ์œผ๋กœ ์œ ํ˜• ์ฃผ์„์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž ์žฌ์ ์œผ๋กœ ์Šคํ… ์ž‘์„ฑ ์ž‘์—…์„ ์‹œ์ž‘ํ•œ ๋‹ค์Œ Py2์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ•œ ํ›„ ์ธ๋ผ์ธ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  6 ๋Œ“๊ธ€

๊ด€๋ฆฌ์ž๊ฐ€ ์ด ์•„์ด๋””์–ด์— ๋™์˜ํ•œ๋‹ค๋ฉด ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์œผ๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ž‘์€ ๋…ธ๋ ฅ์ด ์•„๋‹ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ด ์ „์— ํ”„๋กœ์ ํŠธ๋ฅผ Python 3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(Python2๊ฐ€ ๊ณง ์ง€์›๋  ์˜ˆ์ •์ด๋ฏ€๋กœ). ๊ทธ๋Ÿฌ๋ฉด Python3 ์Šคํƒ€์ผ ์œ ํ˜• ์ฃผ์„์„ ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/Instagram/MonkeyType ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ… ํŒŒ์ผ์—์„œ ์ธ๋ผ์ธ์œผ๋กœ ์œ ํ˜• ์ฃผ์„์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž ์žฌ์ ์œผ๋กœ ์Šคํ… ์ž‘์„ฑ ์ž‘์—…์„ ์‹œ์ž‘ํ•œ ๋‹ค์Œ Py2์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ•œ ํ›„ ์ธ๋ผ์ธ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ข‹์•„, ์‹ค์ œ๋กœ @trickeydan ์•„์ด๋””์–ด ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. unittest์— ๋Œ€ํ•ด MonkeyType์„ ์‹คํ–‰ํ•˜์—ฌ ์Šคํ… ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  .py ํŒŒ์ผ ์˜†์˜ .piy ํŒŒ์ผ์— ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค. MonkeyType์ด ์Šฌํ”„๊ฒŒ๋„ ์—ฌ๊ธฐ ์ €๊ธฐ์— ๋ช‡ ๊ฐ€์ง€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋†“์นœ ๊ฒƒ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์Šคํ…์„ ์ง์ ‘ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Œ).

๋‚˜๋Š” ๋˜ํ•œ ์‚ฌ๋žŒ๋“ค์ด PyGithub์˜ ์œ ํ˜•์„ ์œ ํ˜• ๊ฒ€์‚ฌ์— ํฌํ•จ์‹œํ‚ค๋ ค๋ฉด ๋ชจ๋“ˆ์˜ __init__.py ์— ์žˆ๋Š” ๋ชจ๋“  ์œ ํ˜•์„ ๋‹ค์†Œ๊ฐ„ ๋‚ด๋ณด๋‚ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ์—ฌ๊ธฐ์—์„œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/zer0tonin/PyGithub/tree/agg/type_stubs

๋‚ด๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์•Œ์•„์ฐจ๋ฆฐ ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” urllib3์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํƒ€์ดํ•‘ ์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์Šฌํ”„๊ฒŒ๋„ ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ์œ ํ˜•์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@zer0tonin ๊ณ„์† ๊ณต์„ ๊ตด

urllib3 ๋Š” ์ตœ๊ทผ #1002์— ๋„์ž…๋œ Retry ๊ธฐ๋Šฅ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— urllib3 ์— ์Šคํ…์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

#1231์—์„œ ํ์‡„
CI ์‹œํ–‰์€ #1442์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰