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. 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.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| firebird_embedded-5.0.4.3-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| firebird_embedded-5.0.4.3-py3-none-win32.whl | Python 3 | none | Windows x86-32 | Details |
| firebird_embedded-5.0.4.3-py3-none-manylinux_2_26_i686.whl | Python 3 | none | Linux glibc 2.26+ x86-32 | Details |
| firebird_embedded-5.0.4.3-py3-none-manylinux_2_17_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| firebird_embedded-5.0.4.3-py3-none-manylinux_2_17_armv7l.whl | Python 3 | none | Linux glibc 2.17+ ARMv7l | Details |
| firebird_embedded-5.0.4.3-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.3-py3-none-win_amd64.whl
| Download URL | firebird_embedded-5.0.4.3-py3-none-win_amd64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7db71f71b548ceb8cc5f2d745803850ecbacaf64a778952b8414c6b83e12f805
|
|
BLAKE2b-256 checksum How to use checksums |
b3c6540b3edd4f7e59deb681309b0dd882da5b410f341ce6cf9fbc150751d985
|
| 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.3-py3-none-win32.whl
| Download URL | firebird_embedded-5.0.4.3-py3-none-win32.whl |
|---|---|
| Size | 18.0 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
aec8d312a06032dfb5374ee83d699444ddaed29dcc9ff91a8fca49bc7770f798
|
|
BLAKE2b-256 checksum How to use checksums |
8db285f4e2ce475b795b88b3dd6191f66fa5cc92bd73ba99f51e0912775a9d57
|
| 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.3-py3-none-manylinux_2_26_i686.whl
| Download URL | firebird_embedded-5.0.4.3-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 |
191d0ab44ff704e9ca23503d5c2301e1767cfba87df5f9d47284a20e65159c57
|
|
BLAKE2b-256 checksum How to use checksums |
0ee67270c78baf1e7640aa1f8968f8250d95c1e126d112b38e1492f37bc133ed
|
| 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.3-py3-none-manylinux_2_17_x86_64.whl
| Download URL | firebird_embedded-5.0.4.3-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 |
8fb71fda47247c96fb1fb3db5a86de249453ff480f75c23b6a95d9bc00740b6c
|
|
BLAKE2b-256 checksum How to use checksums |
4fec1d86964b621d424e74fe15355d4ac482b4302e9e9cde758faefad62a9bd8
|
| 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.3-py3-none-manylinux_2_17_armv7l.whl
| Download URL | firebird_embedded-5.0.4.3-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 |
36f9c35323ccf2f81209e3ad541a7b733dfec15f4d385ae26a17d7078b658794
|
|
BLAKE2b-256 checksum How to use checksums |
0c023d488c5bcd0fdd70703e2c4056f59ab531488275444883b481b11d2c4d0c
|
| 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.3-py3-none-manylinux_2_17_aarch64.whl
| Download URL | firebird_embedded-5.0.4.3-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 |
a96531f5881a5c55938466d36e21c50f82329d90b1fe1d70c038de5ce912a1cd
|
|
BLAKE2b-256 checksum How to use checksums |
af6de7defb301189566c5c0ca034020cee38cb33b9f8668f8dc63f6bc9b80e49
|
| 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.3
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.