{"id":15142645,"url":"https://github.com/jktujg/svo-log-api","last_synced_at":"2025-10-08T03:49:34.444Z","repository":{"id":255816141,"uuid":"853235424","full_name":"jktujg/svo-log-api","owner":"jktujg","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-07T07:48:04.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T15:54:29.487Z","etag":null,"topics":["airport","api","fastapi","sheremetyevo","svo"],"latest_commit_sha":null,"homepage":"https://svolog.ru/api/v1/docs","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jktujg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-06T08:54:30.000Z","updated_at":"2024-09-07T07:48:07.000Z","dependencies_parsed_at":"2024-09-07T09:03:27.010Z","dependency_job_id":null,"html_url":"https://github.com/jktujg/svo-log-api","commit_stats":null,"previous_names":["jktujg/svo-log-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jktujg/svo-log-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jktujg%2Fsvo-log-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jktujg%2Fsvo-log-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jktujg%2Fsvo-log-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jktujg%2Fsvo-log-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jktujg","download_url":"https://codeload.github.com/jktujg/svo-log-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jktujg%2Fsvo-log-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278886414,"owners_count":26062975,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["airport","api","fastapi","sheremetyevo","svo"],"created_at":"2024-09-26T09:43:17.120Z","updated_at":"2025-10-08T03:49:34.416Z","avatar_url":"https://github.com/jktujg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# International Airport Sheremetyevo (SVO) schedule API unofficial wrapper \nThe API of the official [website](https://www.svo.aero/) provides access only to the current, past, and next days actual schedule (at least in open access), as well as information about the seasonal schedule (not yet implemented in the current API)\n\nThis wrapper, implemented using FastAPI, allows to save the history of changes and provides endpoints to access schedule entities with additional filtering parameters\n\nFor example, to get a list of airports with flights operated by Aeroflot (SU) to the Asian region between May 5, 2024, and May 7, 2024, inclusive:\n```shell\ncurl 'https://svolog.ru/api/v1/airports/?order_by=name\u0026page=0\u0026limit=100\u0026region=europe\u0026date_start=2024-05-05%2000%3A00%3A00z\u0026date_end=2024-05-08%2000%3A00%3A00z\u0026company=SU\u0026direction=departure'\n```\nTo select flights to the obtained destinations:\n```shell\ncurl 'https://svolog.ru/api/v1/flights/?order_type=asc\u0026page=0\u0026limit=100\u0026date_start=2024-05-05%2000%3A00%3A00z\u0026date_end=2024-05-08%2000%3A00%3A00z\u0026direction=departure\u0026company=SU\u0026destination=MSQ%2CEVN'\n```\nTo get data on a specific flight with a history of changes:\n```shell\ncurl 'https://svolog.ru/api/v1/flights/24721?changelog=true'\n```\nFor more details, see the  [OpenAPI](https://svolog.ru/api/v1/docs) and [Redoc](https://svolog.ru/api/v1/redoc) specifications\n\nThis API is used by the Telegram bot [@svologbot](https://t.me/svologbot) [GitHub](https://github.com/jktujg/svo-sked-bot)\n\n## Stack\n- Python3.11+\n- FastAPI\n- SQLAlchemy\n- PostgreSQL (psycopg3)\n- Alembic\n- Uvicorn / Gunicorn\n\n## Requirements\n- [Docker](https://www.docker.com/)\n- Content population is carried out by a bot based on the [SDK](https://github.com/jktujg/aero-svo-api) **(not included in the project)**\n\n## Local Development\n- Replace the `changethis` values in the `./.env` file\n- Start the stack with Docker Compose:\n```shell\ndocker compose up -d\n```\nThe default `docker-compose.override.yml` configured for local development to run a restartable Uvicorn server when local files are changed\n\nTo add flight data, a user with access rights to PUT methods will be created during startup\n\nBy default, access to the OpenAPI specification is available at http://127.0.0.1:8000/api/v1/docs and Redoc specification is available at http://127.0.0.1:8000/api/v1/redoc\n\nTo run on the Gunicorn WSGI server without restarting on local file changes, exclude the configuration in `docker-compose.override.yml`:\n```shell\ndocker compose --file docker-compose.yml up -d\n```\n\n### Testing\nTo run tests in a container, use the script:\n```shell\n./scripts/tests-start.sh --cov=app/\n```\nTests will be run using Pytest with the provided parameters passed through\n\nTo modify and add tests, use the `./tests directory`.\n### Test running stack\nTo run tests on the running stack, use the script:\n```shell\ndocker exec svolog-api ./scripts/tests-running.sh --cov=app/\n```\nProvided parameters will be passed to Pytest as well","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjktujg%2Fsvo-log-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjktujg%2Fsvo-log-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjktujg%2Fsvo-log-api/lists"}