New Firebird driver for Python – preview release

There is now an official preview release – v0.5.0 – available on PyPI:

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:

IBX 2.3.4 is now available for download

MWA Software is pleased to announce that release 2.3.4 of IBX for Lazarus is now available for download from

This is the first update in over a year and provides a consolidated set of minor bug fixes. The changelog for IBX itself is available from here and the changelog for the Firebird Pascal API is available from here.

The next release of IBX should be available in the near future and will focus on support for the forthcoming Firebird 4. It will provide support for the new Firebird data types including TIMESTAMP WITH TIME ZONE and extended precision numerics (DecFloat).

Mark Rotteveel migrated the first documents to asciidoc

Mark Rotteveel and documentation team migrated the first documents to asciidoc

– Docbuilding Howto
– Docwriting Guide

ps: Since May/June 2020, the Firebird documentation project has switched to AsciiDoc for its documentation. This section gives a short overview how AsciiDoc is used by the project.

New Firebird driver for Python

As Pavel Cisar promised at Firebird Conference in Berlin, the Firebird has brand
new DB API 2.0 driver for Python. It’s part of modernization campaign
that shakes off the legacy that goes back to KInterbasDB and Firebird 2.0.

Please note, that his new driver requires Firebird 3+ and Python 3.8+.
This “high” base line was chosen deliberately, to use all new features
available from latest Firebird & Python releases without constraints and
limits that backward compatibility would require. Internally, the driver
uses new client API based on interfaces introduced by Firebird 3. This
new API has many limits raised (like statement sizes, blob sizes etc.)
or completely lifted (like number of databases participating in
distributed transaction), and provides access to new Firebird features
(like scrollable cursors).

The initial release (v0.5.0) supports all key driver features you know
from FDB (passes all tests for FDB features), with next exceptions:

Missing parts:
– distributed transactions (will appear in next version)
– FDB extensions like schema, monitoring tables and log parsers. These
modules will be developer later, and released as separate package.
– documentation

New features in comparison to FDB:
– scrollable cursors
– type hints everywhere
– new FB client API instead old one
– enhanced Enums and Flags classes instead isc_* constants
– better and more rich support for Firebird services

The driver has also much cleaner structure and namespaces, and less core
code than FDB, and although it was not measured yet, it should also
perform better. However, the driver API is not 100% backward compatible
(with FDB).

Right now, the new driver is available only from project’s GitHib at

1 2 3 4 5 278