An InterBase driver that implements Python Database API 2.0 support
A powerful, PEP-249-compliant Python driver for InterBase, supporting both 32-bit and 64-bit.
The InterBase Driver for Python is based on the FDB driver and provides access to the InterBase RDBMS using a robust and flexible Python interface. This package supports the Python Database API 2.0 standard (PEP-249) while offering extended access to the native InterBase API.
๐ InterBase Documentation
๐ GitHub Source Code
Requires Python 3.x (32-bit or 64-bit version to match InterBase client).
Install via PyPI:
pip install interbase
Or install from the GitHub repository:
pip install git+https://github.com/Embarcadero/InterBasePython.git
# or via SSH:
pip install git+ssh://[email protected]/Embarcadero/InterBasePython.git
cd test/files
isql -i create-test-db.sql
import interbase
con = interbase.connect(
host=IBTEST_HOST, # Hostname or IP address of the InterBase server
database=IBTEST_DB_PATH, # Path to the database file on the server
user=IBTEST_USER, # Username for authentication
password=IBTEST_PASSWORD, # Password for authentication
sql_dialect=IBTEST_SQL_DIALECT, # SQL dialect to use (usually 1 or 3)
ssl=IBTEST_SERVER_PUBLIC_FILE is not None, # Enable SSL if a public server key is provided
server_public_file=IBTEST_SERVER_PUBLIC_FILE # Path to the server's public SSL key file (if SSL is enabled)
)
cur = con.cursor()
cur.execute("SELECT * FROM employees")
for row in cur:
print(row)
cur.execute("INSERT INTO employees(name, age) VALUES (?, ?)", ("John Doe", 34))
con.commit()
transaction = con.main_transaction
transaction.begin()
cursor = transaction.cursor()
cursor.execute("INSERT INTO t (c1) VALUES (1)")
transaction.commit()
import interbase
with interbase.TransactionContext(con) as tr:
cursor = tr.cursor()
cursor.execute("INSERT INTO t (c1) VALUES (1)")
# The transaction is automatically committed when the block ends.
Explore the test
folder in the GitHub Repository for full coverage of features, including:
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the Embarcadero license terms.
๐ Stay up to date with the latest changes and enhancements to InterBase by following the official Embarcadero Blog.