thrift/lib/py
Neil Williams 01d53f483a THRIFT-5248: Python: Make TSocket.isOpen check if server still connected
Client: py

This is inspired by changes to the Go library (THRIFT-5214) and, by
proxy, this blog post[1]. The idea is that if the other end of the
socket has closed their end of the connection, we can figure that out by
doing a non-blocking read on our socket before we waste time serializing
and sending a message just to find out the socket is closed when we try
to read the response.

[1]: https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/
2020-08-06 08:27:55 -07:00
..
compat/win32 THRIFT-1342 Compilation problem on Windows of fastbinary.c 2011-09-13 13:54:05 +00:00
src THRIFT-5248: Python: Make TSocket.isOpen check if server still connected 2020-08-06 08:27:55 -07:00
test THRIFT-5248: Python: Make TSocket.isOpen check if server still connected 2020-08-06 08:27:55 -07:00
CMakeLists.txt Supplement TNonblockingServer.py testcase 2020-05-26 21:46:16 +02:00
coding_standards.md THRIFT-3148 Markdown links to coding_standards are dead 2015-05-13 21:40:26 +02:00
Makefile.am THRIFT-5248: Python: Make TSocket.isOpen check if server still connected 2020-08-06 08:27:55 -07:00
MANIFEST.in THRIFT-4029: add MANIFEST.in to include the extension files 2017-03-10 06:24:31 -05:00
README.md THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
setup.cfg THRIFT-3691 Run flake8 Python style check on Travis-CI 2016-02-28 12:05:14 +09:00
setup.py fix veralign.sh and bump version (again) 2019-10-20 00:12:14 +02:00

Thrift Python Software Library

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Using Thrift with Python

Thrift is provided as a set of Python packages. The top level package is thrift, and there are subpackages for the protocol, transport, and server code. Each package contains modules using standard Thrift naming conventions (i.e. TProtocol, TTransport) and implementations in corresponding modules (i.e. TSocket). There is also a subpackage reflection, which contains the generated code for the reflection structures.

The Python libraries can be installed manually using the provided setup.py file, or automatically using the install hook provided via autoconf/automake. To use the latter, become superuser and do make install.