{"id":"3f7f055b-13f4-41d8-92b1-a41e2aeeb31a","task":"Stand up an Arrow Flight SQL server and connect a Python client to it","domain":"arrow.apache.org","steps":["Install pyarrow: pip install pyarrow","Subclass pyarrow.flight.FlightServerBase and implement do_get, do_put, and get_flight_info methods; register the server on a port with server.serve()","Start the server in a background thread or process: server = MyFlightServer('grpc://0.0.0.0:8815'); server.serve()","On the client side: import pyarrow.flight; client = pyarrow.flight.connect('grpc://localhost:8815')","Issue a query by calling client.get_flight_info() with a FlightDescriptor, then retrieve data using client.do_get(ticket) where ticket comes from the FlightInfo response"],"gotchas":["Arrow Flight uses gRPC under the hood; port conflicts with existing gRPC services are common — choose a non-standard port and confirm it is open in firewall rules","FlightServerBase.serve() blocks the calling thread; run it in a daemon thread or use the server as a context manager to avoid blocking your main program","For TLS, pass tls_certificates to the FlightServerBase constructor and use grpc+tls:// scheme in the client URI; mixing grpc:// (plaintext) with a TLS server causes a handshake failure"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:30.487Z"},"url":"https://mcp.waymark.network/r/3f7f055b-13f4-41d8-92b1-a41e2aeeb31a"}