Python 3 Firebird-driver & Firebird-lib 1.0.0 released

The firebird-driver package provides official Python Database API 2.0-compliant driver. In addition to the minimal feature set of the standard Python DB API, this driver also exposes the new (interface-based) client API introduced in Firebird 3, and number of additional extensions and enhancements for convenient use of Firebird RDBMS. The driver is written as pure-Python package (requires Python 3.8+) on top of Firebird client library (fbclient.so/dll) using ctypes. Driver supports Firebird version 3.0 and higher.

You can download this driver from PyPI or or install it using pip.

Please note, that FDB driver is now considered as legacy driver, and its development will be discontinued together with 2.5 once Firebird 4.0 will be released later this year.

The driver uses firebird-base package, which is a collection of modules that have general applicability, like extended configuration, context-driven logging and trace/audit, hooks, work with structured binary buffers, extended data structures etc. The driver uses almost all features provided by “base” package, but specifically the use of hook mechanism and context-driven logging and trace/audit are potentially the most valuable improvements.


The firebird-lib package provides extensions to the firebird-driver.
This package provides modules for:

  • Work with Firebird database schema.
  • Work with Firebird monitoring tables.
  • Processing output from gstat Firebird utility.
  • Processing Firebird server log.
  • Processing output from Firebird server trace & audit sessions.

You can download this library from PyPI or or install it using pip.

Firebird 3 driver for Python 3 Release 0.8.0

The driver is no longer beta, and is now considered as stable for Firebird 3.0 (support for Firebird 4 is still evolving till final release).

ChangeLog:

Documentation, both in code and separate (especially Usage Guide).

Added support for new FB4 data types in ARRAY fields.

Refactoring in driver hooks.

New Cursor.call_procedure() method.

Refactoring and fixes in Server and its services.

New Firebird driver for Python – preview release

There is now an official preview release – v0.5.0 – available on PyPI:
https://pypi.org/project/firebird-driver/

All core driver functionality works, except handling of limbo
transactions due to error discovered in Firebird (should be fixed in
soon to be released Firebird 3.0.6).

This preview version was released because the driver architecture is
evolving rapidly, and I would like get some feedback before the initial
release planned for end of June.

Some important notes about the driver architecture:

  1. It uses namespace package “firebird”, and the driver is distributed
    as “firebird.driver” package. There are other packages that share the
    same namespace: “firebird.base” and “firebird.butler”. In future I’d
    like introduce “firebird.lib” package for extension libraries (former
    schema, monitor and other extension modules in FDB).
  2. Although the initial driver design was close to FDB, there are
    significant differences and the driver architecture and API will diverge
    further from FDB or KInterbasDB. The sole backward “compatibility” is
    defined as compliance to Python DB API 2.0. So the new driver is not and
    will not be a drop-in replacement for FDB.

Here are some main decisions related to implementation and architecture:

1 18 19 20 21 22 296