의존성 기반 태스크와 플러그인 시스템으로 빌드 수명 주기를 정의하는 Python 프로젝트용 빌드 자동화 도구입니다.
pydoit/doit
Python 함수로 작업을 정의하고, 최신 상태인 작업은 건너뛰는 Python 작업 실행기이자 빌드 도구입니다.
- 스타
- 2,096
- 포크
- 204
- 열린 이슈
- 112
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
doit은 make와 비슷한 작업 관리 및 자동화 도구지만, 전용 DSL이나 YAML 대신 일반 Python 함수와 딕셔너리로 작업을 작성합니다. 작업은 dodo.py 파일에 선언하며, doit은 의존성 순서에 따라 실행합니다.
파일 의존성과 타깃을 추적하고 결과를 캐시해, 마지막 실행 이후 입력이 바뀌지 않은 작업은 건너뜁니다. 하나의 함수에서 하위 작업을 생성하고, calc_dep로 의존성을 동적으로 계산하며, multiprocessing이나 threading으로 작업을 병렬 실행할 수 있습니다.
명령, 리포터, 백엔드, 작업 로더를 지원하는 플러그인 아키텍처로 확장할 수 있어, 작업에서 작성하는 Python 코드로 원하는 라이브러리를 사용할 수 있습니다.
핵심 기능
- 01의존성이 변경된 작업만 다시 실행하는 증분 빌드
- 02일반 Python 함수와 딕셔너리로 작업 정의
- 03작업 그래프의 의존성 순서에 따른 실행
- 04multiprocessing 또는 threading을 통한 병렬 실행
- 05calc_dep를 사용한 하위 작업 생성 및 동적 의존성 계산
- 06명령, 리포터, 백엔드, 로더용 플러그인 시스템
활용 사례
- 파일 기반 증분 빌드가 필요한 프로젝트의 빌드 단계 자동화
- Python으로 작성된 데이터 처리 파이프라인 오케스트레이션
- 버전 관리와 의존성 추적이 가능한 Python 작업으로 임시 셸 스크립트 대체
빠른 시작
- 1
PyPI에서 doit를 설치합니다
pip install doit - 2
태스크 함수가 포함된 dodo.py 파일을 만듭니다(README의 Quick Example 참고)
- 3
dodo.py가 있는 디렉터리에서 doit를 실행합니다
doit
포함된 컬렉션
토픽
자주 묻는 질문
- doit은(는) 무엇인가요?
- Python 함수로 작업을 정의하고, 최신 상태인 작업은 건너뛰는 Python 작업 실행기이자 빌드 도구입니다. doit은 make와 비슷한 작업 관리 및 자동화 도구지만, 전용 DSL이나 YAML 대신 일반 Python 함수와 딕셔너리로 작업을 작성합니다. 작업은 dodo.py 파일에 선언하며, doit은 의존성 순서에 따라 실행합니다.
- doit은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- doit은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- doit은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. doit의 마지막 커밋은 2026년 9월 21일입니다.
- doit은(는) 어디에 사용할 수 있나요?
- 파일 기반 증분 빌드가 필요한 프로젝트의 빌드 단계 자동화 Python으로 작성된 데이터 처리 파이프라인 오케스트레이션 버전 관리와 의존성 추적이 가능한 Python 작업으로 임시 셸 스크립트 대체
- doit는 어떻게 설치하나요?
- PyPI에서 doit를 설치합니다: pip install doit 태스크 함수가 포함된 dodo.py 파일을 만듭니다(README의 Quick Example 참고) dodo.py가 있는 디렉터리에서 doit를 실행합니다: doit
- doit은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pydoit/doit
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
SCons는 다시 빌드해야 할 항목을 파악하고 빌드 명령을 실행하는 Python 기반 소프트웨어 빌드 도구입니다.
Make에서 영감을 받은 Go 기반의 빠른 크로스 플랫폼 태스크 러너로, Taskfile YAML 파일로 설정합니다.
Python 배포판과 기타 시스템으로 만든 애플리케이션을 반복 가능하게 구성하고 배포하는 도구입니다.
컨테이너 없이 Nix 레지스트리의 프로젝트별 패키지로 격리되고 재현 가능한 개발 셸을 만드는 명령줄 도구입니다.
C 컴파일러만 빌드에 필요한 단일 헤더 C 라이브러리로, C로 빌드 스크립트를 작성할 수 있습니다.