Skip to main content

firebird-embedded

firebird-embedded packages prebuilt Firebird client and embedded-engine files as platform-specific Python wheels. It does not compile Firebird. The Python distribution is firebird-embedded; its import package is firebird.embedded within the implicit firebird namespace package.

The agent skill describes provider discovery and integration with firebird-driver for applications using the installed wheel.

Architecture

The small Python package exposes firebird.embedded.provider.FirebirdProvider through the firebird.runtime.providers entry-point group. Consumers discover the provider class, instantiate it, and obtain the installed runtime root, client-library and log paths, versions, and capabilities. The provider does not depend on firebird-driver or configure it.

Each wheel contains the Python package at firebird/embedded/ and one prepared native runtime at firebird/embedded/runtime/. hatch_build.py selects that runtime using FIREBIRD_EMBEDDED_TARGET and adds it to the wheel. The runtime includes an initially empty firebird.log at its root. The wheels have py3-none-<platform> tags because the native files do not depend on a particular Python ABI. A build host can assemble wheels for other platforms from their prebuilt Firebird archives.

Native runtime requirements

The Linux wheels use these tags so PyPI accepts them and installers select the matching architecture and glibc version:

Target Platform tag
linux32 manylinux_2_26_i686
linux64 manylinux_2_17_x86_64
linux32-arm manylinux_2_17_armv7l
linux64-arm manylinux_2_17_aarch64

Firebird 5 also requires the target system to provide libtommath.so.1 and its dependencies. This library is not bundled in the wheels. Install the distribution package supplying it before using the embedded runtime; a matching manylinux tag alone does not establish that it is present.

The Windows wheels include the Visual C++ runtime DLLs used by the supplied Firebird binaries, along with the required ICU DLLs. The Windows installation must provide the Universal CRT components those binaries import.

The package version has four components: <Firebird major>.<minor>.<revision>.<packaging revision>. The first three components must match the bundled Firebird release. The version is stored in src/firebird/embedded/__about__.py.

Repository layout

.
├── make_embedded.py              # prepare configured local runtimes
├── hatch_build.py                # select one runtime for a wheel
├── pyproject.toml                # metadata, targets, and Hatch scripts
├── src/firebird/embedded/        # provider and package metadata
└── firebird-binaries/
    ├── assets/
    │   ├── linux32/             # cached Firebird release archives
    │   ├── linux64/
    │   ├── linux32-arm/
    │   ├── linux64-arm/
    │   ├── win32/
    │   ├── win64/
    │   ├── manifest/             # this branch's <target>.txt mappings
    │   └── override/             # optional branch-local replacements
    └── <version>/<target>/       # prepared runtime directories

The cached archives and prepared runtimes are local build assets and are ignored by Git. Only this branch's flat manifests and overrides are tracked. Each manifest selects only the files needed for its embedded runtime, including files later replaced by an override. A preparation record at <version>/.prepared.json lets the wheel hook reject incomplete or mismatched runtimes.

The fb-3.0 and fb-4.0 branches build Linux x86/amd64 and Windows x86/x64 wheels. Their published ARM kits target Android, not Linux. fb-5.0 builds all six targets. main is a build-disabled scaffold for Firebird 6, with no release manifests or target settings.

Prepare local runtimes

Run these commands from the repository root. Use Python 3.11 or newer:

python3.11 make_embedded.py

The script reads firebird-version and target settings from pyproject.toml. An optional version argument must match that configuration. It checks firebird-binaries/assets/<target>/ for matching archives, downloads missing ones from the corresponding Firebird GitHub release, and prepares the versioned runtime trees from the branch-local manifests and optional overrides. It installs all configured targets together, with rollback on failure.

For a new Firebird release, update the first three components of src/firebird/embedded/__about__.py and the tool.firebird-embedded.firebird-version setting in pyproject.toml before building wheels. Also update tool.hatch.build.directory with new Firebird version so produced wheels are stored in separate directory. Update archive suffixes and branch-local manifests if an upstream kit changes. make_embedded.py does not edit package metadata.

Build wheels

From the repository root, run one Hatch script per target:

hatch run linux32
hatch run linux64
hatch run linux32-arm
hatch run linux64-arm
hatch run win32
hatch run win64

The scripts are defined in the default Hatch environment. Each runs a wheel build with its own FIREBIRD_EMBEDDED_TARGET; the wheels are written to dist/<Firebird-version>/. A target's versioned prepared directory and preparation record must exist before its wheel is built. Run only the scripts configured on the branch.

Metadata

Release files for firebird-embedded 5.0.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for firebird-embedded 5.0.4.4
File
firebird_embedded-5.0.4.4-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
firebird_embedded-5.0.4.4-py3-none-win32.whl Python 3 none Windows x86-32 Details
firebird_embedded-5.0.4.4-py3-none-manylinux_2_26_i686.whl Python 3 none Linux glibc 2.26+ x86-32 Details
firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details

Total release size: 72.8 MB

Release files / firebird_embedded-5.0.4.4-py3-none-win_amd64.whl

Download URL firebird_embedded-5.0.4.4-py3-none-win_amd64.whl
Size 18.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
5abe82598d36e4cec180c1695c3106b7fb3b90da89cea91e6b9a3325df2afa05
BLAKE2b-256 checksum
How to use checksums
bf90bfc7ed48866b29d723f6d3ccc30bf5bc7a5b0a6760ece8cda8b21df41cc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / firebird_embedded-5.0.4.4-py3-none-win32.whl

Download URL firebird_embedded-5.0.4.4-py3-none-win32.whl
Size 18.0 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
c483df7fd15faeb9851a341f89532dd9e902b7f9927c35b1ac5d929d5e6049a9
BLAKE2b-256 checksum
How to use checksums
f94ef661d85ed348ac589af6189e599fc53bfebadd3b80c340026eaf8440d0d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / firebird_embedded-5.0.4.4-py3-none-manylinux_2_26_i686.whl

Download URL firebird_embedded-5.0.4.4-py3-none-manylinux_2_26_i686.whl
Size 10.0 MB
Tags Linux glibc 2.26+ x86-32 Python 3
SHA-256 checksum
How to use checksums
8f6b2c65e7239177536eb7e8b3466733a66f7f3494890f20afcfa48c392f9182
BLAKE2b-256 checksum
How to use checksums
a2189922d6c5e3943a1d15573b248551a76a76accc7fd3ec316a1c110e0e890e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_x86_64.whl

Download URL firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_x86_64.whl
Size 9.2 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
4112cf5c25cea05d39d4f51c8ac54e0341d341b2099e8b2592a65e80a00463e4
BLAKE2b-256 checksum
How to use checksums
9512eb462c566fb89ffc57eecfa5455ca538f4e6d278915773473eec6bd7163b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_armv7l.whl

Download URL firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_armv7l.whl
Size 8.0 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
2b1e0dd52cc2af26f3655abc67d97c6831d136753398c6e994957bd60068022c
BLAKE2b-256 checksum
How to use checksums
511b8d060d3e2762e0089cdc84627976a9d22d5447e148bfcf42447f3b0287e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_aarch64.whl

Download URL firebird_embedded-5.0.4.4-py3-none-manylinux_2_17_aarch64.whl
Size 8.8 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
0d13a6776995123e76f92b174a6d66d27f67a9413916b6871d74b3ec628bc52c
BLAKE2b-256 checksum
How to use checksums
70a53b1d586c57e647a71a98cd5897c3a76db158a1ed9e875138423d35128206
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Security for firebird-embedded 5.0.4.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

5.0.4.4 This release

6 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page