# PyQQQ CLI 사용하기 `pyqqq-cli`는 PyQQQ 플랫폼에서 배포된 전략을 제어하기 위한 강력하고 직관적인 명령줄 도구입니다. 이 도구를 사용하면 PyQQQ의 기능을 손쉽게 활용하고, 전략을 배포하거나 상태를 관리할 수 있습니다. [PyPI 페이지](https://pypi.org/project/pyqqq-cli/)에서 자세한 정보를 확인할 수 있습니다. ## 설치 및 설정 ### 요구사항 **Python 3.11** 이상이 필요하며, pip를 통해 설치할 수 있습니다. ### 설치 ```bash $ pip install pyqqq-cli ``` ### API Key 설정 PyQQQ 에서 발급받은 API Key를 `.qred` 파일에 저장합니다. ```bash $ echo "YOUR_API_KEY" > ~/.qred ``` API Key는 PyQQQ 플랫폼에 대한 인증을 위해 사용됩니다. 파일이 안전하게 저장되었는지 확인하세요. ## 사용방법 설치가 완료되었다면, 아래 명령어로 pyqqq-cli의 설치를 확인할 수 있습니다. ```bash $ qqq version ``` 정상적으로 설치되었다면 버전 정보가 출력됩니다. ```{tip} `qqq 명령어 --help` 를 사용하면 명령어 도움말을 확인할 수 있습니다. ``` ## 애플리케이션 작성 및 배포 간단한 애플리케이션을 작성하고 pyqqq-cli 를 사용해보도록 하겠습니다. 아래는 1초마다 현재 시간을 출력하는 간단한 애플리케이션 입니다. ```python # sample.py import asyncio import datetime as dtm async def run(): while True: print(dtm.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "Hello World!") await asyncio.sleep(1) ``` 이 코드를 작성한 후, sample.py 라는 이름으로 저장합니다. ### 전략 배포하기 배포 명령어를 사용하여 애플리케이션을 PyQQQ 플랫폼으로 전송합니다. ```bash $ qqq deploy sample.py ``` 배포가 성공하면 완료 메시지가 출력되며, 애플리케이션이 실행 상태로 전환됩니다. ### 배포된 전략 목록 확인 배포된 전략(애플리케이션)은 아래 명령어로 확인할 수 있습니다. ```bash $ qqq list ``` 출력 결과는 다음과 같은 표 형태로 표시됩니다. | DEPLOYMENT ID | STRATEGY NAME | STATUS | TYPE | CREATED AT | |--------------------------------------------|-------------------|---------|-----------|---------------------| | xpzn74qvwpo0wide4jfm64yfxfj9-sample | sample | Running | strategy | 2025-01-13 13:54:34 | 배포된 목록은 위의 테이블 형태로 출력됩니다. * `DEPLOYMENT ID`: 배포된 전략의 고유 ID입니다. 이후 제어 명령에서 사용됩니다. * `STARTEGY NMAE`: 배포한 파일의 이름입니다. * `STATUS`: 현재 배포된 전략의 상태입니다 (Running, Stopped 등). * `TYPE`: 전략의 유형입니다. 일반 전략인지, 백테스트용인지 구분됩니다. * `CREATED AT`: 배포가 완료된 시각입니다. ### 실시간 로그 보기 실행 중인 전략의 로그를 확인할 수 있습니다. `Ctrl + C` 를 눌러 로그보기를 중단할 수 있습니다. ```bash $ qqq logs xpzn74qvwpo0wide4jfm64yfxfj9-sample -f ``` ### 전략 삭제 더 이상 필요하지 않은 전략은 아래 명령어로 삭제할 수 있습니다. ```bash $ qqq delete xpzn74qvwpo0wide4jfm64yfxfj9-sample ``` ## 마무리하며 앞에서 소개해드린 `deploy`, `delete`, `logs` 는 가장 기본적인 명령어 세트입니다. `backtest`, `pause`, `resume` 등 다양한 명령어 세트를 학습하고 사용해보세요! 전략의 실행과 관리가 훨씬 수월해질 것입니다. 🚀