CatchTable CLI (ct)
캐치테이블(CatchTable) 서비스를 터미널에서 이용할 수 있는 비공식 CLI 도구입니다. AI 에이전트 친화적 설계(Agent DX)를 적용하여 자동화 파이프라인에서도 안정적으로 동작합니다.
주요 기능
- 매장 검색 (
search): 위치, 음식 종류, 날짜, 인원수 기반 검색 - 지역 검색 (
search region): 지역 기반 매장 탐색 - 매장 정보 (
shop info): 특정 매장의 상세 정보 조회 - JSON-First 출력:
--json플래그로 구조화된 JSON 출력 - 스키마 자체검사:
ct schema명령으로 입출력 스키마 확인 - 입력 검증: 잘못된 인자에 대해 명확한 오류 메시지 제공
- dry-run 모드: 실제 API 호출 없이 요청 미리보기
설치
Python 3.11 이상이 필요합니다.
pip install catchtable-cli
또는 소스에서 설치:
git clone https://github.com/tellang/catchtable-cli.git
cd catchtable-cli
pip install -e .
사용법
# 매장 검색
ct search "스시" --location "강남" --date 2026-03-20 --party-size 2
# JSON 형식 출력
ct search "한우" --json
# 매장 상세 정보
ct shop info SHOP_ID
# 스키마 확인
ct schema
# 버전 / 개요
ct version
ct overview
환경 변수
.env 파일을 프로젝트 루트에 생성하세요.
| 변수 | 설명 | 기본값 |
|---|---|---|
CT_API_BASE_URL |
API 엔드포인트 | https://api.catchtable.co.kr |
CT_AUTH_TOKEN |
인증 토큰 | (필수) |
프로젝트 구조
catchtable-cli/
├── catchtable_cli/
│ ├── __init__.py
│ ├── cli.py # Typer 앱 진입점
│ ├── client.py # HTTP API 클라이언트
│ ├── config.py # 환경 변수 설정
│ ├── models.py # 데이터 모델
│ ├── schema.py # 입출력 스키마 정의
│ ├── validate.py # 입력 검증 로직
│ └── commands/
│ ├── __init__.py
│ ├── search.py # 검색 커맨드
│ └── shop.py # 매장 정보 커맨드
├── pyproject.toml
└── README.md
라이선스
MIT
Metadata
Release files for catchtable-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| catchtable_cli-0.1.0.tar.gz | 37.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| catchtable_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.8 kB
Release files / catchtable_cli-0.1.0.tar.gz
| Download URL | catchtable_cli-0.1.0.tar.gz |
|---|---|
| Size | 37.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ffe8cca6a4cd87ce6edf826cdd5fb040d30fe8bbd4e7252c8f0de348e1dc466
|
|
BLAKE2b-256 checksum How to use checksums |
5b8296d8b1ac172fa2e4271ffc0a5d6b51650481dfa66a6f44531adfbe12682f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / catchtable_cli-0.1.0-py3-none-any.whl
| Download URL | catchtable_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57edf7764fcf2f592428cfb98c5580f642f1b0a7765b063d7540fdb1f3febc6c
|
|
BLAKE2b-256 checksum How to use checksums |
ca8741720b693c20397c9afba9c3d59bd37a459049666f0a6b8581c79c0f2435
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|