{"id":13685512,"url":"https://github.com/devxoul/korail","last_synced_at":"2025-03-17T05:32:12.707Z","repository":{"id":13471710,"uuid":"16161727","full_name":"devxoul/korail","owner":"devxoul","description":":train2: An unofficial Korail API for Python.","archived":false,"fork":false,"pushed_at":"2019-11-04T04:30:26.000Z","size":24,"stargazers_count":96,"open_issues_count":1,"forks_count":26,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-02-27T08:23:25.320Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devxoul.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-23T03:56:26.000Z","updated_at":"2025-01-24T00:20:08.000Z","dependencies_parsed_at":"2022-09-10T13:40:22.205Z","dependency_job_id":null,"html_url":"https://github.com/devxoul/korail","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devxoul%2Fkorail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devxoul%2Fkorail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devxoul%2Fkorail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devxoul%2Fkorail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devxoul","download_url":"https://codeload.github.com/devxoul/korail/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243846976,"owners_count":20357294,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T14:00:52.824Z","updated_at":"2025-03-17T05:32:12.273Z","avatar_url":"https://github.com/devxoul.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"======\nKorail\n======\n\nAn unofficial Korail API for Python.\n\n\nInstallation\n------------\n\nYou can install Korail with ``pip`` command like below:\n\n::\n\n    $ pip install korail\n\n\n\nQuick Start\n-----------\n\n1. Login\n~~~~~~~~\n\nYou can login to korail server via *membership number signing* or *phone number signing*.\n\nBasically, to login via *membership number signing*:\n\n::\n\n    from korail import Korail\n    \n    korail = Korail()\n    korail.login('12345678', '0000')  # membership number signing\n\nOr via *phone number signing*:\n\n::\n\n    korail.login('010-1234-5678', '0000', True)  # phone number siging\n\n\n\n2. Search Station\n~~~~~~~~~~~~~~~~~\n\nSearch a station code with station name. All station code and name data is stored in ``stations.py`` file in package.\n\nA single station data looks like:\n\n::\n\n    {\n        \"code\": \"0001\",\n        \"name\": u\"서울\"\n    }\n\n::\n\n    stations = korail.search_station('서울')\n    print stations[0]['code']  # '0001'\n\n\n\n3. Search Train\n~~~~~~~~~~~~~~~\n\nYou can search train schedules with ``search_train()`` method. ``search_train()`` method takes these arguments:\n\ndep\n    A departure station code.\n\narr\n    An arrival station code.\n\ndate\n    Departure date. (``yyyyMMdd`` formatted)\n\ntime (Default='000000')\n    Departure time. (``hhmmss`` formatted)\n\ntrain (Default='05')\n    A train type. One of these:\n\n    - 00: KTX\n    - 01: 새마을호\n    - 02: 무궁화호\n    - 03: 통근열차\n    - 04: 누리로\n    - 05: 전체 (기본값)\n    - 06: 공학직통\n    - 09: ITX-청춘\n\ncount (Default=1)\n    A number of passengers. Minimum value is 1 and maximum is 9.\n\nSample search code:\n\n::\n\n    dep = '0001'  # From: Seoul Station\n    arr = '0015'  # To: Dong-Daegu Station\n    date = '20140114'  # yyyyMMdd\n    time = '001230'  # hhmmss\n\n    # list of ``Trains`` instances.\n    trains = korail.search_train(dep, arr, date, time)\n\n\n\n4. Reservation\n~~~~~~~~~~~~~~\n\n::\n\n    try:\n        korail.reserve(train)\n    except KorailError as e:\n        print e.message\n\n\n\n5. Get Tickets\n~~~~~~~~~~~~~~\n\nRetrieving all ticket information is not support yet. Only ticket id is returned.\n\n::\n\n    korail.tickets()\n\n\n\n6. Cancel Ticket\n~~~~~~~~~~~~~~~~\n\nExample code below cancels all reserved tickets.\n\n::\n\n    for ticket_id in korail.tickets():\n        korail.cancel_ticket(ticket_id)\n\n\n\nTo-Do\n-----\n\n1. Non-member reservation\n2. More detailed exception handling\n3. ``tickets()`` to return all ticket information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevxoul%2Fkorail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevxoul%2Fkorail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevxoul%2Fkorail/lists"}