.. | ||
build | ||
ibapi | ||
test | ||
vnib | ||
__init__.py | ||
build.sh | ||
CMakeLists.txt | ||
README_en.md | ||
README.md | ||
vnib.pyd | ||
vnib.so |
vn.ib
vn.ib
is still under developing, encapsulation is partially done, further
contributions are warmly welcome : )
Introduction
vn.ib
is a Python encapsulation of IB POSIX C++ API with full functionality of
the original C++ API. The name of functions and classes is consistent with original
C++ API.
Difference between vn.py and IbPy
vn.ib
is a Python encapsulation of POSIX C++ API based on Boost.Python, which provides higher efficiency than IbPy.vn.ib
integrates exception handling function inside the encapsulation, which avoids the disconnection to the IB server when exception is triggered.vn.ib
needs to be compiled before calling (by default, .pyd file is compiled under Windows 7 32bit environment), while IbPy is a pure Python library.vn.ib
is based on 9.72 beta API, while IbPy is based on old 9.70 stable API.
Changes from original API
Object comparison functions are added into shared_ptr.h
and SoftDollerTier.h
in order to automaticall encapsulate vector
object to Python.
Linux version
Currently, revision is needed to deploy vn.ib
in Linux environment:
- Object comparison functions are added into
shared_ptr.h
andSoftDollerTier.h
in order to automaticall encapsulatevector
object to Python. EReader.cpp
: EReader::bufferedRead, changemin
tostd::min
(No revision needed in Windows environment)EClient.cpp
: AddEncodeField<const char*>
in order to partially characterizeEncodeField<T>
(If you use GCC to compile, you need to do this, otherwise you will getunderfined symbol
error. MSVC is free from the error).
We suspect that IB development team is developing and testing the API under Windows environment, here is the compiling process:
- cd
vn.ib/ibapi/linux
, runbash build.sh
to generate twsapi.so - cd
vn.ib/
, runbash build.sh
to generate vnib.so
API version
Version: IB API for Windows beta 9.72.18
Date: 2016-09-14