Contact Us | Site Map
Firebird is used by approximately 1 million of software developers worldwide. High compatibility with industry standards on many fronts makes Firebird the obvious choice for developing interoperable applications for homogeneous and hybrid environments.
Join Firebird!
Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses
Follow Us
Select your media preference
Newsletter
Subscribe to Firebird’s Newsletter to receive the latest news
Python Driver
The current driver for Python language is called KInterbasDB, and was developed and maintained by Davis S. Rushby independently to the Firebird project. Unfortunately, the development of this driver was discontinued after David died in drowning accident and nobody took over the project. However, the Firebird QA project which uses Python extensively depends heavily on this driver, so we had to find a solution for future. We have considered the option to take over this project, but we decided that's not practical for next reasons:
  1. KInterbasDB also supports InterBase, but we don't have necessary expertise to maintain or even expand it's IB support (both products divert from each other more and more with every new version). So if KDB would be maintained by Firebird Project, the IB support would be eventually dropped, which we would consider as unfair to current KDB users.
  2. KInterbasDB is currently implemented as C extension library wrapped in a pile of Python code. This arrangement puts significant difficulties on any developer that would like provide it on various OS (Firebird runs on more than Windows and Linux) and Python platforms (for example IronPython, PyPy). The future of this project seems to be in complete rewrite in pure Python that talks directly to Firebird using the wire protocol instead using the client library, i.e. in the same way like JayBird type 4 driver or .NET Provider driver works. So while we'll maintain current KDB for some time, it will be eventually replaced with completely new driver written from scratch, and although we'd like keep it backward compatible, it's not necessary to do that. Hence it's possible that next major version of KDB would be different product anyway.
In light of these arguments, we decided to start a completely new subproject for Firebird Python driver. Until stable version of completelly new Driver would be available, we will provide maintenance releases for KInterbasDB to keep it working with latests Firebird engine. We also have snapshots of KDB 3.3 created by David that adds significant new feature — support for multiple transaction in single connection, which would make the basis for next version (it's stable, but not thoroughly tested), and we would like release this version as well in David's memory.

Release Date File Name Size Description
Current Release: KInterbasDB 3.3
January 15, 2009kinterbasdb-3.3.0.tar.bz2 357 KB Source code
  Change Log   Details about this release
IMPORTANT NOTE: Because Firebird 2.1 client library is statically linked to glibc on Linux, you may encounter (typically on 32-bit Linux system) an error "ImportError: /usr/lib/libfbclient.so.2: undefined symbol: _Unwind_GetIP" when importing kinterbasdb. This issue will be addressed by next Firebird 2.1 maintenance release. Meanwhile you can fix it using LD_PRELOAD environment variable to preload libgcc_s.so before running any program that uses kinterbasdb.
Python V2.7 Builds
October 16, 2010 kinterbasdb-3.3.0.win32-py2.7.msi 541 KB Windows executable installer for Python 2.7 32-bit
October 16, 2010 kinterbasdb-3.3.0.win-amd64-py2.7.msi 557 KB Windows AMD64 installer for Python 2.7 AMD-64
Older Pythons
  kinterbasdb-3.3.0.win32-setup-py2.4.exe 482 KB Windows executable installer for Python 2.4
  kinterbasdb-3.3.0.win32-py2.5.msi 512 KB Windows installer for Python 2.5
  kinterbasdb-3.3.0.win32-setup-py2.5.exe 482 KB Windows executable installer for Python 2.5
  kinterbasdb-3.3.0.win32-py2.6.msi 528 KB Windows installer for Python 2.6
  kinterbasdb-3.3.0.win32-setup-py2.6.exe 508 KB Windows executable installer for Python 2.6
  kinterbasdb-3.3.0.win-amd64-py2.6.msi 544 KB Windows AMD64 installer for Python 2.6

Firebird-Python Power Tools

Pavel Cisar, May 28, 2009

PowerConsole

Today I released PowerConsole v.0.7 to the public. PowerConsole is an enhanced Python interpreter that can host user defined commands. It uses pyparsing-based grammars for user commands to translate them into python calls, so it has limited support for mixing them with Python code. A basic, ready to use CLI interpreter is included.

PowerConsole is the evolution of Firebird PowerTool I presented at Firebird Conference 2006 (Transcript, must RIGHT-CLICK and Save As..). It's the universal execution engine for user commands and the new Firebird PowerTool is built on top of it as plugin (command package). Actually, the Firebird QA tool set is being rewritten on top of it too.

Both expansions are still in development so they're not on PyPI yet, but you may taste them by installing pwcfb (Firebird PowerTool) or pwcfbqa (Firebird QA package) from the PowerConsole download area.

Use easy_install with the -f option to point to it.

The core is considered stable, and you can start to develop your own commands for it.

Feedback

Your comments, via the Firebird-Python list, are welcome. Subscribe here.

Requirements
  • Python 2.5 or 2.6
  • kinterbasdb (for firebird and qa expansions)
  • qmtest (for qa expansion)
  • other dependencies are resolved by easy_install, however cheetah-community-edition (for qa expansion) must be taken from our site (use the -f switch).
Links
Installation

Use easy_install from the python setuptools package to download and install it.

If you don't have setuptools installed yet, download and run this python script.

Home About Firebird Downloads Documentation Community Support Development Case Studies Back to Top
This site and the pages contained within are Copyright © 2000-2012, Firebird Project. Firebird® is a registered trademark of Firebird Foundation Incorporated. Developed by DQ Team.