{"id":30772179,"url":"https://github.com/query-farm/airport","last_synced_at":"2025-09-05T00:52:42.158Z","repository":{"id":266828753,"uuid":"825027541","full_name":"Query-farm/airport","owner":"Query-farm","description":"The Airport extension for DuckDB, enables the use of Arrow Flight with DuckDB","archived":false,"fork":false,"pushed_at":"2025-08-22T01:11:43.000Z","size":1305,"stargazers_count":293,"open_issues_count":7,"forks_count":16,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-08-30T00:53:28.702Z","etag":null,"topics":["arrow","arrow-flight","duckdb","duckdb-extension"],"latest_commit_sha":null,"homepage":"https://airport.query.farm","language":"C++","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/Query-farm.png","metadata":{"files":{"readme":"docs/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,"zenodo":null}},"created_at":"2024-07-06T15:04:31.000Z","updated_at":"2025-08-25T18:11:55.000Z","dependencies_parsed_at":"2024-12-06T12:16:07.324Z","dependency_job_id":"43d13f03-799c-4a0c-9aca-55b1e33dbc21","html_url":"https://github.com/Query-farm/airport","commit_stats":null,"previous_names":["query-farm/duckdb-airport-extension","query-farm/airport"],"tags_count":0,"template":false,"template_full_name":"duckdb/extension-template","purl":"pkg:github/Query-farm/airport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Query-farm%2Fairport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Query-farm%2Fairport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Query-farm%2Fairport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Query-farm%2Fairport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Query-farm","download_url":"https://codeload.github.com/Query-farm/airport/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Query-farm%2Fairport/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273695251,"owners_count":25151484,"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-09-04T02:00:08.968Z","response_time":61,"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":["arrow","arrow-flight","duckdb","duckdb-extension"],"created_at":"2025-09-05T00:52:38.615Z","updated_at":"2025-09-05T00:52:42.148Z","avatar_url":"https://github.com/Query-farm.png","language":"C++","readme":"# Airport Extension for DuckDB\n\nThe **Airport** extension brings [Arrow Flight](https://arrow.apache.org/docs/format/Flight.html) support to [DuckDB](https://duckdb.org), enabling DuckDB to query, modify, and store data via Arrow Flight servers. A DuckDB extension is a plugin that expands DuckDB's core functionality by adding new capabilities.\n\nTo understand the rationale behind the development of this extension, check out the [motivation for creating the extension](https://airport.query.farm/motivation.html).\n\n# Documentation\n\nVisit the [documentation for this extension](https://airport.query.farm).\n\n# Building the extension\n\n```sh\n# Clone this repo with submodules.\n# duckdb and extension-ci-tools are submodules.\ngit clone --recursive git@github.com:Query-farm/duckdb-airport-extension\n\n# Clone the vcpkg repo\ngit clone https://github.com/Microsoft/vcpkg.git\n\n# Bootstrap vcpkg\n./vcpkg/bootstrap-vcpkg.sh\nexport VCPKG_TOOLCHAIN_PATH=`pwd`/vcpkg/scripts/buildsystems/vcpkg.cmake\n\n# Build the extension\nmake\n\n# If you have ninja installed, you can use it to speed up the build\n# GEN=ninja make\n```\n\nThe main binaries that will be built are:\n```sh\n./build/release/duckdb\n./build/release/test/unittest\n./build/release/extension/airport/airport.duckdb_extension\n```\n\n- `duckdb` is the binary for the duckdb shell with the extension code automatically loaded.\n- `unittest` is the test runner of duckdb. Again, the extension is already linked into the binary.\n- `airport.duckdb_extension` is the loadable binary as it would be distributed.\n\n## Building on MacOS\nIf you have difficulties building with the clang provided by the Xcode Command Line Tools, you may want to try installing llvm and using the included clang. Also, some of the dependencies built by `vcpkg` require GNU bison to be installed:\n```sh\nbrew install bison cmake llvm\nexport CXX=/opt/homebrew/opt/llvm/bin/clang++\n```\n\nIf you are building against the `main` branch of DuckDB you need to be aware that.  Airport now relies on the `httpfs` extension for HTTPS support. Although it builds `httpfs`, it doesn’t link it automatically. As a result, during development, you’ll need to manually copy the built `httpfs` extension into your local DuckDB extension directory—usually `~/.duckdb/extensions/`.\n\nThe following script will copy the necessary extensions to the correct location:\n\n```sh\n#!/bin/sh\nplatform=$(duckdb -noheader -csv -c \"pragma platform\")\nsnapshot=$(basename ./build/debug/repository/*)\nmkdir -p ~/.duckdb/extensions/$snapshot/$platform/\ncp -r ./build/debug/repository/$snapshot ~/.duckdb/extensions/$snapshot\n```\n\n\n## Running the extension\n\nTo run the extension code, simply start the shell with `./build/release/duckdb`. This duckdb shell will have the extension pre-loaded.\n\nNow we can use the features from the extension directly in DuckDB.\n\n## Running the tests\nDifferent tests can be created for DuckDB extensions. The primary way of testing DuckDB extensions should be the SQL tests in `./test/sql`. These SQL tests can be run using:\n\n```sh\nmake test\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquery-farm%2Fairport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquery-farm%2Fairport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquery-farm%2Fairport/lists"}