3.x에서 4.0으로 옮기기¶
4.0은 조회 범위를 축소한 호환성 변경 버전입니다. 설치 방법에 따라 4.0.0을 설치하세요. 아래 표의 제거 항목에는 호환 별칭이나 대체 실행 경로가 없습니다.
기능 축소 배경¶
한국철도공사(코레일) 측의 소스코드 삭제 또는 저장소 비공개 요청에 대응하여, 기존의 로그인·인증·대기열 및 예약·결제·환불 등 관련 기능을 제거했습니다. 로그인·DynaPath·NetFunnel 없이 응답을 확인한 조회 14개만 유지하며, 구체적인 제거 항목과 이전 방법은 다음 표를 참고하세요.
이전 코드 점검¶
| 3.x의 사용 방식 | 4.0에서 바꿀 내용 |
|---|---|
Korail 간편 API와 리소스 객체 |
패키지 루트의 KorailClient 사용 |
| 로그인·로그아웃·세션 파일 | 관련 호출과 입력 제거. 별도의 무인증 모드 설정도 필요 없음 |
dynapath, disable_dynapath, netfunnel_* 설정 |
인자 제거. 관련 구현과 외부 공급자 없음 |
proxy, advertising_id, 기기 프로필 및 환경변수 구성 함수 |
해당 설정과 보조 코드 제거 |
search_trains·환승 검색·운임 |
제공하지 않음. 좌석배정 목록은 별도 계약이므로 입력을 자동 치환하지 않음 |
| 예약·취소·발권·결제·환불·계정·승차권·체크인·패스·공항버스 운행 및 좌석 조회 | 제공하지 않음. 관련 모델과 예외 import도 제거 |
get_seat_assignment_schedule(..., peak_season=...) |
request만 전달 |
list_maas_menus의 승차권별 인자 |
인자 없이 일반 메뉴 조회 |
FreeSeatCarRequest.from_train(...) |
운행 스케줄에서 여섯 식별자를 명시적으로 구성 |
| 내장 앱 오류 사전 조회 | 예외의 code·message와 응답의 h_msg_txt 사용 |
유지한 계약¶
조회 메서드 14개의 이름과 유효 입력의 요청 형식, 응답의 원문 보존은 유지합니다. 목록은 tuple이고 입력·응답 dataclass는 frozen=True, kw_only=True입니다. with 블록과 close()로 연결을 정리합니다. 전체 지원 목록은 API 레퍼런스에 있습니다.
설정과 응답의 차이¶
timeout 기본값은 10초이며 base_url은 HTTPS origin만 허용합니다. 환경변수 프록시와 쿠키 재사용, 리다이렉트 및 자동 재시도는 없습니다. 지원 조회 경로 외의 요청은 내부 전송 계층에서도 거절합니다.
좌석배정 응답에서 항상 None이던 병합 가능 필드와 병합 전용 열차 필드는 제거했습니다. 남은 가용 여부 필드는 조회 데이터이며 예약 기능으로 연결되지 않습니다. 서버의 인증 요구도 일반 KorailAppError로 전달하고 자동 로그인하지 않습니다.
런타임 의존성에서 cryptography를 제거하고 SOCKS extra도 없앴습니다. 필수 의존성은 HTTPX 하나입니다. 예전 버전의 pickle 및 제거된 import 경로와의 호환성을 제공하지 않으므로 저장된 데이터를 다시 읽는 코드는 별도로 확인하세요.
기능 축소 전 문서는 3.0.0 Git 이력에 남아 있습니다. 현재 브랜치는 그 이력을 다시 쓰지 않습니다.