규도자 개발 블로그
python-cli-base: 파이썬 cli package를 만들기 위한 베이스 프로젝트 본문
python-cli-base: 파이썬 cli package를 만들기 위한 베이스 프로젝트
를 만들었다. 코드는 https://github.com/jujumilk3/python-cli-base 이곳에서 확인할 수 있다.
물론 pip install python-cli-base
명령어를 통해 pip로도 설치할 수 있으며 pypi 주소는 https://pypi.org/project/python-cli-base/ 이곳이다. 만약에 python cli app을 만들고 싶은 사람이라면 이걸 설치해서 어디서 무엇을 어떻게 참조해서 실행되는 것인지 분석해본다면 코드를 추가해서 간단하게 자신이 원하는 cli app을 제작할 수 있을 것이다. 그런 목적으로 제작하기도 했고. 내가 많이 해매서.. ㅠㅠ
최종목적은 circular import 검사기를 만들고 github actions에 올려서 ci/cd 과정 중에 쓸 수 있게 하는 것이므로 인스톨했을 때 바로 pcb
라는 명령어로 실행될 수 있게 작업했고 부차적인 명령어 옵션들은 저장소 README.md에 설명돼있다. 제작할 때 기존에 설치하자마자 cli 명령어를 지원하던 aws-cli나 black 등등을 많이 참고했다.
circular import 검사기는 왜 만들려고 하는 것이냐, 코드가 병합되면서 내가 작업할 땐 없었던 cyclic reference가 생기기 때문이다. 최근에 겪기도 했었고, ci/cd과정 중에 test code가 있었음에도 불구하고 test coverage가 100%를 채우지 않는 이상 발견할 수 없는 문제였다. 그래서 사실 circular import를 검사해주는 pycycle이라는 프로젝트를 찾긴 했는데 (https://github.com/bndr/pycycle) 얘로는 복잡한 프로젝트에서의 circular import를 찾지 못하더라. 현재 배포버전에서 버그도 있고 영 신뢰할만하지가 않다.
그래서 직접 만들기로 했다 핳하
pcb는 현재 0.0.2버전으로 릴리즈하긴 했는데 뭐 더 추가할 것도 없고 뺄 것도 없는 100줄 이하의 프로젝트라서 따로 또 작업할 일은 없을 것 같다.
p.s: 오픈소스 좋아하는 사람들의 특징...이라고 해야하나. 오히려 뭔가 이런 허점이나 결함, 결핍을 발견하게 되면 너무 기분이 좋다. 하하핳
'Python > Python' 카테고리의 다른 글
sqlite memdb의 맹점 (※: 테스트할 때 주의할 점) (0) | 2022.12.18 |
---|---|
crybaby: 오류메시지를 slack으로 보내기 위한 exception handler (3) | 2022.11.09 |
내가 jetbrain IDE에서 black 포매터를 사용하는 방법 (0) | 2022.09.04 |
Elixir의 Pipe연산자(|>)를 파이썬에서쓰기 위한 발악 (0) | 2022.08.28 |
파이썬 인터닝 (Python Interning) - 객체 재사용 (1) | 2022.06.06 |